MCPcopy Create free account
hub / github.com/KLayout/klayout / cv_transform_variants_by_layer

Method cv_transform_variants_by_layer

src/laybasic/laybasic/layLayoutViewBase.cc:6196–6217  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6194}
6195
6196std::map<unsigned int, std::vector<db::DCplxTrans> >
6197LayoutViewBase::cv_transform_variants_by_layer (int cv_index) const
6198{
6199 std::map<unsigned int, std::vector<db::DCplxTrans> > tv_map;
6200
6201 for (lay::LayerPropertiesConstIterator l = begin_layers (); !l.at_end (); ++l) {
6202 if (! l->has_children () && l->layer_index () >= 0) {
6203 int cvi = l->cellview_index () >= 0 ? l->cellview_index () : 0;
6204 if (cv_index < int (cellviews ()) && cvi == cv_index) {
6205 std::vector<db::DCplxTrans> &v = tv_map.insert (std::make_pair (l->layer_index (), std::vector<db::DCplxTrans> ())).first->second;
6206 v.insert (v.end (), l->trans ().begin (), l->trans ().end ());
6207 }
6208 }
6209 }
6210
6211 for (std::map<unsigned int, std::vector<db::DCplxTrans> >::iterator m = tv_map.begin (); m != tv_map.end (); ++m) {
6212 std::sort (m->second.begin (), m->second.end ());
6213 m->second.erase (std::unique (m->second.begin (), m->second.end ()), m->second.end ());
6214 }
6215
6216 return tv_map;
6217}
6218
6219std::set< std::pair<db::DCplxTrans, int> >
6220LayoutViewBase::cv_transform_variants () const

Callers 3

adjust_viewMethod · 0.80
update_highlightsMethod · 0.80

Calls 11

cellviewsFunction · 0.85
sortFunction · 0.85
layer_indexMethod · 0.80
begin_layersFunction · 0.70
at_endMethod · 0.45
has_childrenMethod · 0.45
insertMethod · 0.45
endMethod · 0.45
beginMethod · 0.45
transMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected