mirror of https://github.com/KLayout/klayout.git
Merge remote-tracking branch 'origin/windows-compat' into dvb
This commit is contained in:
commit
5daf34ed76
|
|
@ -665,19 +665,16 @@ AsIfFlatRegion::snapped (db::Coord gx, db::Coord gy)
|
|||
return new_region.release ();
|
||||
}
|
||||
|
||||
namespace
|
||||
/**
|
||||
* @brief A helper class to implement the strange polygon detector
|
||||
*/
|
||||
struct DB_PUBLIC StrangePolygonInsideFunc
|
||||
{
|
||||
/**
|
||||
* @brief A helper class to implement the strange polygon detector
|
||||
*/
|
||||
struct DB_PUBLIC StrangePolygonInsideFunc
|
||||
inline bool operator() (int wc) const
|
||||
{
|
||||
inline bool operator() (int wc) const
|
||||
{
|
||||
return wc < 0 || wc > 1;
|
||||
}
|
||||
};
|
||||
}
|
||||
return wc < 0 || wc > 1;
|
||||
}
|
||||
};
|
||||
|
||||
RegionDelegate *
|
||||
AsIfFlatRegion::strange_polygon_check () const
|
||||
|
|
|
|||
|
|
@ -34,63 +34,59 @@
|
|||
namespace db
|
||||
{
|
||||
|
||||
namespace
|
||||
/**
|
||||
* @brief An iterator delegate for the deep region
|
||||
* TODO: this is kind of redundant with OriginalLayerIterator ..
|
||||
*/
|
||||
class DB_PUBLIC DeepRegionIterator
|
||||
: public RegionIteratorDelegate
|
||||
{
|
||||
/**
|
||||
* @brief An iterator delegate for the deep region
|
||||
* TODO: this is kind of redundant with OriginalLayerIterator ..
|
||||
*/
|
||||
class DB_PUBLIC DeepRegionIterator
|
||||
: public RegionIteratorDelegate
|
||||
public:
|
||||
typedef db::Polygon value_type;
|
||||
|
||||
DeepRegionIterator (const db::RecursiveShapeIterator &iter)
|
||||
: m_iter (iter)
|
||||
{
|
||||
public:
|
||||
typedef db::Polygon value_type;
|
||||
set ();
|
||||
}
|
||||
|
||||
DeepRegionIterator (const db::RecursiveShapeIterator &iter)
|
||||
: m_iter (iter)
|
||||
{
|
||||
set ();
|
||||
virtual ~DeepRegionIterator () { }
|
||||
|
||||
virtual bool at_end () const
|
||||
{
|
||||
return m_iter.at_end ();
|
||||
}
|
||||
|
||||
virtual void increment ()
|
||||
{
|
||||
++m_iter;
|
||||
set ();
|
||||
}
|
||||
|
||||
virtual const value_type *get () const
|
||||
{
|
||||
return &m_polygon;
|
||||
}
|
||||
|
||||
virtual RegionIteratorDelegate *clone () const
|
||||
{
|
||||
return new DeepRegionIterator (*this);
|
||||
}
|
||||
|
||||
private:
|
||||
friend class Region;
|
||||
|
||||
db::RecursiveShapeIterator m_iter;
|
||||
mutable value_type m_polygon;
|
||||
|
||||
void set () const
|
||||
{
|
||||
if (! m_iter.at_end ()) {
|
||||
m_iter.shape ().polygon (m_polygon);
|
||||
m_polygon.transform (m_iter.trans (), false);
|
||||
}
|
||||
|
||||
virtual ~DeepRegionIterator () { }
|
||||
|
||||
virtual bool at_end () const
|
||||
{
|
||||
return m_iter.at_end ();
|
||||
}
|
||||
|
||||
virtual void increment ()
|
||||
{
|
||||
++m_iter;
|
||||
set ();
|
||||
}
|
||||
|
||||
virtual const value_type *get () const
|
||||
{
|
||||
return &m_polygon;
|
||||
}
|
||||
|
||||
virtual RegionIteratorDelegate *clone () const
|
||||
{
|
||||
return new DeepRegionIterator (*this);
|
||||
}
|
||||
|
||||
private:
|
||||
friend class Region;
|
||||
|
||||
db::RecursiveShapeIterator m_iter;
|
||||
mutable value_type m_polygon;
|
||||
|
||||
void set () const
|
||||
{
|
||||
if (! m_iter.at_end ()) {
|
||||
m_iter.shape ().polygon (m_polygon);
|
||||
m_polygon.transform (m_iter.trans (), false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------
|
||||
// DeepRegion implementation
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ void EdgePairs::insert (const Sh &shape)
|
|||
flat_edge_pairs ()->insert (shape);
|
||||
}
|
||||
|
||||
template void EdgePairs::insert (const db::EdgePair &);
|
||||
template DB_PUBLIC void EdgePairs::insert (const db::EdgePair &);
|
||||
|
||||
void EdgePairs::insert (const db::Shape &shape)
|
||||
{
|
||||
|
|
@ -98,9 +98,9 @@ void EdgePairs::insert (const db::Shape &shape, const T &trans)
|
|||
flat_edge_pairs ()->insert (shape, trans);
|
||||
}
|
||||
|
||||
template void EdgePairs::insert (const db::Shape &, const db::ICplxTrans &);
|
||||
template void EdgePairs::insert (const db::Shape &, const db::Trans &);
|
||||
template void EdgePairs::insert (const db::Shape &, const db::Disp &);
|
||||
template DB_PUBLIC void EdgePairs::insert (const db::Shape &, const db::ICplxTrans &);
|
||||
template DB_PUBLIC void EdgePairs::insert (const db::Shape &, const db::Trans &);
|
||||
template DB_PUBLIC void EdgePairs::insert (const db::Shape &, const db::Disp &);
|
||||
|
||||
void EdgePairs::clear ()
|
||||
{
|
||||
|
|
@ -120,9 +120,9 @@ EdgePairs &EdgePairs::transform (const T &trans)
|
|||
}
|
||||
|
||||
// explicit instantiations
|
||||
template EdgePairs &EdgePairs::transform (const db::ICplxTrans &);
|
||||
template EdgePairs &EdgePairs::transform (const db::Trans &);
|
||||
template EdgePairs &EdgePairs::transform (const db::Disp &);
|
||||
template DB_PUBLIC EdgePairs &EdgePairs::transform (const db::ICplxTrans &);
|
||||
template DB_PUBLIC EdgePairs &EdgePairs::transform (const db::Trans &);
|
||||
template DB_PUBLIC EdgePairs &EdgePairs::transform (const db::Disp &);
|
||||
|
||||
const db::RecursiveShapeIterator &
|
||||
EdgePairs::iter () const
|
||||
|
|
|
|||
|
|
@ -133,9 +133,9 @@ Edges &Edges::transform (const T &trans)
|
|||
}
|
||||
|
||||
// explicit instantiations
|
||||
template Edges &Edges::transform (const db::ICplxTrans &);
|
||||
template Edges &Edges::transform (const db::Trans &);
|
||||
template Edges &Edges::transform (const db::Disp &);
|
||||
template DB_PUBLIC Edges &Edges::transform (const db::ICplxTrans &);
|
||||
template DB_PUBLIC Edges &Edges::transform (const db::Trans &);
|
||||
template DB_PUBLIC Edges &Edges::transform (const db::Disp &);
|
||||
|
||||
template <class Sh>
|
||||
void Edges::insert (const Sh &shape)
|
||||
|
|
@ -143,11 +143,11 @@ void Edges::insert (const Sh &shape)
|
|||
flat_edges ()->insert (shape);
|
||||
}
|
||||
|
||||
template void Edges::insert (const db::Box &);
|
||||
template void Edges::insert (const db::SimplePolygon &);
|
||||
template void Edges::insert (const db::Polygon &);
|
||||
template void Edges::insert (const db::Path &);
|
||||
template void Edges::insert (const db::Edge &);
|
||||
template DB_PUBLIC void Edges::insert (const db::Box &);
|
||||
template DB_PUBLIC void Edges::insert (const db::SimplePolygon &);
|
||||
template DB_PUBLIC void Edges::insert (const db::Polygon &);
|
||||
template DB_PUBLIC void Edges::insert (const db::Path &);
|
||||
template DB_PUBLIC void Edges::insert (const db::Edge &);
|
||||
|
||||
void Edges::insert (const db::Shape &shape)
|
||||
{
|
||||
|
|
@ -160,9 +160,9 @@ void Edges::insert (const db::Shape &shape, const T &trans)
|
|||
flat_edges ()->insert (shape, trans);
|
||||
}
|
||||
|
||||
template void Edges::insert (const db::Shape &, const db::ICplxTrans &);
|
||||
template void Edges::insert (const db::Shape &, const db::Trans &);
|
||||
template void Edges::insert (const db::Shape &, const db::Disp &);
|
||||
template DB_PUBLIC void Edges::insert (const db::Shape &, const db::ICplxTrans &);
|
||||
template DB_PUBLIC void Edges::insert (const db::Shape &, const db::Trans &);
|
||||
template DB_PUBLIC void Edges::insert (const db::Shape &, const db::Disp &);
|
||||
|
||||
FlatEdges *
|
||||
Edges::flat_edges ()
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ local_cluster<T>::ensure_sorted ()
|
|||
}
|
||||
|
||||
template <class T>
|
||||
struct DB_PUBLIC hnp_interaction_receiver
|
||||
class DB_PUBLIC hnp_interaction_receiver
|
||||
: public box_scanner_receiver2<T, unsigned int, T, unsigned int>
|
||||
{
|
||||
public:
|
||||
|
|
@ -829,7 +829,7 @@ local_clusters<T>::build_clusters (const db::Cell &cell, db::ShapeIterator::flag
|
|||
for (db::Connectivity::layer_iterator l = conn.begin_layers (); l != conn.end_layers (); ++l) {
|
||||
const db::Shapes &shapes = cell.shapes (*l);
|
||||
for (db::Shapes::shape_iterator s = shapes.begin (shape_flags); ! s.at_end (); ++s) {
|
||||
bs.insert (s->basic_ptr (object_tag), std::make_pair (*l, (attr_id) s->prop_id ()));
|
||||
bs.insert (s->basic_ptr (object_tag), std::make_pair (*l, (unsigned int) s->prop_id ()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -841,6 +841,27 @@ local_clusters<T>::build_clusters (const db::Cell &cell, db::ShapeIterator::flag
|
|||
// explicit instantiations
|
||||
template class DB_PUBLIC local_clusters<db::PolygonRef>;
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// connected_clusters_iterator implementation
|
||||
|
||||
template <class T>
|
||||
connected_clusters_iterator<T>::connected_clusters_iterator (const connected_clusters<T> &c)
|
||||
: m_lc_iter (c.begin ())
|
||||
{
|
||||
size_t max_id = 0;
|
||||
for (typename connected_clusters<T>::const_iterator i = c.begin (); i != c.end (); ++i) {
|
||||
if (i->id () > max_id) {
|
||||
max_id = i->id ();
|
||||
}
|
||||
}
|
||||
|
||||
m_x_iter = c.m_connections.lower_bound (max_id + 1);
|
||||
m_x_iter_end = c.m_connections.end ();
|
||||
}
|
||||
|
||||
// explicit instantiations
|
||||
template class DB_PUBLIC connected_clusters_iterator<db::PolygonRef>;
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// connected_clusters implementation
|
||||
|
||||
|
|
|
|||
|
|
@ -718,21 +718,6 @@ private:
|
|||
std::set<id_type> m_connected_clusters;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
connected_clusters_iterator<T>::connected_clusters_iterator (const connected_clusters<T> &c)
|
||||
: m_lc_iter (c.begin ())
|
||||
{
|
||||
size_t max_id = 0;
|
||||
for (typename connected_clusters<T>::const_iterator i = c.begin (); i != c.end (); ++i) {
|
||||
if (i->id () > max_id) {
|
||||
max_id = i->id ();
|
||||
}
|
||||
}
|
||||
|
||||
m_x_iter = c.m_connections.lower_bound (max_id + 1);
|
||||
m_x_iter_end = c.m_connections.end ();
|
||||
}
|
||||
|
||||
template <typename> class cell_clusters_box_converter;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -27,89 +27,47 @@ namespace db
|
|||
|
||||
namespace l2n_std_format
|
||||
{
|
||||
static const std::string long_version_key ("version");
|
||||
static const std::string long_description_key ("description");
|
||||
static const std::string long_top_key ("top");
|
||||
static const std::string long_unit_key ("unit");
|
||||
static const std::string long_layer_key ("layer");
|
||||
static const std::string long_connect_key ("connect");
|
||||
static const std::string long_global_key ("global");
|
||||
static const std::string long_circuit_key ("circuit");
|
||||
static const std::string long_net_key ("net");
|
||||
static const std::string long_device_key ("device");
|
||||
static const std::string long_polygon_key ("polygon");
|
||||
static const std::string long_rect_key ("rect");
|
||||
static const std::string long_terminal_key ("terminal");
|
||||
static const std::string long_abstract_key ("abstract");
|
||||
static const std::string long_param_key ("param");
|
||||
static const std::string long_location_key ("location");
|
||||
static const std::string long_rotation_key ("rotation");
|
||||
static const std::string long_mirror_key ("mirror");
|
||||
static const std::string long_scale_key ("scale");
|
||||
static const std::string long_pin_key ("pin");
|
||||
template<> DB_PUBLIC const std::string keys<false>::version_key ("version");
|
||||
template<> DB_PUBLIC const std::string keys<false>::description_key ("description");
|
||||
template<> DB_PUBLIC const std::string keys<false>::top_key ("top");
|
||||
template<> DB_PUBLIC const std::string keys<false>::unit_key ("unit");
|
||||
template<> DB_PUBLIC const std::string keys<false>::layer_key ("layer");
|
||||
template<> DB_PUBLIC const std::string keys<false>::connect_key ("connect");
|
||||
template<> DB_PUBLIC const std::string keys<false>::global_key ("global");
|
||||
template<> DB_PUBLIC const std::string keys<false>::circuit_key ("circuit");
|
||||
template<> DB_PUBLIC const std::string keys<false>::net_key ("net");
|
||||
template<> DB_PUBLIC const std::string keys<false>::device_key ("device");
|
||||
template<> DB_PUBLIC const std::string keys<false>::polygon_key ("polygon");
|
||||
template<> DB_PUBLIC const std::string keys<false>::rect_key ("rect");
|
||||
template<> DB_PUBLIC const std::string keys<false>::terminal_key ("terminal");
|
||||
template<> DB_PUBLIC const std::string keys<false>::abstract_key ("abstract");
|
||||
template<> DB_PUBLIC const std::string keys<false>::param_key ("param");
|
||||
template<> DB_PUBLIC const std::string keys<false>::location_key ("location");
|
||||
template<> DB_PUBLIC const std::string keys<false>::rotation_key ("rotation");
|
||||
template<> DB_PUBLIC const std::string keys<false>::mirror_key ("mirror");
|
||||
template<> DB_PUBLIC const std::string keys<false>::scale_key ("scale");
|
||||
template<> DB_PUBLIC const std::string keys<false>::pin_key ("pin");
|
||||
|
||||
static const std::string short_version_key ("V");
|
||||
static const std::string short_description_key ("B");
|
||||
static const std::string short_top_key ("W");
|
||||
static const std::string short_unit_key ("U");
|
||||
static const std::string short_layer_key ("L");
|
||||
static const std::string short_connect_key ("C");
|
||||
static const std::string short_global_key ("G");
|
||||
static const std::string short_circuit_key ("X");
|
||||
static const std::string short_net_key ("N");
|
||||
static const std::string short_device_key ("D");
|
||||
static const std::string short_polygon_key ("Q");
|
||||
static const std::string short_rect_key ("R");
|
||||
static const std::string short_terminal_key ("T");
|
||||
static const std::string short_abstract_key ("A");
|
||||
static const std::string short_param_key ("E");
|
||||
static const std::string short_location_key ("Y");
|
||||
static const std::string short_rotation_key ("O");
|
||||
static const std::string short_mirror_key ("M");
|
||||
static const std::string short_scale_key ("S");
|
||||
static const std::string short_pin_key ("P");
|
||||
|
||||
template<> const std::string &keys<false>::version_key = long_version_key;
|
||||
template<> const std::string &keys<false>::description_key = long_description_key;
|
||||
template<> const std::string &keys<false>::top_key = long_top_key;
|
||||
template<> const std::string &keys<false>::unit_key = long_unit_key;
|
||||
template<> const std::string &keys<false>::layer_key = long_layer_key;
|
||||
template<> const std::string &keys<false>::connect_key = long_connect_key;
|
||||
template<> const std::string &keys<false>::global_key = long_global_key;
|
||||
template<> const std::string &keys<false>::circuit_key = long_circuit_key;
|
||||
template<> const std::string &keys<false>::net_key = long_net_key;
|
||||
template<> const std::string &keys<false>::device_key = long_device_key;
|
||||
template<> const std::string &keys<false>::polygon_key = long_polygon_key;
|
||||
template<> const std::string &keys<false>::rect_key = long_rect_key;
|
||||
template<> const std::string &keys<false>::terminal_key = long_terminal_key;
|
||||
template<> const std::string &keys<false>::abstract_key = long_abstract_key;
|
||||
template<> const std::string &keys<false>::param_key = long_param_key;
|
||||
template<> const std::string &keys<false>::location_key = long_location_key;
|
||||
template<> const std::string &keys<false>::rotation_key = long_rotation_key;
|
||||
template<> const std::string &keys<false>::mirror_key = long_mirror_key;
|
||||
template<> const std::string &keys<false>::scale_key = long_scale_key;
|
||||
template<> const std::string &keys<false>::pin_key = long_pin_key;
|
||||
|
||||
template<> const std::string &keys<true>::version_key = short_version_key;
|
||||
template<> const std::string &keys<true>::description_key = short_description_key;
|
||||
template<> const std::string &keys<true>::top_key = short_top_key;
|
||||
template<> const std::string &keys<true>::unit_key = short_unit_key;
|
||||
template<> const std::string &keys<true>::layer_key = short_layer_key;
|
||||
template<> const std::string &keys<true>::connect_key = short_connect_key;
|
||||
template<> const std::string &keys<true>::global_key = short_global_key;
|
||||
template<> const std::string &keys<true>::circuit_key = short_circuit_key;
|
||||
template<> const std::string &keys<true>::net_key = short_net_key;
|
||||
template<> const std::string &keys<true>::device_key = short_device_key;
|
||||
template<> const std::string &keys<true>::polygon_key = short_polygon_key;
|
||||
template<> const std::string &keys<true>::rect_key = short_rect_key;
|
||||
template<> const std::string &keys<true>::terminal_key = short_terminal_key;
|
||||
template<> const std::string &keys<true>::abstract_key = short_abstract_key;
|
||||
template<> const std::string &keys<true>::param_key = short_param_key;
|
||||
template<> const std::string &keys<true>::location_key = short_location_key;
|
||||
template<> const std::string &keys<true>::rotation_key = short_rotation_key;
|
||||
template<> const std::string &keys<true>::mirror_key = short_mirror_key;
|
||||
template<> const std::string &keys<true>::scale_key = short_scale_key;
|
||||
template<> const std::string &keys<true>::pin_key = short_pin_key;
|
||||
template<> DB_PUBLIC const std::string keys<true>::version_key ("V");
|
||||
template<> DB_PUBLIC const std::string keys<true>::description_key ("B");
|
||||
template<> DB_PUBLIC const std::string keys<true>::top_key ("W");
|
||||
template<> DB_PUBLIC const std::string keys<true>::unit_key ("U");
|
||||
template<> DB_PUBLIC const std::string keys<true>::layer_key ("L");
|
||||
template<> DB_PUBLIC const std::string keys<true>::connect_key ("C");
|
||||
template<> DB_PUBLIC const std::string keys<true>::global_key ("G");
|
||||
template<> DB_PUBLIC const std::string keys<true>::circuit_key ("X");
|
||||
template<> DB_PUBLIC const std::string keys<true>::net_key ("N");
|
||||
template<> DB_PUBLIC const std::string keys<true>::device_key ("D");
|
||||
template<> DB_PUBLIC const std::string keys<true>::polygon_key ("Q");
|
||||
template<> DB_PUBLIC const std::string keys<true>::rect_key ("R");
|
||||
template<> DB_PUBLIC const std::string keys<true>::terminal_key ("T");
|
||||
template<> DB_PUBLIC const std::string keys<true>::abstract_key ("A");
|
||||
template<> DB_PUBLIC const std::string keys<true>::param_key ("E");
|
||||
template<> DB_PUBLIC const std::string keys<true>::location_key ("Y");
|
||||
template<> DB_PUBLIC const std::string keys<true>::rotation_key ("O");
|
||||
template<> DB_PUBLIC const std::string keys<true>::mirror_key ("M");
|
||||
template<> DB_PUBLIC const std::string keys<true>::scale_key ("S");
|
||||
template<> DB_PUBLIC const std::string keys<true>::pin_key ("P");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,29 +103,29 @@ namespace l2n_std_format
|
|||
template <bool Short>
|
||||
struct DB_PUBLIC keys
|
||||
{
|
||||
static const std::string &version_key,
|
||||
&description_key,
|
||||
&top_key,
|
||||
&unit_key,
|
||||
&layer_key,
|
||||
&connect_key,
|
||||
&global_key,
|
||||
&circuit_key,
|
||||
&net_key,
|
||||
&device_key,
|
||||
&subcircuit_key,
|
||||
&polygon_key,
|
||||
&rect_key,
|
||||
&terminal_key,
|
||||
&abstract_key,
|
||||
¶m_key,
|
||||
&location_key,
|
||||
&rotation_key,
|
||||
&mirror_key,
|
||||
&scale_key,
|
||||
&pin_key,
|
||||
&indent1,
|
||||
&indent2;
|
||||
static const std::string version_key;
|
||||
static const std::string description_key;
|
||||
static const std::string top_key;
|
||||
static const std::string unit_key;
|
||||
static const std::string layer_key;
|
||||
static const std::string connect_key;
|
||||
static const std::string global_key;
|
||||
static const std::string circuit_key;
|
||||
static const std::string net_key;
|
||||
static const std::string device_key;
|
||||
static const std::string subcircuit_key;
|
||||
static const std::string polygon_key;
|
||||
static const std::string rect_key;
|
||||
static const std::string terminal_key;
|
||||
static const std::string abstract_key;
|
||||
static const std::string param_key;
|
||||
static const std::string location_key;
|
||||
static const std::string rotation_key;
|
||||
static const std::string mirror_key;
|
||||
static const std::string scale_key;
|
||||
static const std::string pin_key;
|
||||
static const std::string indent1;
|
||||
static const std::string indent2;
|
||||
|
||||
inline static bool is_short () { return Short; }
|
||||
};
|
||||
|
|
|
|||
|
|
@ -122,9 +122,9 @@ Region &Region::transform (const T &trans)
|
|||
}
|
||||
|
||||
// explicit instantiations
|
||||
template Region &Region::transform (const db::ICplxTrans &);
|
||||
template Region &Region::transform (const db::Trans &);
|
||||
template Region &Region::transform (const db::Disp &);
|
||||
template DB_PUBLIC Region &Region::transform (const db::ICplxTrans &);
|
||||
template DB_PUBLIC Region &Region::transform (const db::Trans &);
|
||||
template DB_PUBLIC Region &Region::transform (const db::Disp &);
|
||||
|
||||
template <class Sh>
|
||||
void Region::insert (const Sh &shape)
|
||||
|
|
@ -132,10 +132,10 @@ void Region::insert (const Sh &shape)
|
|||
flat_region ()->insert (shape);
|
||||
}
|
||||
|
||||
template void Region::insert (const db::Box &);
|
||||
template void Region::insert (const db::SimplePolygon &);
|
||||
template void Region::insert (const db::Polygon &);
|
||||
template void Region::insert (const db::Path &);
|
||||
template DB_PUBLIC void Region::insert (const db::Box &);
|
||||
template DB_PUBLIC void Region::insert (const db::SimplePolygon &);
|
||||
template DB_PUBLIC void Region::insert (const db::Polygon &);
|
||||
template DB_PUBLIC void Region::insert (const db::Path &);
|
||||
|
||||
void Region::insert (const db::Shape &shape)
|
||||
{
|
||||
|
|
@ -148,9 +148,9 @@ void Region::insert (const db::Shape &shape, const T &trans)
|
|||
flat_region ()->insert (shape, trans);
|
||||
}
|
||||
|
||||
template void Region::insert (const db::Shape &, const db::ICplxTrans &);
|
||||
template void Region::insert (const db::Shape &, const db::Trans &);
|
||||
template void Region::insert (const db::Shape &, const db::Disp &);
|
||||
template DB_PUBLIC void Region::insert (const db::Shape &, const db::ICplxTrans &);
|
||||
template DB_PUBLIC void Region::insert (const db::Shape &, const db::Trans &);
|
||||
template DB_PUBLIC void Region::insert (const db::Shape &, const db::Disp &);
|
||||
|
||||
FlatRegion *
|
||||
Region::flat_region ()
|
||||
|
|
|
|||
Loading…
Reference in New Issue