mirror of https://github.com/KLayout/klayout.git
Merge branch 'master' of github.com:KLayout/klayout
This commit is contained in:
commit
369872b1bb
|
|
@ -470,6 +470,7 @@ script:
|
|||
python testdata/pymod/import_db.py;
|
||||
python testdata/pymod/import_rdb.py;
|
||||
python testdata/pymod/import_tl.py;
|
||||
python testdata/pymod/import_lib.py;
|
||||
python testdata/pymod/pya_tests.py;
|
||||
fi
|
||||
fi
|
||||
|
|
@ -480,6 +481,7 @@ script:
|
|||
python testdata/pymod/import_db.py;
|
||||
python testdata/pymod/import_rdb.py;
|
||||
python testdata/pymod/import_tl.py;
|
||||
python testdata/pymod/import_lib.py;
|
||||
python testdata/pymod/pya_tests.py;
|
||||
klayout_version=$(python -c 'import setup; print(setup.Config().version())');
|
||||
mkdir -p deploy/dist-pymod/$klayout_version;
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ jobs:
|
|||
python testdata/pymod/import_db.py
|
||||
python testdata/pymod/import_rdb.py
|
||||
python testdata/pymod/import_tl.py
|
||||
python testdata/pymod/import_lib.py
|
||||
python testdata/pymod/pya_tests.py
|
||||
displayName: 'Test KLayout pymod'
|
||||
|
||||
|
|
|
|||
33
setup.py
33
setup.py
|
|
@ -403,6 +403,22 @@ _db = Library(config.root + '._db',
|
|||
sources=list(_db_sources))
|
||||
config.add_extension(_db)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# _lib dependency library
|
||||
|
||||
_lib_path = os.path.join("src", "lib", "lib")
|
||||
_lib_sources = set(glob.glob(os.path.join(_lib_path, "*.cc")))
|
||||
|
||||
_lib = Library(config.root + '._lib',
|
||||
define_macros=config.macros() + [('MAKE_LIB_LIBRARY', 1)],
|
||||
include_dirs=[_tl_path, _gsi_path, _db_path, _lib_path],
|
||||
extra_objects=[config.path_of('_tl', _tl_path), config.path_of('_gsi', _gsi_path), config.path_of('_db', _db_path)],
|
||||
language='c++',
|
||||
extra_link_args=config.link_args('_lib'),
|
||||
extra_compile_args=config.compile_args('_lib'),
|
||||
sources=list(_lib_sources))
|
||||
config.add_extension(_lib)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# _rdb dependency library
|
||||
|
||||
|
|
@ -472,6 +488,19 @@ db = Extension(config.root + '.dbcore',
|
|||
extra_link_args=config.link_args('dbcore'),
|
||||
sources=list(db_sources))
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# lib extension library
|
||||
|
||||
lib_path = os.path.join("src", "pymod", "lib")
|
||||
lib_sources = set(glob.glob(os.path.join(lib_path, "*.cc")))
|
||||
|
||||
lib = Extension(config.root + '.libcore',
|
||||
define_macros=config.macros(),
|
||||
include_dirs=[_lib_path, _tl_path, _gsi_path, _pya_path],
|
||||
extra_objects=[config.path_of('_lib', _lib_path), config.path_of('_tl', _tl_path), config.path_of('_gsi', _gsi_path), config.path_of('_pya', _pya_path)],
|
||||
extra_link_args=config.link_args('libcore'),
|
||||
sources=list(lib_sources))
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# rdb extension library
|
||||
|
||||
|
|
@ -481,7 +510,7 @@ rdb_sources = set(glob.glob(os.path.join(rdb_path, "*.cc")))
|
|||
rdb = Extension(config.root + '.rdbcore',
|
||||
define_macros=config.macros(),
|
||||
|
||||
include_dirs=[_rdb_path, _db_path, _tl_path, _gsi_path, _pya_path],
|
||||
include_dirs=[_rdb_path, _tl_path, _gsi_path, _pya_path],
|
||||
extra_objects=[config.path_of('_rdb', _rdb_path), config.path_of('_tl', _tl_path), config.path_of('_gsi', _gsi_path), config.path_of('_pya', _pya_path)],
|
||||
extra_link_args=config.link_args('rdbcore'),
|
||||
sources=list(rdb_sources))
|
||||
|
|
@ -511,4 +540,4 @@ if __name__ == '__main__':
|
|||
url='https://github.com/klayoutmatthias/klayout',
|
||||
packages=find_packages('src/pymod/distutils_src'),
|
||||
package_dir={'': 'src/pymod/distutils_src'}, # https://github.com/pypa/setuptools/issues/230
|
||||
ext_modules=[_tl, _gsi, _pya, _db, _rdb] + db_plugins + [tl, db, rdb])
|
||||
ext_modules=[_tl, _gsi, _pya, _db, _lib, _rdb] + db_plugins + [tl, db, lib, rdb])
|
||||
|
|
|
|||
|
|
@ -960,7 +960,7 @@ private:
|
|||
*
|
||||
* Whenever the cluster receiver gets noticed of an interaction, it will
|
||||
* create new clusters or extend or join existing clusters. When a cluster
|
||||
* is finished, it's finish method is called. That allows to take any
|
||||
* is finished, it's finish method is called. That allows one to take some
|
||||
* final actions on the cluster.
|
||||
*/
|
||||
template <class Obj, class Prop, class Cluster>
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ public:
|
|||
/**
|
||||
* @brief Return the const shapes list of the given layer
|
||||
*
|
||||
* This method allows to access the shapes list on a certain layer.
|
||||
* This method allows one to access the shapes list on a certain layer.
|
||||
* If the layer does not exist yet, a reference to an empty list is
|
||||
* returned.
|
||||
*
|
||||
|
|
@ -139,7 +139,7 @@ public:
|
|||
/**
|
||||
* @brief Return the shapes list of the given layer
|
||||
*
|
||||
* This method allows to access the shapes list on a certain layer.
|
||||
* This method allows one to access the shapes list on a certain layer.
|
||||
* If the layer does not exist yet, it is created.
|
||||
*
|
||||
* @param index The layer index of the shapes list to retrieve
|
||||
|
|
@ -601,7 +601,7 @@ public:
|
|||
/**
|
||||
* @brief The parent instance list begin iterator
|
||||
*
|
||||
* The begin_parent_insts() allows to access to the parent instance list.
|
||||
* The begin_parent_insts() allows one to access to the parent instance list.
|
||||
*/
|
||||
parent_inst_iterator begin_parent_insts () const;
|
||||
|
||||
|
|
@ -725,7 +725,7 @@ public:
|
|||
* call this cell to the set given. It is assumed that the if the set contains a cell, it
|
||||
* will also contain all called cells, so it may act as a cache.
|
||||
*
|
||||
* This version allows to restrict the search to a cone of the hierarchy tree, that is
|
||||
* This version allows one to restrict the search to a cone of the hierarchy tree, that is
|
||||
* a set of cells which are collected from another call of "collect_called_cells" with another initial cell.
|
||||
*
|
||||
* @param callers The set of called cells (used as cache)
|
||||
|
|
@ -1007,7 +1007,7 @@ private:
|
|||
* @brief Sort the child instance list
|
||||
*
|
||||
* The child instances are first sorted by cell index, then by raw transformation
|
||||
* (excluding displacement). This allows to simplify the bbox computation by
|
||||
* (excluding displacement). This allows one to simplify the bbox computation by
|
||||
* convolution of the displacements bboxes with the object bboxes.
|
||||
*/
|
||||
void sort_child_insts ();
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public:
|
|||
/**
|
||||
* @brief Instantiate a counter object with a reference to the given cell graph
|
||||
*
|
||||
* This version allows to specify a initial (starting) cell where only the cell tree below the
|
||||
* This version allows one to specify a initial (starting) cell where only the cell tree below the
|
||||
* staring cell is considered. Multiplicity refers to the number of instances below the
|
||||
* initial cell.
|
||||
*/
|
||||
|
|
@ -159,7 +159,7 @@ public:
|
|||
/**
|
||||
* @brief Instantiate a counter object with a reference to the given cell graph
|
||||
*
|
||||
* This version allows to specify a initial (starting) cell where only the cell tree below the
|
||||
* This version allows one to specify a initial (starting) cell where only the cell tree below the
|
||||
* staring cell is considered. Multiplicity refers to the number of instances below the
|
||||
* initial cell.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public:
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief The dtor is virtual to allow to exploit RTTI
|
||||
* @brief The dtor is virtual to exploit RTTI
|
||||
*/
|
||||
virtual ~ClipboardObject ()
|
||||
{
|
||||
|
|
@ -114,7 +114,7 @@ private:
|
|||
/**
|
||||
* @brief The clipboard class
|
||||
*
|
||||
* The clipboard allows to store objects from the ClipboardObject
|
||||
* The clipboard allows one to store objects from the ClipboardObject
|
||||
* class. These objects are owned by the clipboard class and must
|
||||
* be passed after have being newed to the += operator.
|
||||
* There is a static instance of the clipboard that should be used
|
||||
|
|
|
|||
|
|
@ -312,7 +312,7 @@ public:
|
|||
/**
|
||||
* @brief Constructor from a RecursiveShapeIterator
|
||||
*
|
||||
* Creates an edge pair set from a recursive shape iterator. This allows to feed an edge pair set
|
||||
* Creates an edge pair set from a recursive shape iterator. This allows one to feed an edge pair set
|
||||
* from a hierarchy of cells.
|
||||
*/
|
||||
explicit EdgePairs (const RecursiveShapeIterator &si);
|
||||
|
|
@ -320,7 +320,7 @@ public:
|
|||
/**
|
||||
* @brief Constructor from a RecursiveShapeIterator with a transformation
|
||||
*
|
||||
* Creates an edge pair set from a recursive shape iterator. This allows to feed an edge pair set
|
||||
* Creates an edge pair set from a recursive shape iterator. This allows one to feed an edge pair set
|
||||
* from a hierarchy of cells. The transformation is useful to scale to a specific
|
||||
* DBU for example.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -513,7 +513,7 @@ private:
|
|||
* @brief Boolean operations
|
||||
*
|
||||
* This class implements a boolean operation similar to BooleanOp, but
|
||||
* in addition it allows to specify the merge mode for the two inputs.
|
||||
* in addition it allows one to specify the merge mode for the two inputs.
|
||||
* See "SimpleMergeOp" for the definition of the merge modes.
|
||||
* This operator is especially useful to implement boolean operations
|
||||
* with sized polygons which required a >0 interpretation.
|
||||
|
|
@ -540,8 +540,8 @@ private:
|
|||
* @brief Merge operation
|
||||
*
|
||||
* This incarnation of the evaluator class implements a merge operation
|
||||
* which allows to distinguish polygons (through edge properties) and
|
||||
* allows to specify a overlap value. Default is 0 which means that the
|
||||
* which allows one to distinguish polygons (through edge properties) and
|
||||
* allows one to specify a overlap value. Default is 0 which means that the
|
||||
* merge is equivalent to producing all polygins. A overlap value of 1 means
|
||||
* that at least two polygons must overlap to produce a result.
|
||||
*/
|
||||
|
|
@ -695,7 +695,7 @@ public:
|
|||
* The other merge operation provided for this purpose is "merge" which normalizes each polygon individually before
|
||||
* merging them. "simple_merge" is somewhat faster and consumes less memory.
|
||||
*
|
||||
* This method produces polygons and allows to fine-tune the parameters for that purpose.
|
||||
* This method produces polygons and allows fine-tuning the parameters for that purpose.
|
||||
*
|
||||
* This is a convenience method that bundles filling of the edges, processing with
|
||||
* a SimpleMerge operator and puts the result into an output vector.
|
||||
|
|
@ -732,7 +732,7 @@ public:
|
|||
* The edges provided must form valid closed contours. Contours oriented differently "cancel" each other.
|
||||
* Overlapping contours are merged when the orientation is the same.
|
||||
*
|
||||
* This method produces polygons and allows to fine-tune the parameters for that purpose.
|
||||
* This method produces polygons and allows fine-tuning the parameters for that purpose.
|
||||
*
|
||||
* This is a convenience method that bundles filling of the edges, processing with
|
||||
* a SimpleMerge operator and puts the result into an output vector.
|
||||
|
|
@ -750,7 +750,7 @@ public:
|
|||
*
|
||||
* In contrast to "simple_merge", this merge implementation considers each polygon individually before merging them.
|
||||
* Thus self-overlaps are effectively removed before the output is computed and holes are correctly merged with the
|
||||
* hull. In addition, this method allows to select areas with a higher wrap count which allows to compute overlaps
|
||||
* hull. In addition, this method allows one to select areas with a higher wrap count which allows one to compute overlaps
|
||||
* of polygons on the same layer. Because this method merges the polygons before the overlap is computed, self-overlapping
|
||||
* polygons do not contribute to higher wrap count areas.
|
||||
*
|
||||
|
|
@ -771,11 +771,11 @@ public:
|
|||
*
|
||||
* In contrast to "simple_merge", this merge implementation considers each polygon individually before merging them.
|
||||
* Thus self-overlaps are effectively removed before the output is computed and holes are correctly merged with the
|
||||
* hull. In addition, this method allows to select areas with a higher wrap count which allows to compute overlaps
|
||||
* hull. In addition, this method allows one to select areas with a higher wrap count which allows one to compute overlaps
|
||||
* of polygons on the same layer. Because this method merges the polygons before the overlap is computed, self-overlapping
|
||||
* polygons do not contribute to higher wrap count areas.
|
||||
*
|
||||
* This method produces polygons and allows to fine-tune the parameters for that purpose.
|
||||
* This method produces polygons and allows one to fine-tune the parameters for that purpose.
|
||||
*
|
||||
* This is a convenience method that bundles filling of the edges, processing with
|
||||
* a Merge operator and puts the result into an output vector.
|
||||
|
|
@ -823,7 +823,7 @@ public:
|
|||
* The sizing applied can be chosen differently in x and y direction. In this case, the sign must be identical for both
|
||||
* dx and dy.
|
||||
*
|
||||
* This method produces polygons and allows to fine-tune the parameters for that purpose.
|
||||
* This method produces polygons and allows one to fine-tune the parameters for that purpose.
|
||||
*
|
||||
* This is a convenience method that bundles filling of the edges, processing with
|
||||
* a SimpleMerge operator and puts the result into an output vector.
|
||||
|
|
@ -891,7 +891,7 @@ public:
|
|||
* @brief Boolean operation for a set of given polygons, creating polygons
|
||||
*
|
||||
* This method computes the result for the given boolean operation on two sets of polygons.
|
||||
* This method produces polygons on output and allows to fine-tune the parameters for that purpose.
|
||||
* This method produces polygons on output and allows one to fine-tune the parameters for that purpose.
|
||||
*
|
||||
* This is a convenience method that bundles filling of the edges, processing with
|
||||
* a Boolean operator and puts the result into an output vector.
|
||||
|
|
@ -932,7 +932,7 @@ public:
|
|||
* The input edges must form closed contours where holes and hulls must be oriented differently.
|
||||
* The input edges are processed with a simple non-zero wrap count rule as a whole.
|
||||
*
|
||||
* This method produces polygons on output and allows to fine-tune the parameters for that purpose.
|
||||
* This method produces polygons on output and allows one to fine-tune the parameters for that purpose.
|
||||
*
|
||||
* This is a convenience method that bundles filling of the edges, processing with
|
||||
* a Boolean operator and puts the result into an output vector.
|
||||
|
|
|
|||
|
|
@ -332,7 +332,7 @@ public:
|
|||
/**
|
||||
* @brief Constructor from a RecursiveShapeIterator
|
||||
*
|
||||
* Creates an edge set from a recursive shape iterator. This allows to feed an edge set
|
||||
* Creates an edge set from a recursive shape iterator. This allows feeding an edge set
|
||||
* from a hierarchy of cells.
|
||||
*/
|
||||
explicit Edges (const RecursiveShapeIterator &si, bool as_edges = true);
|
||||
|
|
@ -340,7 +340,7 @@ public:
|
|||
/**
|
||||
* @brief Constructor from a RecursiveShapeIterator with a transformation
|
||||
*
|
||||
* Creates an edge set from a recursive shape iterator. This allows to feed an edge set
|
||||
* Creates an edge set from a recursive shape iterator. This allows feeding an edge set
|
||||
* from a hierarchy of cells. The transformation is useful to scale to a specific
|
||||
* DBU for example.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class PolygonSink;
|
|||
*
|
||||
* This filter has two parameters: lmin and lmax.
|
||||
* It will filter all edges for which the length is >= lmin and < lmax.
|
||||
* There is an "invert" flag which allows to select all edges not
|
||||
* There is an "invert" flag which allows selecting all edges not
|
||||
* matching the criterion.
|
||||
*/
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ private:
|
|||
* This filter has two parameters: amin and amax.
|
||||
* It will filter all edges for which the orientation angle is >= amin and < amax.
|
||||
* The orientation angle is measured in degree against the x axis in the mathematical sense.
|
||||
* There is an "invert" flag which allows to select all edges not
|
||||
* There is an "invert" flag which allows selecting all edges not
|
||||
* matching the criterion.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -1262,7 +1262,7 @@ private:
|
|||
* The generic iterators are used to access these
|
||||
*
|
||||
* Internally, the instance list uses a box tree which treats empty cells as single point boxes when a all-layer search is performed.
|
||||
* That allows to retrieve such instances with a search.
|
||||
* That allows retrieving such instances with a search.
|
||||
*/
|
||||
|
||||
class DB_PUBLIC Instances
|
||||
|
|
@ -1655,7 +1655,7 @@ public:
|
|||
/**
|
||||
* @brief The parent instance list begin iterator
|
||||
*
|
||||
* The begin_ParentInsts() allows to access to the parent instance list.
|
||||
* The begin_parent_insts() method gives access to the parent instance list.
|
||||
*/
|
||||
ParentInstIterator begin_parent_insts (const layout_type *g) const
|
||||
{
|
||||
|
|
|
|||
|
|
@ -512,7 +512,7 @@ public:
|
|||
Layout (db::Manager *manager = 0);
|
||||
|
||||
/**
|
||||
* @brief Standard constructor which allows to specify the editable mode
|
||||
* @brief Standard constructor which allows one to specify editable mode
|
||||
*/
|
||||
Layout (bool editable, db::Manager *manager = 0);
|
||||
|
||||
|
|
@ -1433,7 +1433,7 @@ public:
|
|||
* @brief Forces an update even if the layout is under construction
|
||||
*
|
||||
* This method behaves like "update" but forces and update even if the
|
||||
* "under_construction" state is active. This allows to do the update
|
||||
* "under_construction" state is active. This allows one to do the update
|
||||
* in certain stages without triggering the update automatically and
|
||||
* too frequently.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ bool DB_PUBLIC compare_layouts (const db::Layout &a, const db::Layout &b, unsign
|
|||
/**
|
||||
* @brief Compare two layouts using the specified top cells
|
||||
*
|
||||
* This function basically works like the previous one but allows to specify top cells which
|
||||
* This function basically works like the previous one but allows one to specify top cells which
|
||||
* are compared hierarchically.
|
||||
*/
|
||||
bool DB_PUBLIC compare_layouts (const db::Layout &a, db::cell_index_type top_a, const db::Layout &b, db::cell_index_type top_b, unsigned int flags, db::Coord tolerance, DifferenceReceiver &r);
|
||||
|
|
|
|||
|
|
@ -551,7 +551,7 @@ public:
|
|||
/**
|
||||
* @brief Increment the iterator: deliver the next state
|
||||
*
|
||||
* This method is equivalent to operator++, but it allows to specify
|
||||
* This method is equivalent to operator++, but it allows one to specify
|
||||
* a boolean parameter telling whether the operation requested shall be
|
||||
* skipped. This only applies to queries with an action like "delete" or "with".
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ public:
|
|||
/**
|
||||
* @brief Get the last queued db::Op object
|
||||
*
|
||||
* This method allows to fetch and modify the last queued operation for the given object in order
|
||||
* This method allows one to fetch and modify the last queued operation for the given object in order
|
||||
* to allow some optimisation, i.e. joining two ops. It can be modified but must not
|
||||
* be deleted. The returned object is guaranteed to be inside same transaction.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ public:
|
|||
/**
|
||||
* @brief Constructor that provides conversion and transformation
|
||||
*
|
||||
* This constructor allows to convert a path from any type to this one.
|
||||
* This constructor allows converting a path from any type to this one.
|
||||
* In addition, transformation operators can be provided that specify
|
||||
* how to transform points and lengths.
|
||||
*
|
||||
|
|
@ -278,7 +278,7 @@ public:
|
|||
/**
|
||||
* @brief Constructor that provides conversion from another coordinate type
|
||||
*
|
||||
* This constructor allows to convert a path from any type to this one.
|
||||
* This constructor allows converting a path from any type to this one.
|
||||
*
|
||||
* @param p The source path
|
||||
*/
|
||||
|
|
@ -738,7 +738,7 @@ public:
|
|||
* hull polygon. The resulting pointlist is not guaranteed not to
|
||||
* be self-overlapping.
|
||||
*
|
||||
* This version allows to override the left and right side's width hence creating
|
||||
* This version allows one to override the left and right side's width hence creating
|
||||
* asymmetric paths. dleft is the shift to the left (as seen in the direction of the
|
||||
* path) and dright the shift to the right. The default path is created if dleft+dright=width.
|
||||
*/
|
||||
|
|
@ -1011,7 +1011,7 @@ struct path_ref
|
|||
/**
|
||||
* @brief The translation constructor.
|
||||
*
|
||||
* This constructor allows to copy a path reference from one
|
||||
* This constructor allows one to copy a path reference from one
|
||||
* repository to another
|
||||
*/
|
||||
path_ref (const path_ref &ref, repository_type &rep)
|
||||
|
|
@ -1023,7 +1023,7 @@ struct path_ref
|
|||
/**
|
||||
* @brief The transformation translation constructor
|
||||
*
|
||||
* This constructor allows to copy a path reference with a certain transformation
|
||||
* This constructor allows one to copy a path reference with a certain transformation
|
||||
* to one with another transformation
|
||||
*/
|
||||
template <class TransIn>
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ public:
|
|||
/**
|
||||
* @brief The copy constructor that also converts
|
||||
*
|
||||
* The copy constructor allows to convert between different
|
||||
* The copy constructor allows one to convert between different
|
||||
* coordinate types, if possible.
|
||||
*
|
||||
* @param d The source from which to copy
|
||||
|
|
|
|||
|
|
@ -3051,7 +3051,7 @@ public:
|
|||
/**
|
||||
* @brief The translation constructor.
|
||||
*
|
||||
* This constructor allows to copy a polygon reference from one
|
||||
* This constructor allows one to copy a polygon reference from one
|
||||
* repository to another
|
||||
*/
|
||||
polygon_ref (const polygon_ref &ref, repository_type &rep)
|
||||
|
|
@ -3063,7 +3063,7 @@ public:
|
|||
/**
|
||||
* @brief The transformation translation constructor
|
||||
*
|
||||
* This constructor allows to copy a polygon reference with a certain transformation
|
||||
* This constructor allows one to copy a polygon reference with a certain transformation
|
||||
* to one with another transformation
|
||||
*/
|
||||
template <class TransIn>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public:
|
|||
* @brief Constructor
|
||||
*
|
||||
* This constructor takes the polygon receiver (of which is keeps a reference).
|
||||
* It allows to specify how holes are resolved and how touching corners are resolved.
|
||||
* It allows one to specify how holes are resolved and how touching corners are resolved.
|
||||
*
|
||||
* @param psink The polygon receiver
|
||||
* @param resolve_holes true, if holes should be resolved into the hull using stich lines
|
||||
|
|
@ -75,7 +75,7 @@ public:
|
|||
* @brief Constructor
|
||||
*
|
||||
* This constructor takes the simple polygon receiver (of which is keeps a reference).
|
||||
* It allows to specify how touching corners are resolved. Holes are always resolved since this is
|
||||
* It allows one to specify how touching corners are resolved. Holes are always resolved since this is
|
||||
* the only way to create a simple polygon.
|
||||
*
|
||||
* @param spsink The simple polygon receiver
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class SimplePolygonSink;
|
|||
/**
|
||||
* @brief An inside test operator
|
||||
*
|
||||
* This class allows to efficiently test whether multiple points are inside a given polygon.
|
||||
* This class allows an efficient test whether multiple points are inside a given polygon.
|
||||
* Since the test is efficiently implemented when the polygon edges are sorted, the sorting
|
||||
* and memory allocation step is performed once in the test operator's constructor while
|
||||
* each individual test is performed efficiently.
|
||||
|
|
|
|||
|
|
@ -834,7 +834,7 @@ public:
|
|||
/**
|
||||
* @brief Returns an edge set containing all edges of the polygons in this region
|
||||
*
|
||||
* This version allows to specify a filter by which the edges are filtered before they are
|
||||
* This version allows one to specify a filter by which the edges are filtered before they are
|
||||
* returned.
|
||||
*
|
||||
* Merged semantics applies. In merged semantics, only full, outer edges are delivered.
|
||||
|
|
@ -1574,7 +1574,7 @@ public:
|
|||
* @brief Constructor specifying the region where to store the polygons
|
||||
*
|
||||
* If "clear" is set to true, the region will be cleared before the
|
||||
* inserting of polygons starts. This allows to use the region as input and
|
||||
* inserting of polygons starts. This allows using the region as input and
|
||||
* output for any operation.
|
||||
*/
|
||||
RegionPolygonSink (Region ®ion, bool clear = false)
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ namespace db {
|
|||
*
|
||||
* This filter has two parameters: pmin and pmax.
|
||||
* It will filter all polygons for which the perimeter is >= pmin and < pmax.
|
||||
* There is an "invert" flag which allows to select all polygons not
|
||||
* There is an "invert" flag which allows selecting all polygons not
|
||||
* matching the criterion.
|
||||
*/
|
||||
|
||||
|
|
@ -104,7 +104,7 @@ private:
|
|||
*
|
||||
* This filter has two parameters: amin and amax.
|
||||
* It will filter all polygons for which the area is >= amin and < amax.
|
||||
* There is an "invert" flag which allows to select all polygons not
|
||||
* There is an "invert" flag which allows selecting all polygons not
|
||||
* matching the criterion.
|
||||
*/
|
||||
|
||||
|
|
@ -266,7 +266,7 @@ private:
|
|||
*
|
||||
* This filter has two parameters: vmin and vmax.
|
||||
* It will filter all polygons for which the selected bounding box parameter is >= vmin and < vmax.
|
||||
* There is an "invert" flag which allows to select all polygons not
|
||||
* There is an "invert" flag which allows selecting all polygons not
|
||||
* matching the criterion.
|
||||
*
|
||||
* For bounding box parameters the following choices are available:
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ struct shape_ref
|
|||
/**
|
||||
* @brief The translation constructor.
|
||||
*
|
||||
* This constructor allows to copy a shape reference from one
|
||||
* This constructor allows one to copy a shape reference from one
|
||||
* repository to another
|
||||
*/
|
||||
shape_ref (const shape_ref<Sh, Trans> &ref, repository_type &rep)
|
||||
|
|
@ -272,7 +272,7 @@ struct shape_ref
|
|||
/**
|
||||
* @brief The translation operator.
|
||||
*
|
||||
* This assignment allows to assign a reference in one repository
|
||||
* This assignment allows assigning a reference in one repository
|
||||
* to a reference in another repository
|
||||
*/
|
||||
void translate (const shape_ref<Sh, Trans> &ref, repository_type &rep, db::ArrayRepository &)
|
||||
|
|
@ -288,7 +288,7 @@ struct shape_ref
|
|||
/**
|
||||
* @brief The translation operator with transformation.
|
||||
*
|
||||
* This assignment allows to assign a reference in one repository
|
||||
* This assignment allows assigning a reference in one repository
|
||||
* to a reference in another repository
|
||||
*/
|
||||
template <class T>
|
||||
|
|
@ -309,7 +309,7 @@ struct shape_ref
|
|||
/**
|
||||
* @brief The translation operator.
|
||||
*
|
||||
* This operator allows to change a reference to another repository.
|
||||
* This operator allows changing a reference to another repository.
|
||||
*/
|
||||
void translate (repository_type &rep)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class ArrayRepository;
|
|||
* @brief A generic shape iterator
|
||||
*
|
||||
* This iterator can iterate any kind of shape from a "shapes" container.
|
||||
* It allows to select certain kind of shapes. The dereferecing operator
|
||||
* It allows selecting certain kind of shapes. The dereferecing operator
|
||||
* returns a shape proxy object that can be used to access the actual shape.
|
||||
* It can iterator over all shapes and over a region selected.
|
||||
* If the iterator is constructed, it always points to the beginning of the
|
||||
|
|
@ -514,7 +514,7 @@ public:
|
|||
* @brief Default ctor: create an empty collection of shapes without external references
|
||||
*
|
||||
* Such shape containers can be used for example to store temporary shape sets
|
||||
* This version allows to specify whether the container should be created in editable mode
|
||||
* This version allows one to specify whether the container should be created in editable mode
|
||||
* or insert-once mode.
|
||||
*/
|
||||
Shapes (bool editable)
|
||||
|
|
@ -607,7 +607,7 @@ public:
|
|||
/**
|
||||
* @brief Assignment operator with transformation and property id mapping
|
||||
*
|
||||
* This version allows to specify a property mapping function. That way, shapes can be copied from
|
||||
* This version allows one to specify a property mapping function. That way, shapes can be copied from
|
||||
* one layout space to another.
|
||||
*/
|
||||
template <class T, class PropIdMap>
|
||||
|
|
@ -620,7 +620,7 @@ public:
|
|||
/**
|
||||
* @brief Assignment operator with property id mapping
|
||||
*
|
||||
* In contrast to the operator= version allows to specify a property mapping function. That way, shapes can be copied from
|
||||
* In contrast to the operator= version allows one to specify a property mapping function. That way, shapes can be copied from
|
||||
* one layout space to another.
|
||||
*/
|
||||
template <class PropIdMap>
|
||||
|
|
@ -676,7 +676,7 @@ public:
|
|||
*
|
||||
* This method insert all shapes from the given shape container using the specified transformation.
|
||||
*
|
||||
* This version allows to specify a property mapping function. That way, shapes can be copied from
|
||||
* This version allows one to specify a property mapping function. That way, shapes can be copied from
|
||||
* one layout space to another.
|
||||
*/
|
||||
template <class T, class PropIdMap>
|
||||
|
|
@ -715,7 +715,7 @@ public:
|
|||
*
|
||||
* This method insert all shapes from the given shape container using the specified transformation.
|
||||
*
|
||||
* In contrast to the operator= version allows to specify a property mapping function. That way, shapes can be copied from
|
||||
* In contrast to the operator= version allows one to specify a property mapping function. That way, shapes can be copied from
|
||||
* one layout space to another.
|
||||
*/
|
||||
template <class PropIdMap>
|
||||
|
|
|
|||
|
|
@ -99,12 +99,12 @@ struct DB_PUBLIC LDPair
|
|||
*
|
||||
* The mapping object provides a lookup for a given input layer
|
||||
* (called "physical layer") to a logical layer specified as
|
||||
* a layer index used inside db::Layout. The object allows to
|
||||
* look up a layer index for a given layer/datatype/name.
|
||||
* a layer index used inside db::Layout. The object allows
|
||||
* looking up a layer index for a given layer/datatype/name.
|
||||
*
|
||||
* It also allows to specify a target layer per logical layer. That
|
||||
* It also allows one to specify a target layer per logical layer. That
|
||||
* is the information attached to the layer when it is actually created.
|
||||
* This allows to map an input layer to another layer specification
|
||||
* This allows mapping an input layer to another layer specification
|
||||
* and effectively rename a layer or add layer name information to
|
||||
* a GDS layer/datatype layer.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ inline void mem_stat (MemStatistics *stat, MemStatistics::purpose_t purpose, int
|
|||
* @brief A string repository class
|
||||
*
|
||||
* A string repository holds StringRef objects.
|
||||
* It acts as a factory for StringRef objects and allows to rename strings.
|
||||
* It acts as a factory for StringRef objects and allows one to rename strings.
|
||||
*/
|
||||
class DB_PUBLIC StringRepository
|
||||
{
|
||||
|
|
@ -987,7 +987,7 @@ struct text_ref
|
|||
/**
|
||||
* @brief The translation constructor.
|
||||
*
|
||||
* This constructor allows to copy a text reference from one
|
||||
* This constructor allows one to copy a text reference from one
|
||||
* repository to another
|
||||
*/
|
||||
text_ref (const text_ref &ref, repository_type &rep)
|
||||
|
|
@ -999,7 +999,7 @@ struct text_ref
|
|||
/**
|
||||
* @brief The transformation translation constructor
|
||||
*
|
||||
* This constructor allows to copy a text reference with a certain transformation
|
||||
* This constructor allows one to copy a text reference with a certain transformation
|
||||
* to one with another transformation
|
||||
*/
|
||||
template <class TransIn>
|
||||
|
|
|
|||
|
|
@ -739,7 +739,7 @@ public:
|
|||
/**
|
||||
* @brief The copy constructor that converts also
|
||||
*
|
||||
* The copy constructor allows to convert between different
|
||||
* The copy constructor allows converting between different
|
||||
* coordinate types, if possible.
|
||||
*
|
||||
* @param d The source from which to copy
|
||||
|
|
@ -1093,7 +1093,7 @@ public:
|
|||
/**
|
||||
* @brief The copy constructor that converts to a different coordinate type also
|
||||
*
|
||||
* The copy constructor allows to convert between different
|
||||
* The copy constructor allows converting between different
|
||||
* coordinate types, if possible.
|
||||
*
|
||||
* @param d The source from which to copy
|
||||
|
|
@ -1625,7 +1625,7 @@ public:
|
|||
/**
|
||||
* @brief The copy constructor that converts also
|
||||
*
|
||||
* The copy constructor allows to convert between different
|
||||
* The copy constructor allows converting between different
|
||||
* coordinate types, if possible.
|
||||
*
|
||||
* @param d The source from which to copy
|
||||
|
|
@ -2134,7 +2134,7 @@ public:
|
|||
/**
|
||||
* @brief String conversion
|
||||
*
|
||||
* The lazy and micron flags allow to customize the output somewhat.
|
||||
* The lazy and micron flags allow customization of the output to some degree.
|
||||
* When lazy is set to true, output that is not required (i.e. magnification when 1)
|
||||
* is dropped. If dbu is set, the coordinates are multiplied with this factor to render micron units.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ public:
|
|||
/**
|
||||
* @brief The generic factory
|
||||
*
|
||||
* This factory allows to create a user object from a given string and class name.
|
||||
* This factory creates an user object from a given string and class name.
|
||||
*/
|
||||
template <class C>
|
||||
class user_object_factory
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ public:
|
|||
/**
|
||||
* @brief The copy constructor that converts also
|
||||
*
|
||||
* The copy constructor allows to convert between different
|
||||
* The copy constructor allows converting between different
|
||||
* coordinate types, if possible.
|
||||
*
|
||||
* @param d The source from which to copy
|
||||
|
|
|
|||
|
|
@ -1805,7 +1805,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"@args file_name, options\n"
|
||||
"The format of the file will be determined from the file name. Only the cell and "
|
||||
"it's subtree below will be saved.\n"
|
||||
"In contrast to the other 'write' method, this version allows to specify save options, i.e. "
|
||||
"In contrast to the other 'write' method, this version allows one to specify save options, i.e. "
|
||||
"scaling etc.\n"
|
||||
"\n"
|
||||
"This method has been introduced in version 0.23.\n"
|
||||
|
|
@ -1814,7 +1814,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"@brief Returns the shapes list of the given layer\n"
|
||||
"@args layer_index\n"
|
||||
"\n"
|
||||
"This method allows to access the shapes list on a certain layer.\n"
|
||||
"This method gives access to the shapes list on a certain layer.\n"
|
||||
"If the layer does not exist yet, it is created.\n"
|
||||
"\n"
|
||||
"@param index The layer index of the shapes list to retrieve\n"
|
||||
|
|
@ -1926,7 +1926,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"\n"
|
||||
"This deletes all sub cells of the cell which are not used otherwise.\n"
|
||||
"All instances of the deleted cells are deleted as well.\n"
|
||||
"A version of this method exists which allows to specify the number of hierarchy levels "
|
||||
"A version of this method exists which allows one to specify the number of hierarchy levels "
|
||||
"to which subcells are considered.\n"
|
||||
"\n"
|
||||
"This method has been introduced in version 0.23.\n"
|
||||
|
|
@ -1948,7 +1948,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"\n"
|
||||
"This deletes the cell and also all sub cells of the cell which are not used otherwise.\n"
|
||||
"All instances of this cell are deleted as well.\n"
|
||||
"A version of this method exists which allows to specify the number of hierarchy levels "
|
||||
"A version of this method exists which allows one to specify the number of hierarchy levels "
|
||||
"to which subcells are considered.\n"
|
||||
"\n"
|
||||
"After the cell has been deleted, the Cell object becomes invalid. Do "
|
||||
|
|
@ -1980,7 +1980,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"It also removes the instances of the cells from which the shapes came from, but does not remove the cells themselves if prune is set to false.\n"
|
||||
"If prune is set to true, these cells are removed if not used otherwise.\n"
|
||||
"\n"
|
||||
"A version of this method exists which allows to specify the number of hierarchy levels "
|
||||
"A version of this method exists which allows one to specify the number of hierarchy levels "
|
||||
"to which subcells are considered.\n"
|
||||
"\n"
|
||||
"@param prune Set to true to remove orphan cells.\n"
|
||||
|
|
@ -2045,7 +2045,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"'remaining_parts' and 'remaining_polygons' can be identical with the input. In that case the input will be overwritten with "
|
||||
"the respective output. Otherwise, the respective polygons are added to these regions.\n"
|
||||
"\n"
|
||||
"This allows to set up a more elaborate fill scheme using multiple iterations and local origin-optimization ('origin' is nil):\n"
|
||||
"This allows setting up a more elaborate fill scheme using multiple iterations and local origin-optimization ('origin' is nil):\n"
|
||||
"\n"
|
||||
"@code\n"
|
||||
"r = ... # region to fill\n"
|
||||
|
|
@ -2493,7 +2493,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
gsi::method ("insert", (db::Instance (db::Cell::*)(const db::Instance &)) &db::Cell::insert, gsi::arg ("inst"),
|
||||
"@brief Inserts a cell instance given by another reference\n"
|
||||
"@return An Instance object representing the new instance\n"
|
||||
"This method allows to copy instances taken from a reference (an \\Instance object).\n"
|
||||
"This method allows one to copy instances taken from a reference (an \\Instance object).\n"
|
||||
"This method is not suited to inserting instances from other Layouts into this cell. For this "
|
||||
"purpose, the hierarchical copy methods of \\Layout have to be used.\n"
|
||||
"\n"
|
||||
|
|
@ -2914,7 +2914,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"@brief Returns a reference to the PCell declaration\n"
|
||||
"If this cell is not a PCell variant, this method returns nil.\n"
|
||||
"PCell variants are proxy cells which are PCell incarnations for a specific parameter set.\n"
|
||||
"The \\PCellDeclaration object allows to retrieve PCell parameter definitions for example.\n"
|
||||
"The \\PCellDeclaration object allows one to retrieve PCell parameter definitions for example.\n"
|
||||
"\n"
|
||||
"This method has been introduced in version 0.22.\n"
|
||||
) +
|
||||
|
|
@ -2922,7 +2922,7 @@ Class<db::Cell> decl_Cell ("db", "Cell",
|
|||
"@brief Returns the PCell declaration of a pcell instance\n"
|
||||
"@args instance\n"
|
||||
"If the instance is not a PCell instance, this method returns nil.\n"
|
||||
"The \\PCellDeclaration object allows to retrieve PCell parameter definitions for example.\n"
|
||||
"The \\PCellDeclaration object allows one to retrieve PCell parameter definitions for example.\n"
|
||||
"\n"
|
||||
"This method has been introduced in version 0.22.\n"
|
||||
) +
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ struct edge_pair_defs
|
|||
"The polygon is formed by connecting the end and start points of the edges. It is recommended to "
|
||||
"use \\normalized before converting the edge pair to a polygon.\n"
|
||||
"\n"
|
||||
"The enlargement parameter allows to apply the specified enlargement parallel and perpendicular to the "
|
||||
"The enlargement parameter applies the specified enlargement parallel and perpendicular to the "
|
||||
"edges. Basically this introduces a bias which blows up edge pairs by the specified amount. That parameter "
|
||||
"is useful to convert degenerated edge pairs to valid polygons, i.e. edge pairs with coincident edges and "
|
||||
"edge pairs consisting of two point-like edges.\n"
|
||||
|
|
@ -119,7 +119,7 @@ struct edge_pair_defs
|
|||
"The polygon is formed by connecting the end and start points of the edges. It is recommended to "
|
||||
"use \\normalized before converting the edge pair to a polygon.\n"
|
||||
"\n"
|
||||
"The enlargement parameter allows to apply the specified enlargement parallel and perpendicular to the "
|
||||
"The enlargement parameter applies the specified enlargement parallel and perpendicular to the "
|
||||
"edges. Basically this introduces a bias which blows up edge pairs by the specified amount. That parameter "
|
||||
"is useful to convert degenerated edge pairs to valid polygons, i.e. edge pairs with coincident edges and "
|
||||
"edge pairs consisting of two point-like edges.\n"
|
||||
|
|
|
|||
|
|
@ -485,7 +485,7 @@ Class<db::EdgePairs> decl_EdgePairs ("db", "EdgePairs",
|
|||
"@args e\n"
|
||||
"This method creates polygons from the edge pairs. Each polygon will be a triangle or quadrangle "
|
||||
"which connects the start and end points of the edges forming the edge pair. "
|
||||
"This version allows to specify an enlargement which is applied to the edges. The length of the edges is "
|
||||
"This version allows one to specify an enlargement which is applied to the edges. The length of the edges is "
|
||||
"modified by applying the enlargement and the edges are shifted by the enlargement. By specifying an "
|
||||
"enlargement it is possible to give edge pairs an area which otherwise would not have one (coincident edges, "
|
||||
"two point-like edges)."
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"The other merge operation provided for this purpose is \"merge\" which normalizes each polygon individually before\n"
|
||||
"merging them. \"simple_merge\" is somewhat faster and consumes less memory.\n"
|
||||
"\n"
|
||||
"This method produces polygons and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"This is a convenience method that bundles filling of the edges, processing with\n"
|
||||
"a SimpleMerge operator and puts the result into an output vector.\n"
|
||||
|
|
@ -260,7 +260,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"The other merge operation provided for this purpose is \"merge\" which normalizes each polygon individually before\n"
|
||||
"merging them. \"simple_merge\" is somewhat faster and consumes less memory.\n"
|
||||
"\n"
|
||||
"This method produces polygons and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"This is a convenience method that bundles filling of the edges, processing with\n"
|
||||
"a SimpleMerge operator and puts the result into an output vector.\n"
|
||||
|
|
@ -326,7 +326,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"The edges provided must form valid closed contours. Contours oriented differently \"cancel\" each other. \n"
|
||||
"Overlapping contours are merged when the orientation is the same.\n"
|
||||
"\n"
|
||||
"This method produces polygons and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"This is a convenience method that bundles filling of the edges, processing with\n"
|
||||
"a SimpleMerge operator and puts the result into an output vector.\n"
|
||||
|
|
@ -346,7 +346,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"The edges provided must form valid closed contours. Contours oriented differently \"cancel\" each other. \n"
|
||||
"Overlapping contours are merged when the orientation is the same.\n"
|
||||
"\n"
|
||||
"This method produces polygons and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"This is a convenience method that bundles filling of the edges, processing with\n"
|
||||
"a SimpleMerge operator and puts the result into an output vector.\n"
|
||||
|
|
@ -369,7 +369,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"\n"
|
||||
"In contrast to \"simple_merge\", this merge implementation considers each polygon individually before merging them.\n"
|
||||
"Thus self-overlaps are effectively removed before the output is computed and holes are correctly merged with the\n"
|
||||
"hull. In addition, this method allows to select areas with a higher wrap count which allows to compute overlaps\n"
|
||||
"hull. In addition, this method allows selecting areas with a higher wrap count which in turn allows computing overlaps\n"
|
||||
"of polygons on the same layer. Because this method merges the polygons before the overlap is computed, self-overlapping\n"
|
||||
"polygons do not contribute to higher wrap count areas.\n"
|
||||
"\n"
|
||||
|
|
@ -389,11 +389,11 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"\n"
|
||||
"In contrast to \"simple_merge\", this merge implementation considers each polygon individually before merging them.\n"
|
||||
"Thus self-overlaps are effectively removed before the output is computed and holes are correctly merged with the\n"
|
||||
"hull. In addition, this method allows to select areas with a higher wrap count which allows to compute overlaps\n"
|
||||
"hull. In addition, this method allows selecting areas with a higher wrap count which in turn allows computing overlaps\n"
|
||||
"of polygons on the same layer. Because this method merges the polygons before the overlap is computed, self-overlapping\n"
|
||||
"polygons do not contribute to higher wrap count areas.\n"
|
||||
"\n"
|
||||
"This method produces polygons and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"Prior to version 0.21 this method was called 'merge_to_polygon'. Is was renamed to avoid ambiguities "
|
||||
"for empty input arrays. The old version is still available but deprecated.\n"
|
||||
|
|
@ -449,7 +449,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"edges form a sharp bend with an angle of more than 90 degree. In that case, the corners are cut off. In Mode 3, no cutoff occures up to a bending angle of 135 degree. "
|
||||
"Mode 4 and 5 are even more aggressive and allow very sharp bends without cutoff. This strategy may produce long spikes on sharply bending corners. "
|
||||
"\n"
|
||||
"This method produces polygons and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"Prior to version 0.21 this method was called 'size_to_polygon'. Is was renamed to avoid ambiguities "
|
||||
"for empty input arrays. The old version is still available but deprecated.\n"
|
||||
|
|
@ -516,7 +516,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"@args a, b, mode, resolve_holes, min_coherence\n"
|
||||
"\n"
|
||||
"This method computes the result for the given boolean operation on two sets of polygons.\n"
|
||||
"This method produces polygons on output and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons on output and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"This is a convenience method that bundles filling of the edges, processing with\n"
|
||||
"a Boolean operator and puts the result into an output vector.\n"
|
||||
|
|
@ -558,7 +558,7 @@ Class<db::EdgeProcessor> decl_EdgeProcessor ("db", "EdgeProcessor",
|
|||
"The input edges must form closed contours where holes and hulls must be oriented differently. \n"
|
||||
"The input edges are processed with a simple non-zero wrap count rule as a whole.\n"
|
||||
"\n"
|
||||
"This method produces polygons on output and allows to fine-tune the parameters for that purpose.\n"
|
||||
"This method produces polygons on output and allows fine-tuning of the parameters for that purpose.\n"
|
||||
"\n"
|
||||
"Prior to version 0.21 this method was called 'boolean_to_polygon'. Is was renamed to avoid ambiguities "
|
||||
"for empty input arrays. The old version is still available but deprecated.\n"
|
||||
|
|
|
|||
|
|
@ -1062,7 +1062,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"To understand the overlap check for edges, one has to be familiar with the concept of the inside and outside "
|
||||
"interpretation of an edge. An edge is considered a boundary between \"inside\" and \"outside\" where \"inside\" "
|
||||
"is right to the edge. Although there is not necessarily a contiguous region for edges, the definition of the "
|
||||
"inside part allows to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"inside part allows one to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"In that sense, width means that another edge is anti-parallel and left to the edge under test with a distance of less than the given "
|
||||
"threshold."
|
||||
"\n"
|
||||
|
|
@ -1096,7 +1096,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one threshold, pass nil to the respective value.\n"
|
||||
|
|
@ -1107,7 +1107,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"To understand the space check for edges, one has to be familiar with the concept of the inside and outside "
|
||||
"interpretation of an edge. An edge is considered a boundary between \"inside\" and \"outside\" where \"inside\" "
|
||||
"is right to the edge. Although there is not necessarily a contiguous region for edges, the definition of the "
|
||||
"inside part allows to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"inside part allows one to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"In that sense, space means that another edge is anti-parallel and right to the edge under test with a distance of less than the given "
|
||||
"threshold."
|
||||
"\n"
|
||||
|
|
@ -1141,7 +1141,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one threshold, pass nil to the respective value.\n"
|
||||
|
|
@ -1153,7 +1153,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"To understand the inside check for edges, one has to be familiar with the concept of the inside and outside "
|
||||
"interpretation of an edge. An edge is considered a boundary between \"inside\" and \"outside\" where \"inside\" "
|
||||
"is right to the edge. Although there is not necessarily a contiguous region for edges, the definition of the "
|
||||
"inside part allows to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"inside part allows one to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"In that sense, inside means that another edge is parallel and right to the edge under test with a distance of less than the given "
|
||||
"threshold."
|
||||
"\n"
|
||||
|
|
@ -1188,7 +1188,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one threshold, pass nil to the respective value.\n"
|
||||
|
|
@ -1200,7 +1200,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"To understand the enclosing check for edges, one has to be familiar with the concept of the inside and outside "
|
||||
"interpretation of an edge. An edge is considered a boundary between \"inside\" and \"outside\" where \"inside\" "
|
||||
"is right to the edge. Although there is not necessarily a contiguous region for edges, the definition of the "
|
||||
"inside part allows to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"inside part allows one to specify edge relations which are denoted by \"space\", \"width\", \"inside\" and \"enclosing\". "
|
||||
"In that sense, enclosing means that another edge is parallel and left to the edge under test with a distance of less than the given "
|
||||
"threshold."
|
||||
"\n"
|
||||
|
|
@ -1235,7 +1235,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one threshold, pass nil to the respective value.\n"
|
||||
|
|
@ -1280,7 +1280,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one threshold, pass nil to the respective value.\n"
|
||||
|
|
@ -1325,7 +1325,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one threshold, pass nil to the respective value.\n"
|
||||
|
|
@ -1378,7 +1378,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
"@param i the perpendicular extension to the \"inside\" (right side as seen in the dleftirection of the edge)\n"
|
||||
"@param join If true, connected edges are joined before the extension is applied\n"
|
||||
"@return A region containing the polygons representing these extended edges\n"
|
||||
"This is a generic version of \\extended_in and \\extended_out. It allows to specify extensions for all four "
|
||||
"This is a generic version of \\extended_in and \\extended_out. It allows one to specify extensions for all four "
|
||||
"directions of an edge and to join the edges before the extension is applied.\n"
|
||||
"\n"
|
||||
"For degenerated edges forming a point, a rectangle with the b, e, o and i used as left, right, top and bottom distance to the "
|
||||
|
|
@ -1390,7 +1390,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
method ("start_segments", &db::Edges::start_segments, gsi::arg ("length"), gsi::arg ("fraction"),
|
||||
"@brief Returns edges representing a part of the edge after the start point\n"
|
||||
"@return A new collection of edges representing the start part\n"
|
||||
"This method allows to specify the length of these segments in a twofold way: either as a fixed length or "
|
||||
"This method allows one to specify the length of these segments in a twofold way: either as a fixed length or "
|
||||
"by specifying a fraction of the original length:\n"
|
||||
"\n"
|
||||
"@code\n"
|
||||
|
|
@ -1407,7 +1407,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
method ("end_segments", &db::Edges::end_segments, gsi::arg ("length"), gsi::arg ("fraction"),
|
||||
"@brief Returns edges representing a part of the edge before the end point\n"
|
||||
"@return A new collection of edges representing the end part\n"
|
||||
"This method allows to specify the length of these segments in a twofold way: either as a fixed length or "
|
||||
"This method allows one to specify the length of these segments in a twofold way: either as a fixed length or "
|
||||
"by specifying a fraction of the original length:\n"
|
||||
"\n"
|
||||
"@code\n"
|
||||
|
|
@ -1424,7 +1424,7 @@ Class<db::Edges> dec_Edges ("db", "Edges",
|
|||
method ("centers", &db::Edges::centers, gsi::arg ("length"), gsi::arg ("fraction"),
|
||||
"@brief Returns edges representing the center part of the edges\n"
|
||||
"@return A new collection of edges representing the part around the center\n"
|
||||
"This method allows to specify the length of these segments in a twofold way: either as a fixed length or "
|
||||
"This method allows one to specify the length of these segments in a twofold way: either as a fixed length or "
|
||||
"by specifying a fraction of the original length:\n"
|
||||
"\n"
|
||||
"@code\n"
|
||||
|
|
|
|||
|
|
@ -887,7 +887,7 @@ Class<db::Layout> decl_Layout ("db", "Layout",
|
|||
"@args editable,manager\n"
|
||||
"\n"
|
||||
"This constructor specifies a manager object which is used to "
|
||||
"store undo information for example. It also allows to specify whether "
|
||||
"store undo information for example. It also allows one to specify whether "
|
||||
"the layout is editable. In editable mode, some optimisations are disabled "
|
||||
"and the layout can be manipulated through a variety of methods.\n"
|
||||
"\n"
|
||||
|
|
@ -1840,7 +1840,7 @@ Class<db::Layout> decl_Layout ("db", "Layout",
|
|||
"@return The cell index of the pcell variant proxy cell\n"
|
||||
"This method will create a PCell variant proxy for a local PCell definition.\n"
|
||||
"It will create the PCell variant for the given parameters. Note that this method \n"
|
||||
"does not allow to create PCell instances for PCell's located in a library. Use\n"
|
||||
"does not allow one to create PCell instances for PCell's located in a library. Use\n"
|
||||
"\\add_pcell_variant with the library parameter for that purpose.\n"
|
||||
"Unlike the variant using a list of parameters, this version allows specification\n"
|
||||
"of the parameters with a key/value dictionary. The keys are the parameter names\n"
|
||||
|
|
@ -1860,7 +1860,7 @@ Class<db::Layout> decl_Layout ("db", "Layout",
|
|||
"@return The cell index of the pcell variant proxy cell\n"
|
||||
"This method will create a PCell variant proxy for a local PCell definition.\n"
|
||||
"It will create the PCell variant for the given parameters. Note that this method \n"
|
||||
"does not allow to create PCell instances for PCell's located in a library. Use\n"
|
||||
"does not allow one to create PCell instances for PCell's located in a library. Use\n"
|
||||
"\\add_pcell_variant with the library parameter for that purpose.\n"
|
||||
"\n"
|
||||
"The parameters are a sequence of variants which correspond to the parameters declared "
|
||||
|
|
@ -2171,7 +2171,7 @@ Class<db::SaveLayoutOptions> decl_SaveLayoutOptions ("db", "SaveLayoutOptions",
|
|||
"@brief Set the database unit to be used in the stream file\n"
|
||||
"@args dbu\n"
|
||||
"\n"
|
||||
"By default, the database unit of the layout is used. This method allows to explicitly use a different\n"
|
||||
"By default, the database unit of the layout is used. This method allows one to explicitly use a different\n"
|
||||
"database unit. A scale factor is introduced automatically which scales all layout objects accordingly so their physical dimensions remain the same. "
|
||||
"When scaling to a larger database unit or one that is not an integer fraction of the original one, rounding errors may occur and the "
|
||||
"layout may become slightly distorted."
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ Class<db::Manager> decl_Manager ("db", "Manager",
|
|||
"@brief A transaction manager class\n"
|
||||
"\n"
|
||||
"Manager objects control layout and potentially other objects in the layout database "
|
||||
"and allow to queue operations to form transactions. A transaction is a sequence of "
|
||||
"and queue operations to form transactions. A transaction is a sequence of "
|
||||
"operations that can be undone or redone.\n"
|
||||
"\n"
|
||||
"In order to equip a layout object with undo/redo support, instantiate the layout object "
|
||||
|
|
|
|||
|
|
@ -654,7 +654,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"\n"
|
||||
"This constructor creates a region from the shapes delivered by the given recursive shape iterator.\n"
|
||||
"Text objects and edges are not inserted, because they cannot be converted to polygons.\n"
|
||||
"This method allows to feed the shapes from a hierarchy of cells into the region.\n"
|
||||
"This method allows feeding the shapes from a hierarchy of cells into the region.\n"
|
||||
"\n"
|
||||
"@code\n"
|
||||
"layout = ... # a layout\n"
|
||||
|
|
@ -669,7 +669,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"This constructor creates a region from the shapes delivered by the given recursive shape iterator.\n"
|
||||
"Text objects and edges are not inserted, because they cannot be converted to polygons.\n"
|
||||
"On the delivered shapes it applies the given transformation.\n"
|
||||
"This method allows to feed the shapes from a hierarchy of cells into the region.\n"
|
||||
"This method allows feeding the shapes from a hierarchy of cells into the region.\n"
|
||||
"The transformation is useful to scale to a specific database unit for example.\n"
|
||||
"\n"
|
||||
"@code\n"
|
||||
|
|
@ -1898,7 +1898,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
@ -1943,7 +1943,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
@ -1990,7 +1990,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
@ -2037,7 +2037,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
@ -2080,7 +2080,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
@ -2121,7 +2121,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
@ -2162,7 +2162,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
@ -2203,7 +2203,7 @@ Class<db::Region> decl_Region ("db", "Region",
|
|||
"Setting this value to 90 (the default) will exclude edges with an angle of 90 degree or more from the check.\n"
|
||||
"Use nil for this value to select the default.\n"
|
||||
"\n"
|
||||
"\"min_projection\" and \"max_projection\" allow to select edges by their projected value upon each other. "
|
||||
"\"min_projection\" and \"max_projection\" allow selecting edges by their projected value upon each other. "
|
||||
"It is sufficient if the projection of one edge on the other matches the specified condition. "
|
||||
"The projected length must be larger or equal to \"min_projection\" and less than \"max_projection\". "
|
||||
"If you don't want to specify one limit, pass nil to the respective value.\n"
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"\n"
|
||||
"See the \\EdgeProcessor for a description of the sizing operation. This implementation takes shapes\n"
|
||||
"from a layout cell (optionally all in hierarchy) and produces new shapes in a shapes container. "
|
||||
"This is the isotropic version which does not allow to specify different sizing values in x and y-direction. "
|
||||
"This is the isotropic version which does not allow specification of different sizing values in x and y-direction. "
|
||||
"\n"
|
||||
"@param layout The layout from which to take the shapes\n"
|
||||
"@param cell The cell (in 'layout') from which to take the shapes\n"
|
||||
|
|
@ -278,7 +278,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"See the \\EdgeProcessor for a description of the merge method. This implementation takes shapes\n"
|
||||
"rather than polygons for input and produces an edge set.\n"
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in The set of shapes to merge\n"
|
||||
"@param min_wc The minimum wrap count for output (0: all polygons, 1: at least two overlapping)\n"
|
||||
|
|
@ -290,7 +290,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"See the \\EdgeProcessor for a description of the merge method. This implementation takes shapes\n"
|
||||
"rather than polygons for input and produces a polygon set.\n"
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in The set of shapes to merge\n"
|
||||
"@param min_wc The minimum wrap count for output (0: all polygons, 1: at least two overlapping)\n"
|
||||
|
|
@ -332,7 +332,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"See the \\EdgeProcessor for a description of the boolean operations. This implementation takes shapes\n"
|
||||
"rather than polygons for input and produces an edge set.\n"
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in_a The set of shapes to use for input A\n"
|
||||
"@param in_b The set of shapes to use for input A\n"
|
||||
|
|
@ -345,7 +345,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"See the \\EdgeProcessor for a description of the boolean operations. This implementation takes shapes\n"
|
||||
"rather than polygons for input and produces a polygon set.\n"
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in_a The set of shapes to use for input A\n"
|
||||
"@param in_b The set of shapes to use for input A\n"
|
||||
|
|
@ -417,7 +417,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"rather than polygons for input and produces an edge set. This is isotropic version that does not allow\n"
|
||||
"to specify different values in x and y direction. "
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in The set of shapes to size\n"
|
||||
"@param d The sizing value\n"
|
||||
|
|
@ -430,7 +430,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"See the \\EdgeProcessor for a description of the sizing method. This implementation takes shapes\n"
|
||||
"rather than polygons for input and produces an edge set.\n"
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in The set of shapes to size\n"
|
||||
"@param dx The sizing value in x-direction\n"
|
||||
|
|
@ -445,7 +445,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"rather than polygons for input and produces a polygon set. This is isotropic version that does not allow\n"
|
||||
"to specify different values in x and y direction. "
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in The set of shapes to size\n"
|
||||
"@param d The sizing value\n"
|
||||
|
|
@ -460,7 +460,7 @@ Class<db::ShapeProcessor> decl_ShapeProcessor ("db", "ShapeProcessor",
|
|||
"See the \\EdgeProcessor for a description of the sizing method. This implementation takes shapes\n"
|
||||
"rather than polygons for input and produces a polygon set.\n"
|
||||
"\n"
|
||||
"This version does not allow to specify a transformation for each shape (unity is assumed).\n"
|
||||
"This version does not feature a transformation for each shape (unity is assumed).\n"
|
||||
"\n"
|
||||
"@param in The set of shapes to size\n"
|
||||
"@param dx The sizing value in x-direction\n"
|
||||
|
|
|
|||
|
|
@ -408,7 +408,7 @@ Class<db::TilingProcessor> decl_TilingProcessor ("db", "TilingProcessor",
|
|||
"\n"
|
||||
"The name specifies the variable under which the input can be used in the scripts."
|
||||
"\n"
|
||||
"This variant allows to specify an additional transformation too. It has been introduced in version 0.23.2.\n"
|
||||
"This variant allows one to specify an additional transformation too. It has been introduced in version 0.23.2.\n"
|
||||
) +
|
||||
method_ext ("input", &tp_input10,
|
||||
"@brief Specifies input for the tiling processor\n"
|
||||
|
|
@ -428,7 +428,7 @@ Class<db::TilingProcessor> decl_TilingProcessor ("db", "TilingProcessor",
|
|||
"\n"
|
||||
"The name specifies the variable under which the input can be used in the scripts."
|
||||
"\n"
|
||||
"This variant allows to specify an additional transformation too. It has been introduced in version 0.23.2.\n"
|
||||
"This variant allows one to specify an additional transformation too. It has been introduced in version 0.23.2.\n"
|
||||
"\n"
|
||||
) +
|
||||
method ("var", &db::TilingProcessor::var,
|
||||
|
|
@ -651,7 +651,7 @@ Class<db::TilingProcessor> decl_TilingProcessor ("db", "TilingProcessor",
|
|||
"\n"
|
||||
"The tiling processor executes one or several scripts on one or multiple layouts providing "
|
||||
"a tiling scheme. In that scheme, the processor divides the original layout into rectangular tiles "
|
||||
"and executes the scripts on each tile separately. The tiling processor allows to specify multiple, "
|
||||
"and executes the scripts on each tile separately. The tiling processor allows one to specify multiple, "
|
||||
"independent scripts which are run separately on each tile. It can make use of multi-core CPU's by "
|
||||
"supporting multiple threads running the tasks in parallel (with respect to tiles and scripts).\n"
|
||||
"\n"
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ namespace edt
|
|||
{
|
||||
|
||||
/**
|
||||
* @brief A QScrollArea that displays and allows to edit PCell parameters
|
||||
* @brief A QScrollArea that displays and allows editing PCell parameters
|
||||
*/
|
||||
class PCellParametersPage
|
||||
: public QScrollArea
|
||||
|
|
|
|||
|
|
@ -1647,7 +1647,7 @@ PartialService::mouse_press_event (const db::DPoint &p, unsigned int buttons, bo
|
|||
|
||||
if (is_single_point_selection ()) {
|
||||
// for a single selected point we use the original point as the start location which
|
||||
// allows to bring a to grid
|
||||
// allows bringing a to grid
|
||||
m_current = m_start = single_selected_point ();
|
||||
} else {
|
||||
m_current = m_start = p;
|
||||
|
|
@ -1842,7 +1842,7 @@ PartialService::mouse_click_event (const db::DPoint &p, unsigned int buttons, bo
|
|||
|
||||
if (is_single_point_selection ()) {
|
||||
// for a single selected point we use the original point as the start location which
|
||||
// allows to bring a to grid
|
||||
// allows bringing a to grid
|
||||
m_current = m_start = single_selected_point ();
|
||||
} else {
|
||||
m_current = m_start = p;
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ public:
|
|||
/**
|
||||
* @brief "transform" operation with a transformation vector
|
||||
*
|
||||
* This version of the transformation operation allows to specify a transformation per selected object.
|
||||
* This version of the transformation operation allows one to specify a transformation per selected object.
|
||||
* The transformations in the vector must be ordered in the order the selection is delivered by
|
||||
* the selection iterator.
|
||||
* Either global or per-object transformations can be specified. If a per-object transformation is
|
||||
|
|
|
|||
|
|
@ -390,6 +390,30 @@ sm_assign (const char *name, const gsi::ClassBase *cls)
|
|||
return sm;
|
||||
}
|
||||
|
||||
static const std::set<std::pair<std::string, bool> > &name_map_for_class (const gsi::ClassBase *cls, std::map<const gsi::ClassBase *, std::set<std::pair<std::string, bool> > > &cache)
|
||||
{
|
||||
if (! cls) {
|
||||
static std::set<std::pair<std::string, bool> > empty;
|
||||
return empty;
|
||||
}
|
||||
|
||||
std::map<const gsi::ClassBase *, std::set<std::pair<std::string, bool> > >::iterator cc = cache.find (cls);
|
||||
if (cc != cache.end ()) {
|
||||
return cc->second;
|
||||
}
|
||||
|
||||
cc = cache.insert (std::make_pair ((const gsi::ClassBase *) 0, std::set<std::pair<std::string, bool> > ())).first;
|
||||
cc->second = name_map_for_class (cls->base (), cache);
|
||||
|
||||
for (gsi::ClassBase::method_iterator m = cls->begin_methods (); m != cls->end_methods (); ++m) {
|
||||
for (gsi::MethodBase::synonym_iterator syn = (*m)->begin_synonyms (); syn != (*m)->end_synonyms (); ++syn) {
|
||||
cc->second.insert (std::make_pair (syn->name, (*m)->is_static ()));
|
||||
}
|
||||
}
|
||||
|
||||
return cc->second;
|
||||
}
|
||||
|
||||
void
|
||||
ClassBase::merge_declarations ()
|
||||
{
|
||||
|
|
@ -433,6 +457,8 @@ ClassBase::merge_declarations ()
|
|||
}
|
||||
}
|
||||
|
||||
std::map<const gsi::ClassBase *, std::set<std::pair<std::string, bool> > > name_maps;
|
||||
|
||||
// Add to the classes the special methods and clean up the method table
|
||||
for (gsi::ClassBase::class_iterator c = gsi::ClassBase::begin_new_classes (); c != gsi::ClassBase::end_new_classes (); ++c) {
|
||||
|
||||
|
|
@ -441,12 +467,7 @@ ClassBase::merge_declarations ()
|
|||
continue;
|
||||
}
|
||||
|
||||
std::set<std::pair<std::string, bool> > name_map;
|
||||
for (gsi::ClassBase::method_iterator m = c->begin_methods (); m != c->end_methods (); ++m) {
|
||||
for (gsi::MethodBase::synonym_iterator syn = (*m)->begin_synonyms (); syn != (*m)->end_synonyms (); ++syn) {
|
||||
name_map.insert (std::make_pair (syn->name, (*m)->is_static ()));
|
||||
}
|
||||
}
|
||||
const std::set<std::pair<std::string, bool> > &name_map = name_map_for_class (c.operator-> (), name_maps);
|
||||
|
||||
// We don't want the declaration object to be non-const except for this case. So
|
||||
// we const_cast here.
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace gsi
|
|||
|
||||
|
||||
// ---------------------------------------------------------------------------------
|
||||
// A generic value wrapper that allows to wrap a plain data type into an object
|
||||
// A generic value wrapper that allows wrapping a plain data type into an object
|
||||
|
||||
static gsi::Value *new_vv (const tl::Variant &v)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ Class<Logger> decl_Logger ("tl", "Logger",
|
|||
),
|
||||
"@brief A logger\n"
|
||||
"\n"
|
||||
"The logger allows to output messages to the log channels. If the log viewer is open, the "
|
||||
"The logger outputs messages to the log channels. If the log viewer is open, the "
|
||||
"log messages will be shown in the logger view. Otherwise they will be printed to the terminal "
|
||||
"on Linux for example.\n"
|
||||
"\n"
|
||||
|
|
@ -238,7 +238,7 @@ Class<tl::Progress> decl_Progress ("tl", "Progress",
|
|||
"@brief A progress reporter\n"
|
||||
"\n"
|
||||
"This is the base class for all progress reporter objects. Progress reporter objects are used "
|
||||
"to report the progress of some operation and to allow to abort an operation. "
|
||||
"to report the progress of some operation and to allow aborting an operation. "
|
||||
"Progress reporter objects must be triggered periodically, i.e. a value must be set. "
|
||||
"On the display side, a progress bar usually is used to represent the progress of an operation.\n"
|
||||
"\n"
|
||||
|
|
@ -300,7 +300,7 @@ Class<tl::RelativeProgress> decl_RelativeProgress (decl_Progress, "tl", "Relativ
|
|||
"@brief Sets the progress value\n"
|
||||
"@args value, force_yield\n"
|
||||
"\n"
|
||||
"This method is equivalent to \\value=, but it allows to force the event loop to be triggered.\n"
|
||||
"This method is equivalent to \\value=, but it allows forcing the event loop to be triggered.\n"
|
||||
"If \"force_yield\" is true, the event loop will be triggered always, irregardless of the yield interval specified in the constructor.\n"
|
||||
),
|
||||
"@brief A progress reporter counting progress in relative units\n"
|
||||
|
|
@ -394,7 +394,7 @@ Class<tl::AbsoluteProgress> decl_AbsoluteProgress (decl_Progress, "tl", "Absolut
|
|||
"@brief Sets the progress value\n"
|
||||
"@args value, force_yield\n"
|
||||
"\n"
|
||||
"This method is equivalent to \\value=, but it allows to force the event loop to be triggered.\n"
|
||||
"This method is equivalent to \\value=, but it allows forcing the event loop to be triggered.\n"
|
||||
"If \"force_yield\" is true, the event loop will be triggered always, irregardless of the yield interval specified in the constructor.\n"
|
||||
),
|
||||
"@brief A progress reporter counting progress in absolute units\n"
|
||||
|
|
|
|||
|
|
@ -105,8 +105,8 @@ public:
|
|||
/**
|
||||
* @brief An interface controlling the execution of a script
|
||||
*
|
||||
* This interface allows to control the execution of a script. Basically when a script
|
||||
* is executed, the handler allows to intercept the execution and implement breakpoints
|
||||
* This interface controls the execution of a script. Basically when a script
|
||||
* is executed, the handler allows intercepting the execution and implement breakpoints
|
||||
* for example
|
||||
*/
|
||||
class GSI_PUBLIC ExecutionHandler
|
||||
|
|
|
|||
|
|
@ -612,7 +612,7 @@ private:
|
|||
/**
|
||||
* @brief A collection of methods
|
||||
*
|
||||
* The basic purpose of this object is to provide the + operator that allows to concatenate
|
||||
* The basic purpose of this object is to provide the + operator that allows concatenation
|
||||
* method declarations in the class declaration.
|
||||
*/
|
||||
class GSI_PUBLIC Methods
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ gsi::Class<img::DataMapping> decl_ImageDataMapping ("lay", "ImageDataMapping",
|
|||
gsi::method_ext ("gamma", &gsi::gamma,
|
||||
"@brief The gamma value\n"
|
||||
"\n"
|
||||
"The gamma value allows to adjust for non-linearities in the display chain and to enhance contrast.\n"
|
||||
"The gamma value allows one to adjust for non-linearities in the display chain and to enhance contrast.\n"
|
||||
"A value for linear intensity reproduction on the screen is roughly 0.5. The exact value depends on the \n"
|
||||
"monitor calibration. Values below 1.0 give a \"softer\" appearance while values above 1.0 give a \"harder\" appearance.\n"
|
||||
) +
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
</p>
|
||||
|
||||
<p>
|
||||
In the same way, "Move To" allows to reposition the selection to a certain point. The point which
|
||||
In the same way, "Move To" allows one to reposition the selection to a certain point. The point which
|
||||
is positioned can be chosen relative to the bounding box of the selection. If first example,
|
||||
the lower-left corner of the selection is picked as the reference point and a certain position
|
||||
is given in the dialog, the selection is moved such that the lower left position of it's
|
||||
|
|
|
|||
|
|
@ -866,7 +866,7 @@ lv.insert_image(image)</pre>
|
|||
Such a matrix describes the transformation from pixel coordinates to the micron unit space of the canvas.
|
||||
A 3x3 matrix is a generic way to specify a transformation, including translation, rotation, mirror, shear or
|
||||
perspective distortion. The matrix is obtained and set using the <class_doc href="Image#matrix"/> attribute.
|
||||
Convenience methods like <class_doc href="Image#trans"/>, <class_doc href="Image#pixel_width"/> and <class_doc href="Image#pixel_height"/> allow to access sub-aspects
|
||||
Convenience methods like <class_doc href="Image#trans"/>, <class_doc href="Image#pixel_width"/> and <class_doc href="Image#pixel_height"/> allow accessing sub-aspects
|
||||
of the generic transformation (affine transformation, scaling).
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ layout.write("my_layout.gds")</pre>
|
|||
|
||||
<p>
|
||||
The basic building blocks of layouts are layers and cells. Layers are not individual objects. Instead, a layer
|
||||
is rather an index and the various methods allow to address shapes inside layers by using that index. However,
|
||||
is rather an index and the various methods allow addressing shapes inside layers by using that index. However,
|
||||
the layout object stores the layer properties, i.e. the layer and datatype number.
|
||||
</p>
|
||||
|
||||
|
|
@ -955,7 +955,7 @@ shapes.insert(RBA::Box::new(0, 0, 1000, 2000))</pre>
|
|||
Standalone Shapes objects can be useful when the methods of the Shapes object are required
|
||||
(for example, region queries through "each_overlapping"). There are are variety of "insert"
|
||||
methods available, some of which copy shapes from other Shapes containers using a Shape
|
||||
object as the reference for the source object. Some of these variants allow to specify a
|
||||
object as the reference for the source object. Some of these variants allow one to specify a
|
||||
transformation which is applied before the shape is inserted. There are also variants
|
||||
for all geometrical primitives with or without a properties ID.
|
||||
</p>
|
||||
|
|
@ -971,7 +971,7 @@ shapes.insert(RBA::Box::new(0, 0, 1000, 2000))</pre>
|
|||
The content of the Shapes container can be iterated with the <class_doc href="Shapes#each"/> iterator. If will
|
||||
deliver Shape objects pointing to the current geometrical primitive. The <class_doc href="Shapes#each_overlapping"/>
|
||||
and <class_doc href="Shapes#each_touching"/> methods deliver only those primitives whose bounding box overlaps
|
||||
or touches the given rectangle. All iterators allow to specify flags which confine the
|
||||
or touches the given rectangle. All iterators allow one to specify flags which confine the
|
||||
kind of shape delivered. The flags are a combination of the "S..." constants. For example:
|
||||
</p>
|
||||
|
||||
|
|
@ -1075,7 +1075,7 @@ end</pre>
|
|||
delivers the Layout object and <class_doc href="Shape#shapes"/> the Shapes object.
|
||||
</p>
|
||||
|
||||
<p><class_doc href="Shape#property"/>, <class_doc href="Shape#set_property"/> and <class_doc href="Shape#delete_property"/> allow to modify the
|
||||
<p><class_doc href="Shape#property"/>, <class_doc href="Shape#set_property"/> and <class_doc href="Shape#delete_property"/> allow modification of the
|
||||
user properties of the geometrical primitive. The same can be achieved somewhat less
|
||||
conveniently using a properties
|
||||
ID with the <class_doc href="Shape#prop_id"/> attributes' write accessor (<class_doc href="Shape#prop_id="/>). Please note the
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@ ly.top_cell.shapes(ly.layer(100, 0)).insert(r11 & r21)
|
|||
interacting (overlapping or touching) or not interacting with polygons from another region.</p>
|
||||
<p><class_doc href="Region#members_of"/> selects polygons which are contained in the same
|
||||
way in another region.</p>
|
||||
<p><class_doc href="Region#merge"/> and <class_doc href="Region#merged"/> merge the polygons. This feature allows to select overlapping polygons
|
||||
<p><class_doc href="Region#merge"/> and <class_doc href="Region#merged"/> merge the polygons. This feature allows selecting overlapping polygons
|
||||
(minimum wrap count parameter).</p>
|
||||
<p><class_doc href="Region#minkowsky_sum"/> computes the Minkowsky sum of the region with other objects (edges, single polygons and other regions).</p>
|
||||
<p><class_doc href="Region#move"/>, <class_doc href="Region#moved"/>, <class_doc href="Region#transform"/> and
|
||||
|
|
|
|||
|
|
@ -203,8 +203,8 @@ end</pre>
|
|||
<h3>Enums</h3>
|
||||
|
||||
<p>
|
||||
Enum types are available as classes to give them a specific context. Since Ruby does not allow to
|
||||
declare classes within classes, enums declared inside a class must be declared as separate classes outside that class.
|
||||
Enum types are available as classes to give them a specific context. Since Ruby does not allow
|
||||
declaration of classes within classes, enums declared inside a class must be declared as separate classes outside that class.
|
||||
The relationship is indicated by the Enum's class name. For example, <tt>QMessageBox::Icon</tt> (C++) is available
|
||||
as the Ruby class <tt>QMessageBox_Icon</tt>. The enum values are defined as constants within that class and the enclosing class.
|
||||
For example <tt>QMessageBox::Critical</tt> which is a value for <tt>QMessageBox::Icon</tt> is available as <tt>QMessageBox_Icon::Critical</tt> and <tt>QMessageBox::Critical</tt>
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ end</pre>
|
|||
The parameter declaration will create accessor methods for each parameter. These accessor methods can be
|
||||
used to get and set the current value of the parameter inside the production method and other methods.
|
||||
For that, it will use the symbolic name of the parameter. The setter is called "set_x" (where x is the parameter
|
||||
name). Although Ruby would allow to use "x=" to mimic an assignment, this option leads to some confusion
|
||||
name). Although Ruby would allow using "x=" to mimic an assignment, this option leads to some confusion
|
||||
with definition of local variables and was not considered here. The following methods are created in the sample:
|
||||
</p>
|
||||
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ public:
|
|||
* placeholders.
|
||||
* If the rule matches, the end_index will be set to the end of the sequence and output_args
|
||||
* will contain any arguments matched.
|
||||
* generationId is a counter that will incremented when a new block is highlighted. This allows to cache
|
||||
* generationId is a counter that will incremented when a new block is highlighted. This allows caching
|
||||
* matches in some cases (i.e. regexp matcher).
|
||||
*/
|
||||
virtual bool match (const QString &input, unsigned int generation_id, int index, int &end_index, const QList<QString> &input_args, QList<QString> &output_args) const = 0;
|
||||
|
|
|
|||
|
|
@ -689,6 +689,14 @@ MainWindow::MainWindow (QApplication *app, lay::Plugin *plugin_parent, const cha
|
|||
|
||||
MainWindow::~MainWindow ()
|
||||
{
|
||||
// avoid deferred execution later on where there isn't a valid main window anymore
|
||||
// (problem case: showing a dialog inside main windows's destroyed signal - this will
|
||||
// process events and trigger execution if not disabled)
|
||||
if (! tl::DeferredMethodScheduler::instance ()->is_disabled ()) {
|
||||
tl::DeferredMethodScheduler::instance ()->execute ();
|
||||
}
|
||||
tl::DeferredMethodScheduler::instance ()->enable (false);
|
||||
|
||||
lay::register_help_handler (0, 0);
|
||||
|
||||
// since the configuration actions unregister themselves, we need to do this before the main
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<klayout-macro>
|
||||
<description>Qt dialog sample (Ruby)\nCreates a Qt dialog that allows to take and display a screenshot</description>
|
||||
<description>Qt dialog sample (Ruby)\nCreates a Qt dialog that allows one to take and display a screenshot</description>
|
||||
<format>general</format>
|
||||
<autorun>false</autorun>
|
||||
<autorun-early>false</autorun-early>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<klayout-macro>
|
||||
<description>Qt dialog sample (Python)\nCreates a Qt dialog that allows to take and display a screenshot</description>
|
||||
<description>Qt dialog sample (Python)\nCreates a Qt dialog that allows one to take and display a screenshot</description>
|
||||
<version/>
|
||||
<category>pymacros</category>
|
||||
<prolog/>
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ Class<BrowserSource_Stub> decl_BrowserSourceStub ("lay", "BrowserSource",
|
|||
"@args url\n"
|
||||
"\n"
|
||||
"If this method returns an empty string, the browser will not be set to \n"
|
||||
"a new location. This allows to implement any functionality behind such links.\n"
|
||||
"a new location. This allows implementing any functionality behind such links.\n"
|
||||
"If the method returns a string, the content of this string is displayed in the HTML\n"
|
||||
"browser page."
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1266,7 +1266,7 @@ Class<lay::LayerPropertiesNode> decl_LayerPropertiesNode (
|
|||
method_ext ("add_child", &add_child0,
|
||||
"@brief Add a child entry\n"
|
||||
"@return A reference to the node created\n"
|
||||
"This method allows to build a layer properties tree by adding children to node objects. "
|
||||
"This method allows building a layer properties tree by adding children to node objects. "
|
||||
"It returns a reference to the node object created which is a freshly initialized one.\n"
|
||||
"\n"
|
||||
"The parameterless version of this method was introduced in version 0.25."
|
||||
|
|
@ -1275,7 +1275,7 @@ Class<lay::LayerPropertiesNode> decl_LayerPropertiesNode (
|
|||
"@brief Add a child entry\n"
|
||||
"@args child\n"
|
||||
"@return A reference to the node created\n"
|
||||
"This method allows to build a layer properties tree by adding children to node objects. "
|
||||
"This method allows building a layer properties tree by adding children to node objects. "
|
||||
"It returns a reference to the node object created.\n"
|
||||
"\n"
|
||||
"This method was introduced in version 0.22."
|
||||
|
|
|
|||
|
|
@ -437,7 +437,7 @@ Class<lay::LayoutView> decl_LayoutView (QT_EXTERNAL_BASE (QWidget) "lay", "Layou
|
|||
"@param add_default If true, default layers will be added for each other layer in the layout\n"
|
||||
"\n"
|
||||
"Load the layer properties from the file given in \"fn\".\n"
|
||||
"This version allows to specify whether defaults should be used for all other layers by "
|
||||
"This version allows one to specify whether defaults should be used for all other layers by "
|
||||
"setting \"add_default\" to true.\n"
|
||||
"\n"
|
||||
"This variant has been added on version 0.21."
|
||||
|
|
@ -450,7 +450,7 @@ Class<lay::LayoutView> decl_LayoutView (QT_EXTERNAL_BASE (QWidget) "lay", "Layou
|
|||
"@param add_default If true, default layers will be added for each other layer in the layout\n"
|
||||
"\n"
|
||||
"Load the layer properties from the file given in \"fn\".\n"
|
||||
"This version allows to specify whether defaults should be used for all other layers by "
|
||||
"This version allows one to specify whether defaults should be used for all other layers by "
|
||||
"setting \"add_default\" to true. It can be used to load the layer properties for a specific "
|
||||
"cellview by setting \"cv_index\" to the index for which the layer properties file should be applied. "
|
||||
"All present definitions for this layout will be removed before the properties file is loaded. \"cv_index\" can "
|
||||
|
|
@ -465,7 +465,7 @@ Class<lay::LayoutView> decl_LayoutView (QT_EXTERNAL_BASE (QWidget) "lay", "Layou
|
|||
"\n"
|
||||
"@param level The minimum level above which to display something\n"
|
||||
"\n"
|
||||
"This methods allows to set the minimum hierarchy level above which to display geometries."
|
||||
"This methods allows setting the minimum hierarchy level above which to display geometries."
|
||||
"This method may cause a redraw if required."
|
||||
) +
|
||||
gsi::method ("min_hier_levels", &lay::LayoutView::get_min_hier_levels,
|
||||
|
|
@ -478,7 +478,7 @@ Class<lay::LayoutView> decl_LayoutView (QT_EXTERNAL_BASE (QWidget) "lay", "Layou
|
|||
"\n"
|
||||
"@param level The maximum level below which to display something\n"
|
||||
"\n"
|
||||
"This methods allows to set the maximum hierarchy below which to display geometries."
|
||||
"This methods allows setting the maximum hierarchy below which to display geometries."
|
||||
"This method may cause a redraw if required."
|
||||
) +
|
||||
gsi::method ("max_hier_levels", &lay::LayoutView::get_max_hier_levels,
|
||||
|
|
@ -528,7 +528,7 @@ Class<lay::LayoutView> decl_LayoutView (QT_EXTERNAL_BASE (QWidget) "lay", "Layou
|
|||
"@brief Create a new, empty layout and associate it with the given technology\n"
|
||||
"\n"
|
||||
"The add_cellview parameter controls whether to create a new cellview (true)\n"
|
||||
"or clear all cellviews before (false). This variant also allows to control whether the layer properties are\n"
|
||||
"or clear all cellviews before (false). This variant also allows one to control whether the layer properties are\n"
|
||||
"initialized (init_layers = true) or not (init_layers = false).\n"
|
||||
"\n"
|
||||
"@return The index of the cellview created.\n"
|
||||
|
|
@ -572,7 +572,7 @@ Class<lay::LayoutView> decl_LayoutView (QT_EXTERNAL_BASE (QWidget) "lay", "Layou
|
|||
"The technology to use for that layout can be specified as well with the 'tech' parameter. Depending "
|
||||
"on the definition of the technology, layer properties may be loaded for example.\n"
|
||||
"The technology string can be empty for the default technology.\n"
|
||||
"This variant also allows to control whether the layer properties are\n"
|
||||
"This variant also allows one to control whether the layer properties are\n"
|
||||
"initialized (init_layers = true) or not (init_layers = false).\n"
|
||||
"\n"
|
||||
"Note: once a layout is passed to the view with show_layout, it is owned by the view and must not be "
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ namespace gsi
|
|||
// TODO: these static variables are a bad hack!
|
||||
// However it's not easy to pass parameters to a C++ classes constructor in Ruby without
|
||||
// compromising the capability to derive from that class (at least I have not learned how
|
||||
// to create a "new" in the super class *and* allow to "new" the derived class). Anyway,
|
||||
// to create a "new" in the super class *and* allow a "new" of the derived class). Anyway,
|
||||
// since PluginBase object are only allowed to be created inside the create_plugin method
|
||||
// of the factory, this hack is a quick but dirty workaround.
|
||||
static bool s_in_create_plugin = false;
|
||||
|
|
@ -457,7 +457,7 @@ Class<gsi::PluginFactoryBase> decl_PluginFactory ("lay", "PluginFactory",
|
|||
"@param title The title string which is supposed to appear in the tool bar and menu related to this plugin.\n"
|
||||
"@param icon The path to the icon that appears in the tool bar and menu related to this plugin.\n"
|
||||
"\n"
|
||||
"This version also allows to register an icon for the tool bar.\n"
|
||||
"This version also allows registering an icon for the tool bar.\n"
|
||||
"\n"
|
||||
"Registration of the plugin factory makes the object known to the system. Registration requires that the menu items have been set "
|
||||
"already. Hence it is recommended to put the registration at the end of the initialization method of the factory class.\n"
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
#include <map>
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// A helper class that allows to put a QImage into a tl::Variant
|
||||
// A helper class that allows putting a QImage into a tl::Variant
|
||||
|
||||
namespace tl
|
||||
{
|
||||
|
|
|
|||
|
|
@ -107,8 +107,8 @@ private:
|
|||
* @brief A QAction proxy
|
||||
*
|
||||
* This class is provided to be better suited to automation because it provides the corresponding interfaces
|
||||
* and allows to implement the "trigger" event by reimplementation of the slot (after being connected).
|
||||
* In addition, by acting as a proxy, it allows to reference a QAction object created by Qt itself (i.e.
|
||||
* and allows implementing the "trigger" event by reimplementation of the slot (after being connected).
|
||||
* In addition, by acting as a proxy, it can act as a reference to a QAction object created by Qt itself (i.e.
|
||||
* within a QMenu).
|
||||
* To reimplement the "triggered" method, derive a class from Action and reimplement "triggered". Then
|
||||
* pass a reference to this object to "insert_item" of AbstractMenu and store away the derived object.
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public:
|
|||
* This method can be overloaded by derived classes to provide actions
|
||||
* for activation of the dialog, like setup of the controls etc.
|
||||
* This handler is called immediately before the dialog becomes visible.
|
||||
* The 'active' method allows to query if the dialog is active.
|
||||
* The 'active' method returns a value indicating whether the dialog is active.
|
||||
*/
|
||||
virtual void activated ()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ public:
|
|||
* @brief Get the HTML code for a given "int" URL.
|
||||
*
|
||||
* If this method returns an empty string, the browser will not be set to
|
||||
* a new location. This allows to implement any functionality behind such links.
|
||||
* a new location. This allows implementing any functionality behind such links.
|
||||
*/
|
||||
virtual std::string get (const std::string &url);
|
||||
|
||||
|
|
@ -250,7 +250,7 @@ private:
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief A specialisation of QTextBrowser that allows to load a specific resource through BrowserPanel
|
||||
* @brief A specialisation of QTextBrowser that allows loading a specific resource through BrowserPanel
|
||||
*/
|
||||
class LAYBASIC_PUBLIC BrowserTextWidget
|
||||
: public QTextBrowser
|
||||
|
|
@ -274,7 +274,7 @@ private:
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief A specialisation of QWidget around a TextBrowser that allows to load a specific resource
|
||||
* @brief A specialisation of QWidget around a TextBrowser that allows loading a specific resource
|
||||
*/
|
||||
class LAYBASIC_PUBLIC BrowserPanel
|
||||
: public QWidget
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ public:
|
|||
* This method will throw an exception if the string does not have a valid format
|
||||
* like the one returned by the to_string method.
|
||||
*
|
||||
* If simple is true, this method allows to set a palette without luminous colors
|
||||
* If simple is true, this method allows setting a palette without luminous colors
|
||||
* and without colors at all.
|
||||
*/
|
||||
void from_string (const std::string &s, bool simple = false);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ namespace lay
|
|||
* @brief Generic file dialog
|
||||
*
|
||||
* This dialog is provided to encapsulate the Qt file dialog.
|
||||
* This implementation allows to stay within a directory even
|
||||
* This implementation allows staying within a directory even
|
||||
* if the static convenience functions are used. Under Windows,
|
||||
* we need to use the static functions since these use the
|
||||
* system dialogs.
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ protected:
|
|||
/**
|
||||
* @brief The hierarchy control panel
|
||||
*
|
||||
* The hierarchy control panel allows to change the cell shown
|
||||
* The hierarchy control panel allows changing the cell shown, to
|
||||
* browse the hierarchy and disable/enable cells
|
||||
*
|
||||
* The class communicates with a Layout interface for
|
||||
|
|
@ -186,7 +186,7 @@ public:
|
|||
* @brief Update the contents if necessary
|
||||
*
|
||||
* Update the cell trees according to the hierarchy found in
|
||||
* the layouts. This version allows to give an hint what cellview has changed.
|
||||
* the layouts. This version includes a hint which cellview has changed.
|
||||
*/
|
||||
void do_update_content (int cv_index);
|
||||
|
||||
|
|
|
|||
|
|
@ -1446,7 +1446,7 @@ struct LAYBASIC_PUBLIC CompareLayerIteratorBottomUp
|
|||
* @brief Flat, non-const layer iterator
|
||||
*
|
||||
* This iterator provides a flat view for the layers in the layer tree
|
||||
* and allows to change the item pointed to.
|
||||
* and allows changing the item pointed to.
|
||||
*/
|
||||
class LAYBASIC_PUBLIC LayerPropertiesIterator
|
||||
: public LayerPropertiesConstIterator
|
||||
|
|
|
|||
|
|
@ -2691,7 +2691,7 @@ LayoutView::save_screenshot (const std::string &fn)
|
|||
|
||||
QImageWriter writer (tl::to_qstring (fn), QByteArray ("PNG"));
|
||||
|
||||
// Unfortunately the PNG writer does not allow to write long strings.
|
||||
// Unfortunately the PNG writer does not allow writing of long strings.
|
||||
// We separate the description into a set of keys:
|
||||
|
||||
for (unsigned int i = 0; i < cellviews (); ++i) {
|
||||
|
|
@ -2748,7 +2748,7 @@ LayoutView::save_image (const std::string &fn, unsigned int width, unsigned int
|
|||
|
||||
QImageWriter writer (tl::to_qstring (fn), QByteArray ("PNG"));
|
||||
|
||||
// Unfortunately the PNG writer does not allow to write long strings.
|
||||
// Unfortunately the PNG writer does not allow writing of long strings.
|
||||
// We separate the description into a set of keys:
|
||||
|
||||
for (unsigned int i = 0; i < cellviews (); ++i) {
|
||||
|
|
@ -2780,7 +2780,7 @@ LayoutView::save_image_with_options (const std::string &fn,
|
|||
|
||||
QImageWriter writer (tl::to_qstring (fn), QByteArray ("PNG"));
|
||||
|
||||
// Unfortunately the PNG writer does not allow to write long strings.
|
||||
// Unfortunately the PNG writer does not allow writing of long strings.
|
||||
// We separate the description into a set of keys:
|
||||
|
||||
for (unsigned int i = 0; i < cellviews (); ++i) {
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ public:
|
|||
/**
|
||||
* @brief Fill the layer properties for a new layer
|
||||
*
|
||||
* The layer's source must be set already to allow to compute the initial color.
|
||||
* The layer's source must be set already to allow computing of the initial color.
|
||||
* It is assumed that the layer is appended at the end of the layer list. This
|
||||
* is important to set the dither pattern index accordingly.
|
||||
*/
|
||||
|
|
@ -798,7 +798,7 @@ public:
|
|||
*
|
||||
* @param fn The file to load
|
||||
*
|
||||
* This version allows to specify whether defaults should be used for all other layers by
|
||||
* This version allows one to specify whether defaults should be used for all other layers by
|
||||
* setting add_default to true
|
||||
*/
|
||||
void load_layer_props (const std::string &fn, bool add_default);
|
||||
|
|
@ -808,7 +808,7 @@ public:
|
|||
*
|
||||
* @param fn The file to load
|
||||
*
|
||||
* This version allows to specify whether defaults should be used for all other layers by
|
||||
* This version allows one to specify whether defaults should be used for all other layers by
|
||||
* setting add_default to true. In addition, this version will apply the .lyp definitions
|
||||
* to a specific cellview after removing all definitions for this one. If cv_index is set
|
||||
* to -1, the .lyp file will be applied to each cellview. In any case, the cv index specs
|
||||
|
|
@ -1366,7 +1366,7 @@ public:
|
|||
* @brief Create a new, empty layout using the specified technology
|
||||
*
|
||||
* The add_cellview param controls whether to create a new cellview
|
||||
* or clear all cellviews before. This version allows to specify whether layer properties shall be created.
|
||||
* or clear all cellviews before. This version allows one to specify whether layer properties shall be created.
|
||||
*
|
||||
* @return The index of the cellview created.
|
||||
*/
|
||||
|
|
@ -1378,7 +1378,7 @@ public:
|
|||
* The add_cellview param controls whether to add the layout as a new cellview
|
||||
* or clear all cellviews before.
|
||||
*
|
||||
* The "initialize_layers" parameter allows to specify whether the layer properties shall be initialized.
|
||||
* The "initialize_layers" parameter allows one to specify whether the layer properties shall be initialized.
|
||||
*
|
||||
* @return The index of the cellview loaded.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -542,7 +542,7 @@ public:
|
|||
* selection. The set should be empty on enter. Otherwise the results are
|
||||
* not defined.
|
||||
* The return value is true if the ids are to be interpretated inversely (every properties id
|
||||
* matches that is not in the set). This allows to optimize the computation of the set.
|
||||
* matches that is not in the set). This allows optimizing the computation of the set.
|
||||
*/
|
||||
bool matching (const db::PropertiesRepository &rep, std::set<db::properties_id_type> &matching) const;
|
||||
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ PluginDeclaration::init_menu ()
|
|||
|
||||
lay::AbstractMenu &menu = *lay::AbstractMenuProvider::instance ()->menu ();
|
||||
|
||||
// pre-initialize to allow to multiple init_menu calls
|
||||
// pre-initialize to allow multiple init_menu calls
|
||||
m_editable_mode_action = lay::Action ();
|
||||
m_mouse_mode_action = lay::Action ();
|
||||
m_menu_actions.clear ();
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ private:
|
|||
std::string m_format_name;
|
||||
db::StreamFormatDeclaration *mp_stream_fmt;
|
||||
|
||||
// don't allow to override - use a special configuration page for that purpose.
|
||||
// don't allow overrides - use a special configuration page for that purpose.
|
||||
virtual ConfigPage *config_page (QWidget * /*parent*/, std::string & /*title*/) const
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public:
|
|||
*
|
||||
* Creates a tip dialog with the given parent, message text and configuration key. The configuration key
|
||||
* is the key under which the status of the dialog is stored.
|
||||
* The buttons argument allows to specify which buttons to show (see buttons_type enum for the button
|
||||
* The buttons argument allows one to specify which buttons to show (see buttons_type enum for the button
|
||||
* combinations available.
|
||||
*/
|
||||
TipDialog (QWidget *parent, const std::string &text, const std::string &key, buttons_type buttons = close_buttons);
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ private:
|
|||
/**
|
||||
* @brief A library selection combo box
|
||||
*
|
||||
* This combo box allows to select a library
|
||||
* This combo box allows selecting a library
|
||||
*/
|
||||
class LAYBASIC_PUBLIC LibrarySelectionComboBox
|
||||
: public QComboBox
|
||||
|
|
@ -166,7 +166,7 @@ private:
|
|||
/**
|
||||
* @brief A layer selection combo box
|
||||
*
|
||||
* This combo box allows to select a (physical) layer from a layout
|
||||
* This combo box allows selecting a (physical) layer from a layout
|
||||
*/
|
||||
class LAYBASIC_PUBLIC LayerSelectionComboBox
|
||||
: public QComboBox
|
||||
|
|
@ -254,7 +254,7 @@ private:
|
|||
/**
|
||||
* @brief A cell view selection combo box
|
||||
*
|
||||
* This combo box allows to select a cellview from a lay::LayoutView
|
||||
* This combo box allows selecting a cellview from a lay::LayoutView
|
||||
*/
|
||||
class LAYBASIC_PUBLIC CellViewSelectionComboBox
|
||||
: public QComboBox
|
||||
|
|
|
|||
|
|
@ -1131,7 +1131,7 @@ private:
|
|||
/**
|
||||
* @brief A signal to macro adaptor
|
||||
*
|
||||
* This class allows to call a macro from a signal
|
||||
* This class allows calling a macro from a signal
|
||||
*/
|
||||
class LYM_PUBLIC MacroSignalAdaptor
|
||||
: public QObject
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ public:
|
|||
/**
|
||||
* @brief Specify the unit of the DXF file
|
||||
*
|
||||
* Since DXF is unitless, this value allows to specify the units of the DXF file given as input.
|
||||
* Since DXF is unitless, this value allows one to specify the units of the DXF file given as input.
|
||||
*/
|
||||
double unit;
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public:
|
|||
/**
|
||||
* @brief Allow multiple big records
|
||||
*
|
||||
* Setting this property to true allows to use up to 65535 bytes (instead of 32767) per record
|
||||
* Setting this property to true allows using up to 65535 bytes (instead of 32767) per record
|
||||
* by treating the record length as unsigned short rather than signed short.
|
||||
* This allows bigger polygons (up to ~8000 points) without having to use multiple XY records.
|
||||
*/
|
||||
|
|
@ -70,7 +70,7 @@ public:
|
|||
/**
|
||||
* @brief Allow multiple XY records in BOUNDARY elements for unlimited large polygons
|
||||
*
|
||||
* Setting this property to true allows to unlimited polygons
|
||||
* Setting this property to true allows producing polygons with an unlimited number of points
|
||||
* by using multiple XY records.
|
||||
*/
|
||||
bool allow_multi_xy_records;
|
||||
|
|
@ -141,7 +141,7 @@ public:
|
|||
/**
|
||||
* @brief Use multiple XY records in BOUNDARY elements for unlimited large polygons
|
||||
*
|
||||
* Setting this property to true allows to produce unlimited polygons
|
||||
* Setting this property to true allows produce polygons with an unlimited number of points
|
||||
* at the cost of incompatible formats.
|
||||
*/
|
||||
bool multi_xy_records;
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ gsi::ClassExt<db::SaveLayoutOptions> gds2_writer_options (
|
|||
"@brief Use multiple XY records in BOUNDARY elements for unlimited large polygons\n"
|
||||
"@args flag\n"
|
||||
"\n"
|
||||
"Setting this property to true allows to produce unlimited polygons \n"
|
||||
"Setting this property to true allows producing polygons with an unlimited number of points \n"
|
||||
"at the cost of incompatible formats. Setting it to true disables the \\gds2_max_vertex_count setting.\n"
|
||||
"\nThis property has been added in version 0.18.\n"
|
||||
) +
|
||||
|
|
|
|||
|
|
@ -501,7 +501,7 @@ Compressor<Obj>::flush (db::OASISWriter *writer)
|
|||
|
||||
}
|
||||
|
||||
// Apply some heuristic criterion that allows to determine whether it's worth doing the compression
|
||||
// Apply some heuristic criterion that allows the algorithm to determine whether it's worth doing the compression
|
||||
|
||||
// Try to compact these repetitions further, y direction first, then x direction
|
||||
for (int xypass2 = 1; xypass2 >= 0; --xypass2) {
|
||||
|
|
|
|||
|
|
@ -902,7 +902,7 @@ public:
|
|||
/**
|
||||
* @brief Specifies the layer styles to use
|
||||
*
|
||||
* This allows to specify a layer style file (path) which will be loaded
|
||||
* This allows one to specify a layer style file (path) which will be loaded
|
||||
* after the Gerber files have been imported.
|
||||
*
|
||||
* Specify an empty string to disable that feature.
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@
|
|||
<item>
|
||||
<widget class="QCheckBox" name="free_mapping_cb" >
|
||||
<property name="text" >
|
||||
<string>Free layer mapping (allows to specify arbitrary mapping between PCB files and layout layers)</string>
|
||||
<string>Free layer mapping (allows one to specify arbitrary mapping between PCB files and layout layers)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
@ -1076,7 +1076,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay
|
|||
<property name="text" >
|
||||
<string>Leave fields empty to specify less reference points. One point is used to derive the displacement, further points are used to derive the orientation. Currently, no magnification is implied and only simple rotations are derived from the mapping points.
|
||||
|
||||
Alternatively the transformation (imported to existing layout) can be specified using the explicit transformation below. This allows to specify an arbitrary transformation. Use the common notation (i.e. "*2 r90 10,-100").</string>
|
||||
Alternatively the transformation (imported to existing layout) can be specified using the explicit transformation below. This allows one to specify an arbitrary transformation. Use the common notation (i.e. "*2 r90 10,-100").</string>
|
||||
</property>
|
||||
<property name="wordWrap" >
|
||||
<bool>true</bool>
|
||||
|
|
|
|||
|
|
@ -743,7 +743,7 @@
|
|||
<property name="text" >
|
||||
<string>Leave fields empty to specify less reference points. One point is used to derive the displacement, further points are used to derive the orientation. Currently, no magnification is implied and only simple rotations are derived from the mapping points.
|
||||
|
||||
Alternatively the transformation (imported to existing layout) can be specified using the explicit transformation below. This allows to specify an arbitrary transformation. Use the common notation (i.e. "*2 r90 10,-100").</string>
|
||||
Alternatively the transformation (imported to existing layout) can be specified using the explicit transformation below. This allows one to specify an arbitrary transformation. Use the common notation (i.e. "*2 r90 10,-100").</string>
|
||||
</property>
|
||||
<property name="wordWrap" >
|
||||
<bool>true</bool>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
<ui version="4.0" >
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>NetTracerConfigPage</class>
|
||||
<widget class="QFrame" name="NetTracerConfigPage" >
|
||||
<property name="geometry" >
|
||||
<widget class="QFrame" name="NetTracerConfigPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
|
|
@ -9,51 +10,69 @@
|
|||
<height>554</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<property name="windowTitle">
|
||||
<string>Net Tracer Config Page</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" >
|
||||
<property name="margin" >
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="spacing" >
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2" >
|
||||
<property name="title" >
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Net Appearance</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" >
|
||||
<property name="margin" >
|
||||
<layout class="QGridLayout">
|
||||
<property name="leftMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="spacing" >
|
||||
<property name="topMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="0" >
|
||||
<widget class="QLabel" name="label_6" >
|
||||
<property name="text" >
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>By default, the original layer's style is used for the highlighted net.
|
||||
This style can be overridden by specifying a color, stipple, line width etc.
|
||||
Leave those fields empty to use the original style.
|
||||
With "original color", the color intensity adjustment allows to increase or decrease the
|
||||
With "original color", the color intensity adjustment allows increasing or decreasing the
|
||||
brightness of the color used.</string>
|
||||
</property>
|
||||
<property name="wordWrap" >
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" >
|
||||
<item row="1" column="0">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>556</width>
|
||||
<height>16</height>
|
||||
|
|
@ -61,37 +80,46 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="3" column="0" >
|
||||
<widget class="QFrame" name="frame_2" >
|
||||
<property name="frameShape" >
|
||||
<item row="3" column="0">
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow" >
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" >
|
||||
<property name="margin" >
|
||||
<layout class="QGridLayout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="spacing" >
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="6" >
|
||||
<widget class="QLabel" name="label_3" >
|
||||
<property name="text" >
|
||||
<item row="0" column="0" colspan="6">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Net highlighting</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" >
|
||||
<item row="3" column="0">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>20</height>
|
||||
|
|
@ -99,15 +127,15 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0" >
|
||||
<item row="1" column="0">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>20</height>
|
||||
|
|
@ -115,29 +143,29 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="2" >
|
||||
<widget class="QLabel" name="label_9" >
|
||||
<property name="text" >
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>or</string>
|
||||
</property>
|
||||
<property name="alignment" >
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4" >
|
||||
<widget class="QLabel" name="label_4" >
|
||||
<property name="text" >
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>% intensity increase</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5" >
|
||||
<item row="1" column="5">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>201</width>
|
||||
<height>20</height>
|
||||
|
|
@ -145,83 +173,92 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="3" column="3" colspan="3" >
|
||||
<widget class="QFrame" name="frame_3" >
|
||||
<property name="frameShape" >
|
||||
<item row="3" column="3" colspan="3">
|
||||
<widget class="QFrame" name="frame_3">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow" >
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" >
|
||||
<property name="margin" >
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="spacing" >
|
||||
<layout class="QHBoxLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc0" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc0">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc1" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc1">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc2" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc2">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc3" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc3">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc4" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc4">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc5" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc5">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc6" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc6">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="cc7" >
|
||||
<property name="text" >
|
||||
<widget class="QToolButton" name="cc7">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
|
|
@ -232,47 +269,45 @@ brightness of the color used.</string>
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1" colspan="2" >
|
||||
<widget class="QCheckBox" name="cycle_colors_cb" >
|
||||
<property name="text" >
|
||||
<item row="3" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="cycle_colors_cb">
|
||||
<property name="text">
|
||||
<string>Auto-color with palette</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="6" >
|
||||
<widget class="QLabel" name="label_8" >
|
||||
<property name="text" >
|
||||
<item row="2" column="0" colspan="6">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Net coloring</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3" >
|
||||
<widget class="QSpinBox" name="brightness_sb" >
|
||||
<property name="maximum" >
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="minimum" >
|
||||
<item row="1" column="3">
|
||||
<widget class="QSpinBox" name="brightness_sb">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="singleStep" >
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" >
|
||||
<widget class="lay::ColorButton" name="color_pb" >
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy>
|
||||
<hsizetype>13</hsizetype>
|
||||
<vsizetype>13</vsizetype>
|
||||
<item row="1" column="1">
|
||||
<widget class="lay::ColorButton" name="color_pb">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Ignored" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<property name="toolTip">
|
||||
<string>The color in which the rulers are drawn</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
|
|
@ -280,48 +315,57 @@ brightness of the color used.</string>
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" >
|
||||
<widget class="QFrame" name="frame" >
|
||||
<property name="frameShape" >
|
||||
<item row="2" column="0">
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow" >
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" >
|
||||
<property name="margin" >
|
||||
<layout class="QGridLayout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="spacing" >
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="2" column="3" >
|
||||
<widget class="QLabel" name="vs_lbl" >
|
||||
<property name="text" >
|
||||
<item row="2" column="3">
|
||||
<widget class="QLabel" name="vs_lbl">
|
||||
<property name="text">
|
||||
<string>Vertex size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="3" >
|
||||
<widget class="QLabel" name="textLabel1_4" >
|
||||
<property name="text" >
|
||||
<item row="0" column="3" rowspan="2">
|
||||
<widget class="QLabel" name="textLabel1_4">
|
||||
<property name="text">
|
||||
<string>Line width</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="5" >
|
||||
<widget class="QLabel" name="label_5" >
|
||||
<property name="text" >
|
||||
<item row="2" column="5">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>pixel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="3" row="0" column="6" >
|
||||
<item row="0" column="6" rowspan="3">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>71</width>
|
||||
<height>31</height>
|
||||
|
|
@ -329,39 +373,35 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="4" >
|
||||
<widget class="QLineEdit" name="vs_le" >
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy>
|
||||
<hsizetype>5</hsizetype>
|
||||
<vsizetype>0</vsizetype>
|
||||
<item row="2" column="4">
|
||||
<widget class="QLineEdit" name="vs_le">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="4" >
|
||||
<widget class="QLineEdit" name="lw_le" >
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy>
|
||||
<hsizetype>5</hsizetype>
|
||||
<vsizetype>0</vsizetype>
|
||||
<item row="0" column="4" rowspan="2">
|
||||
<widget class="QLineEdit" name="lw_le">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="7" >
|
||||
<item row="3" column="0" colspan="7">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>590</width>
|
||||
<height>16</height>
|
||||
|
|
@ -369,61 +409,59 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="1" >
|
||||
<widget class="lay::DitherPatternSelectionButton" name="stipple_pb" >
|
||||
<property name="text" >
|
||||
<item row="0" column="1" rowspan="2">
|
||||
<widget class="lay::DitherPatternSelectionButton" name="stipple_pb">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="0" >
|
||||
<widget class="QLabel" name="label" >
|
||||
<property name="text" >
|
||||
<item row="0" column="0" rowspan="2">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Stipple </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" >
|
||||
<widget class="QCheckBox" name="halo_cb" >
|
||||
<property name="text" >
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="halo_cb">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="tristate" >
|
||||
<property name="tristate">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" >
|
||||
<widget class="QLabel" name="label_7" >
|
||||
<property name="text" >
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Halo</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="5" >
|
||||
<widget class="QLabel" name="textLabel2_2" >
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy>
|
||||
<hsizetype>0</hsizetype>
|
||||
<vsizetype>0</vsizetype>
|
||||
<item row="0" column="5" rowspan="2">
|
||||
<widget class="QLabel" name="textLabel2_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string>pixel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="3" row="0" column="2" >
|
||||
<item row="0" column="2" rowspan="3">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>20</height>
|
||||
|
|
@ -438,26 +476,35 @@ brightness of the color used.</string>
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox" >
|
||||
<property name="title" >
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Net Browser</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" >
|
||||
<property name="margin" >
|
||||
<layout class="QGridLayout">
|
||||
<property name="leftMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="spacing" >
|
||||
<property name="topMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="2" >
|
||||
<item row="0" column="2">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>10</width>
|
||||
<height>20</height>
|
||||
|
|
@ -465,77 +512,73 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="1" >
|
||||
<widget class="QComboBox" name="cbx_window" >
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="cbx_window">
|
||||
<item>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string>Don't change</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string>Fit net with margin ..</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string>Center net</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string>Center net with size ..</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3" >
|
||||
<widget class="QLineEdit" name="le_max_markers" >
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy>
|
||||
<hsizetype>5</hsizetype>
|
||||
<vsizetype>0</vsizetype>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLineEdit" name="le_max_markers">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" >
|
||||
<widget class="QLabel" name="textLabel1_2" >
|
||||
<property name="text" >
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="textLabel1_2">
|
||||
<property name="text">
|
||||
<string>Window </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4" >
|
||||
<widget class="QLabel" name="textLabel2" >
|
||||
<property name="text" >
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="textLabel2">
|
||||
<property name="text">
|
||||
<string>µm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3" >
|
||||
<widget class="QLineEdit" name="le_window" >
|
||||
<property name="enabled" >
|
||||
<item row="0" column="3">
|
||||
<widget class="QLineEdit" name="le_window">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy>
|
||||
<hsizetype>5</hsizetype>
|
||||
<vsizetype>0</vsizetype>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="5" >
|
||||
<item row="0" column="5" rowspan="2">
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
|
|
@ -543,9 +586,9 @@ brightness of the color used.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3" >
|
||||
<widget class="QLabel" name="label_2" >
|
||||
<property name="text" >
|
||||
<item row="1" column="0" colspan="3">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Maximum number of shapes highlighted</string>
|
||||
</property>
|
||||
</widget>
|
||||
|
|
@ -555,7 +598,7 @@ brightness of the color used.</string>
|
|||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11" />
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>lay::DitherPatternSelectionButton</class>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
# klayout library definition file
|
||||
|
||||
__all__ = [ "tl", "db", "lay", "rdb" ]
|
||||
__all__ = [ "tl", "db", "lib", "lay", "rdb" ]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
# klayout library definition file
|
||||
|
||||
__all__ = [ "tl", "db", "rdb", "QtCore", "QtGui", "QtXml", "QtSql", "QtNetwork", "QtDesigner", "lay" ]
|
||||
__all__ = [ "tl", "db", "lib", "rdb", "QtCore", "QtGui", "QtXml", "QtSql", "QtNetwork", "QtDesigner", "lay" ]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
# klayout library definition file
|
||||
|
||||
__all__ = [ "tl", "db", "rdb",
|
||||
__all__ = [ "tl", "db", "lib", "rdb",
|
||||
"QtCore", "QtGui", "QtNetwork", "QtSql", "QtWidgets", "QtDesigner",
|
||||
"QtMultimedia", "QtPrintSupport", "QtSvg", "QtXmlPatterns", "QtXml",
|
||||
"lay" ]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# klayout library definition file
|
||||
|
||||
__all__ = [ "tl", "db", "rdb" ]
|
||||
__all__ = [ "tl", "db", "lib", "rdb" ]
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
import klayout.libcore
|
||||
from klayout.libcore import *
|
||||
|
||||
__all__ = klayout.libcore.__all__
|
||||
|
|
@ -3,5 +3,6 @@
|
|||
# TODO: We need a specification document explaining what should go into pya
|
||||
|
||||
from klayout.db import * # noqa
|
||||
from klayout.lib import * # noqa
|
||||
from klayout.tl import * # noqa
|
||||
from klayout.rdb import * # noqa
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
TARGET = libcore
|
||||
REALMODULE = lib
|
||||
|
||||
include($$PWD/../pymod.pri)
|
||||
|
||||
SOURCES = \
|
||||
libMain.cc \
|
||||
|
||||
HEADERS += \
|
||||
|
||||
LIBS += -lklayout_lib
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
/*
|
||||
|
||||
KLayout Layout Viewer
|
||||
Copyright (C) 2006-2019 Matthias Koefferlein
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
*/
|
||||
|
||||
#include "../pymodHelper.h"
|
||||
|
||||
// to force linking of the lib module
|
||||
#include "../../lib/lib/libForceLink.h"
|
||||
|
||||
static PyObject *lib_module_init (const char *pymod_name, const char *mod_name, const char *mod_description)
|
||||
{
|
||||
return module_init (pymod_name, mod_name, mod_description);
|
||||
}
|
||||
|
||||
DEFINE_PYMOD_WITH_INIT(libcore, "lib", "KLayout core module 'lib'", lib_module_init)
|
||||
|
|
@ -4,6 +4,7 @@ SUBDIRS = \
|
|||
db \
|
||||
tl \
|
||||
rdb \
|
||||
lib \
|
||||
|
||||
!equals(HAVE_QT, "0") {
|
||||
|
||||
|
|
|
|||
|
|
@ -514,7 +514,7 @@ VALUE rba_eval_string_in_context (const char *expr, const char *file, int line,
|
|||
int argc;
|
||||
VALUE args[4];
|
||||
args[0] = rb_str_new (expr, long (strlen (expr)));
|
||||
// use the current binding if there is one. This allows to eval in the context of a current trace callback
|
||||
// use the current binding if there is one. This allows using "eval" in the context of a current trace callback
|
||||
// when eval is called from the trace handler.
|
||||
if (context < 0) {
|
||||
args[1] = rb_const_get (rb_cObject, rb_intern ("TOPLEVEL_BINDING")); // taken from ruby.c
|
||||
|
|
|
|||
|
|
@ -180,12 +180,12 @@ inline void rb_protect_init ()
|
|||
|
||||
#define RUBY_BEGIN_EXEC \
|
||||
try { \
|
||||
rba::RubyInterpreter::instance()->begin_exec ();
|
||||
if (rba::RubyInterpreter::instance ()) { rba::RubyInterpreter::instance ()->begin_exec (); }
|
||||
|
||||
#define RUBY_END_EXEC \
|
||||
rba::RubyInterpreter::instance()->end_exec (); \
|
||||
if (rba::RubyInterpreter::instance ()) { rba::RubyInterpreter::instance()->end_exec (); } \
|
||||
} catch (...) { \
|
||||
rba::RubyInterpreter::instance()->end_exec (); \
|
||||
if (rba::RubyInterpreter::instance ()) { rba::RubyInterpreter::instance()->end_exec (); } \
|
||||
throw; \
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1066,7 +1066,7 @@ Class<rdb::Database> decl_ReportDatabase ("rdb", "ReportDatabase",
|
|||
gsi::method ("generator", &rdb::Database::generator,
|
||||
"@brief Gets the databases generator\n"
|
||||
"The generator string describes how the database was created, i.e. DRC tool name and tool options.\n"
|
||||
"In a later version this should allow to rerun the tool that created the report.\n"
|
||||
"In a later version this will allow re-running the tool that created the report.\n"
|
||||
"@return The generator string\n"
|
||||
) +
|
||||
gsi::method ("generator=", &rdb::Database::set_generator, gsi::arg ("generator"),
|
||||
|
|
|
|||
|
|
@ -184,10 +184,10 @@ public:
|
|||
/**
|
||||
* @brief Deferred execution of a const method
|
||||
*
|
||||
* This template allows to schedule a deferred execution of a certain method.
|
||||
* This template allows executing a certain method in a delayed fashion.
|
||||
* The method is not called immediately but as soon as the applications becomes
|
||||
* idle - i.e. GUI events are being processed.
|
||||
* This allows to schedule GUI update requests or similar.
|
||||
* This allows scheduling GUI update requests or similar.
|
||||
* The compress parameter controls whether multiple calls to the same method are
|
||||
* compressed and combined into a single call. This is an efficient way to
|
||||
* schedule a single GUI update request from frequently called and time critical
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue