Notation used in Ruby API documentation
Module: db
Description: EdgePairs (a collection of edge pairs)
Class hierarchy: EdgePairs » ShapeCollection
Edge pairs are used mainly in the context of the DRC functions (width_check, space_check etc.) of Region and Edges. A single edge pair represents two edges participating in a DRC violation. In the two-layer checks (inside, overlap) The first edge represents an edge from the first layer and the second edge an edge from the second layer. For single-layer checks (width, space) the order of the edges is arbitrary.
This class has been introduced in version 0.23.
new EdgePairs ptr | new | Default constructor | |
new EdgePairs ptr | new | (EdgePair[] array) | Constructor from an edge pair array |
new EdgePairs ptr | new | (const EdgePair edge_pair) | Constructor from a single edge pair object |
new EdgePairs ptr | new | (const Shapes shapes) | Shapes constructor |
new EdgePairs ptr | new | (const RecursiveShapeIterator shape_iterator) | Constructor from a hierarchical shape set |
new EdgePairs ptr | new | (const RecursiveShapeIterator shape_iterator, const ICplxTrans trans) | Constructor from a hierarchical shape set with a transformation |
new EdgePairs ptr | new | (const RecursiveShapeIterator shape_iterator, DeepShapeStore dss) | Creates a hierarchical edge pair collection from an original layer |
new EdgePairs ptr | new | (const RecursiveShapeIterator shape_iterator, DeepShapeStore dss, const ICplxTrans trans) | Creates a hierarchical edge pair collection from an original layer with a transformation |
[const] | EdgePairs | + | (const EdgePairs other) | Returns the combined edge pair collection of self and the other one |
EdgePairs | += | (const EdgePairs other) | Adds the edge pairs of the other edge pair collection to self | |
[const] | const EdgePair ptr | [] | (unsigned long n) | Returns the nth edge pair |
[const] | EdgePairs ptr | _const_cast | Returns a non-const reference to self. | |
void | _create | Ensures the C++ object is created | ||
void | _destroy | Explicitly destroys the object | ||
[const] | bool | _destroyed? | Returns a value indicating whether the object was already destroyed | |
[const] | bool | _is_const_object? | Returns a value indicating whether the reference is a const reference | |
void | _manage | Marks the object as managed by the script side. | ||
void | _unmanage | Marks the object as no longer owned by the script side. | ||
void | assign | (const EdgePairs other) | Assigns another object to self | |
[const] | Box | bbox | Return the bounding box of the edge pair collection | |
void | clear | Clears the edge pair collection | ||
[const] | unsigned long | count | Returns the (flat) number of edge pairs in the edge pair collection | |
[const] | unsigned long | data_id | Returns the data ID (a unique identifier for the underlying data storage) | |
void | disable_progress | Disable progress reporting | ||
[const] | new EdgePairs ptr | dup | Creates a copy of self | |
[const,iter] | EdgePair | each | Returns each edge pair of the edge pair collection | |
[const] | Edges | edges | Decomposes the edge pairs into single edges | |
void | enable_progress | (string label) | Enable progress reporting | |
void | enable_properties | Enables properties for the given container. | ||
[const] | Region | extents | Returns a region with the bounding boxes of the edge pairs | |
[const] | Region | extents | (int d) | Returns a region with the enlarged bounding boxes of the edge pairs |
[const] | Region | extents | (int dx, int dy) | Returns a region with the enlarged bounding boxes of the edge pairs |
void | filter | (const EdgePairFilter ptr filter) | Applies a generic filter in place (replacing the edge pairs from the EdgePair collection) | |
void | filter_properties | (variant[] keys) | Filters properties by certain keys. | |
[const] | EdgePairs | filtered | (const EdgePairFilter ptr filtered) | Applies a generic filter and returns a filtered copy |
[const] | Edges | first_edges | Returns the first one of all edges | |
void | flatten | Explicitly flattens an edge pair collection | ||
[const] | bool | has_valid_edge_pairs? | Returns true if the edge pair collection is flat and individual edge pairs can be accessed randomly | |
[const] | unsigned long | hier_count | Returns the (hierarchical) number of edge pairs in the edge pair collection | |
void | insert | (const Edge first, const Edge second) | Inserts an edge pair into the collection | |
void | insert | (const EdgePair edge_pair) | Inserts an edge pair into the collection | |
void | insert | (const EdgePairs edge_pairs) | Inserts all edge pairs from the other edge pair collection into this edge pair collection | |
[const] | void | insert_into | (Layout ptr layout, unsigned int cell_index, unsigned int layer) | Inserts this edge pairs into the given layout, below the given cell and into the given layer. |
[const] | void | insert_into_as_polygons | (Layout ptr layout, unsigned int cell_index, unsigned int layer, int e) | Inserts this edge pairs into the given layout, below the given cell and into the given layer. |
[const] | EdgePairs | inside | (const Region other) | Returns the edge pairs from this edge pair collection which are inside (completely covered by) polygons from the region |
[const] | EdgePairs | interacting | (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Returns the edge pairs from this edge pair collection which overlap or touch edges from the other edge collection |
[const] | EdgePairs | interacting | (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Returns the edge pairs from this edge pair collection which overlap or touch polygons from the region |
[const] | bool | is_deep? | Returns true if the edge pair collection is a deep (hierarchical) one | |
[const] | bool | is_empty? | Returns true if the collection is empty | |
[const] | EdgePairs | join | (const EdgePairs other) | Returns the combined edge pair collection of self and the other one |
EdgePairs | join_with | (const EdgePairs other) | Adds the edge pairs of the other edge pair collection to self | |
void | map_properties | (map<variant,variant> key_map) | Maps properties by name key. | |
EdgePairs | move | (const Vector p) | Moves the edge pair collection | |
EdgePairs | move | (int x, int y) | Moves the edge pair collection | |
[const] | EdgePairs | moved | (const Vector p) | Returns the moved edge pair collection (does not modify self) |
[const] | EdgePairs | moved | (int x, int y) | Returns the moved edge pair collection (does not modify self) |
[const] | EdgePairs | not_inside | (const Region other) | Returns the edge pairs from this edge pair collection which are not inside (not completely covered by) polygons from the region |
[const] | EdgePairs | not_interacting | (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Returns the edge pairs from this edge pair collection which do not overlap or touch edges from the other edge collection |
[const] | EdgePairs | not_interacting | (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Returns the edge pairs from this edge pair collection which do not overlap or touch polygons from the region |
[const] | EdgePairs | not_outside | (const Region other) | Returns the edge pairs from this edge pair collection which are not outside (partially overlapped by) polygons from the other region |
[const] | EdgePairs | outside | (const Region other) | Returns the edge pairs from this edge pair collection which are outside (not overlapped by) polygons from the other region |
[const] | Region | polygons | Converts the edge pairs to polygons | |
[const] | Region | polygons | (int e) | Converts the edge pairs to polygons |
void | process | (const EdgePairOperator ptr process) | Applies a generic edge pair processor in place (replacing the edge pairs from the EdgePairs collection) | |
[const] | EdgePairs | processed | (const EdgePairOperator ptr processed) | Applies a generic edge pair processor and returns a processed copy |
[const] | Edges | processed | (const EdgePairToEdgeOperator ptr processed) | Applies a generic edge-pair-to-edge processor and returns an edge collection with the results |
[const] | Region | processed | (const EdgePairToPolygonOperator ptr processed) | Applies a generic edge-pair-to-polygon processor and returns an Region with the results |
[const] | Edges | pull_interacting | (const Edges other) | Returns all edges of "other" which are interacting with (overlapping, touching) edge pairs of this set |
[const] | Region | pull_interacting | (const Region other) | Returns all polygons of "other" which are interacting with (overlapping, touching) edge pairs of this set |
void | remove_properties | Removes properties for the given container. | ||
[const] | Edges | second_edges | Returns the second one of all edges | |
EdgePairs | select_inside | (const Region other) | Selects the edge pairs from this edge pair collection which are inside (completely covered by) polygons from the region | |
EdgePairs | select_interacting | (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Selects the edge pairs from this edge pair collection which overlap or touch edges from the other edge collection | |
EdgePairs | select_interacting | (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Selects the edge pairs from this edge pair collection which overlap or touch polygons from the region | |
EdgePairs | select_not_inside | (const Region other) | Selects the edge pairs from this edge pair collection which are not inside (completely covered by) polygons from the region | |
EdgePairs | select_not_interacting | (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Selects the edge pairs from this edge pair collection which do not overlap or touch edges from the other edge collection | |
EdgePairs | select_not_interacting | (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Selects the edge pairs from this edge pair collection which do not overlap or touch polygons from the region | |
EdgePairs | select_not_outside | (const Region other) | Selects the edge pairs from this edge pair collection which are not outside (partially overlapped by) polygons from the other region | |
EdgePairs | select_outside | (const Region other) | Selects the edge pairs from this edge pair collection which are outside (not overlapped by) polygons from the other region | |
[const] | EdgePairs[] | split_inside | (const Region other) | Selects the edge pairs from this edge pair collection which are and are not inside (completely covered by) polygons from the other region |
[const] | EdgePairs[] | split_interacting | (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Selects the edge pairs from this edge pair collection which do and do not interact with edges from the other collection |
[const] | EdgePairs[] | split_interacting | (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) | Selects the edge pairs from this edge pair collection which do and do not interact with polygons from the other region |
[const] | EdgePairs[] | split_outside | (const Region other) | Selects the edge pairs from this edge pair collection which are and are not outside (not overlapped by) polygons from the other region |
void | swap | (EdgePairs other) | Swap the contents of this collection with the contents of another collection | |
[const] | string | to_s | Converts the edge pair collection to a string | |
[const] | string | to_s | (unsigned long max_count) | Converts the edge pair collection to a string |
EdgePairs | transform | (const Trans t) | Transform the edge pair collection (modifies self) | |
EdgePairs | transform | (const ICplxTrans t) | Transform the edge pair collection with a complex transformation (modifies self) | |
EdgePairs | transform | (const IMatrix2d t) | Transform the edge pair collection (modifies self) | |
EdgePairs | transform | (const IMatrix3d t) | Transform the edge pair collection (modifies self) | |
[const] | EdgePairs | transformed | (const Trans t) | Transform the edge pair collection |
[const] | EdgePairs | transformed | (const ICplxTrans t) | Transform the edge pair collection with a complex transformation |
[const] | EdgePairs | transformed | (const IMatrix2d t) | Transform the edge pair collection |
[const] | EdgePairs | transformed | (const IMatrix3d t) | Transform the edge pair collection |
[const] | EdgePairs | with_abs_angle | (double angle, bool inverse) | Filter the edge pairs by orientation of their edges |
[const] | EdgePairs | with_abs_angle | (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) | Filter the edge pairs by orientation of their edges |
[const] | EdgePairs | with_abs_angle_both | (double angle, bool inverse) | Filter the edge pairs by orientation of both of their edges |
[const] | EdgePairs | with_abs_angle_both | (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) | |
[const] | EdgePairs | with_angle | (double angle, bool inverse) | Filter the edge pairs by orientation of their edges |
[const] | EdgePairs | with_angle | (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) | Filter the edge pairs by orientation of their edges |
[const] | EdgePairs | with_angle | (Edges::EdgeType type, bool inverse) | Filter the edge pairs by orientation of their edges |
[const] | EdgePairs | with_angle_both | (double angle, bool inverse) | Filter the edge pairs by orientation of both of their edges |
[const] | EdgePairs | with_angle_both | (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) | Filter the edge pairs by orientation of both of their edges |
[const] | EdgePairs | with_angle_both | (Edges::EdgeType type, bool inverse) | Filter the edge pairs by orientation of their edges |
[const] | EdgePairs | with_area | (long area, bool inverse) | Filters the edge pairs by the enclosed area |
[const] | EdgePairs | with_area | (long min_area, long max_area, bool inverse) | Filters the edge pairs by the enclosed area |
[const] | EdgePairs | with_distance | (unsigned int distance, bool inverse) | Filters the edge pairs by the distance of the edges |
[const] | EdgePairs | with_distance | (variant min_distance, variant max_distance, bool inverse) | Filters the edge pairs by the distance of the edges |
[const] | EdgePairs | with_internal_angle | (double angle, bool inverse) | Filters the edge pairs by the angle between their edges |
[const] | EdgePairs | with_internal_angle | (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) | Filters the edge pairs by the angle between their edges |
[const] | EdgePairs | with_length | (unsigned int length, bool inverse) | Filters the edge pairs by length of one of their edges |
[const] | EdgePairs | with_length | (variant min_length, variant max_length, bool inverse) | Filters the edge pairs by length of one of their edges |
[const] | EdgePairs | with_length_both | (unsigned int length, bool inverse) | Filters the edge pairs by length of both of their edges |
[const] | EdgePairs | with_length_both | (variant min_length, variant max_length, bool inverse) | Filters the edge pairs by length of both of their edges |
[const] | void | write | (string filename) | Writes the region to a file |
void | create | Use of this method is deprecated. Use _create instead | ||
void | destroy | Use of this method is deprecated. Use _destroy instead | ||
[const] | bool | destroyed? | Use of this method is deprecated. Use _destroyed? instead | |
[const] | bool | is_const_object? | Use of this method is deprecated. Use _is_const_object? instead | |
[const] | unsigned long | size | Use of this method is deprecated. Use count instead | |
EdgePairs | transform_icplx | (const ICplxTrans t) | Use of this method is deprecated. Use transform instead | |
[const] | EdgePairs | transformed_icplx | (const ICplxTrans t) | Use of this method is deprecated. Use transformed instead |
+ | Signature: [const] EdgePairs + (const EdgePairs other) Description: Returns the combined edge pair collection of self and the other one
This operator adds the edge pairs of the other collection to self and returns a new combined set. This method has been introduced in version 0.24. The 'join' alias has been introduced in version 0.28.12. | |||||
+= | Signature: EdgePairs += (const EdgePairs other) Description: Adds the edge pairs of the other edge pair collection to self
This operator adds the edge pairs of the other collection to self. This method has been introduced in version 0.24. Note that in Ruby, the '+=' operator actually does not exist, but is emulated by '+' followed by an assignment. This is less efficient than the in-place operation, so it is recommended to use 'join_with' instead. The 'join_with' alias has been introduced in version 0.28.12. | |||||
[] | Signature: [const] const EdgePair ptr [] (unsigned long n) Description: Returns the nth edge pair This method returns nil if the index is out of range. It is available for flat edge pairs only - i.e. those for which has_valid_edge_pairs? is true. Use flatten to explicitly flatten an edge pair collection. The each iterator is the more general approach to access the edge pairs. | |||||
_const_cast | Signature: [const] EdgePairs ptr _const_cast Description: Returns a non-const reference to self. Basically, this method allows turning a const object reference to a non-const one. This method is provided as last resort to remove the constness from an object. Usually there is a good reason for a const object reference, so using this method may have undesired side effects. This method has been introduced in version 0.29.6. | |||||
_create | Signature: void _create Description: Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. | |||||
_destroy | Signature: void _destroy Description: Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. | |||||
_destroyed? | Signature: [const] bool _destroyed? Description: Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. | |||||
_is_const_object? | Signature: [const] bool _is_const_object? Description: Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. | |||||
_manage | Signature: void _manage Description: Marks the object as managed by the script side. After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. Usually it's not required to call this method. It has been introduced in version 0.24. | |||||
_unmanage | Signature: void _unmanage Description: Marks the object as no longer owned by the script side. Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. Usually it's not required to call this method. It has been introduced in version 0.24. | |||||
assign | Signature: void assign (const EdgePairs other) Description: Assigns another object to self | |||||
bbox | Signature: [const] Box bbox Description: Return the bounding box of the edge pair collection The bounding box is the box enclosing all points of all edge pairs. | |||||
clear | Signature: void clear Description: Clears the edge pair collection | |||||
count | Signature: [const] unsigned long count Description: Returns the (flat) number of edge pairs in the edge pair collection The count is computed 'as if flat', i.e. edge pairs inside a cell are multiplied by the number of times a cell is instantiated. Starting with version 0.27, the method is called 'count' for consistency with Region. 'size' is still provided as an alias. Python specific notes: | |||||
create | Signature: void create Description: Ensures the C++ object is created Use of this method is deprecated. Use _create instead Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. | |||||
data_id | Signature: [const] unsigned long data_id Description: Returns the data ID (a unique identifier for the underlying data storage) This method has been added in version 0.26. | |||||
destroy | Signature: void destroy Description: Explicitly destroys the object Use of this method is deprecated. Use _destroy instead Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. | |||||
destroyed? | Signature: [const] bool destroyed? Description: Returns a value indicating whether the object was already destroyed Use of this method is deprecated. Use _destroyed? instead This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. | |||||
disable_progress | Signature: void disable_progress Description: Disable progress reporting Calling this method will disable progress reporting. See enable_progress. | |||||
dup | Signature: [const] new EdgePairs ptr dup Description: Creates a copy of self Python specific notes: | |||||
each | Signature: [const,iter] EdgePair each Description: Returns each edge pair of the edge pair collection Python specific notes: | |||||
edges | Signature: [const] Edges edges Description: Decomposes the edge pairs into single edges
| |||||
enable_progress | Signature: void enable_progress (string label) Description: Enable progress reporting After calling this method, the edge pair collection will report the progress through a progress bar while expensive operations are running. The label is a text which is put in front of the progress bar. Using a progress bar will imply a performance penalty of a few percent typically. | |||||
enable_properties | Signature: void enable_properties Description: Enables properties for the given container. This method has an effect mainly on original layers and will import properties from such layers. By default, properties are not enabled on original layers. Alternatively you can apply filter_properties or map_properties to enable properties with a specific name key. This method has been introduced in version 0.28.4. | |||||
extents | (1) Signature: [const] Region extents Description: Returns a region with the bounding boxes of the edge pairs This method will return a region consisting of the bounding boxes of the edge pairs. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. | |||||
(2) Signature: [const] Region extents (int d) Description: Returns a region with the enlarged bounding boxes of the edge pairs This method will return a region consisting of the bounding boxes of the edge pairs enlarged by the given distance d. The enlargement is specified per edge, i.e the width and height will be increased by 2*d. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. | ||||||
(3) Signature: [const] Region extents (int dx, int dy) Description: Returns a region with the enlarged bounding boxes of the edge pairs This method will return a region consisting of the bounding boxes of the edge pairs enlarged by the given distance dx in x direction and dy in y direction. The enlargement is specified per edge, i.e the width will be increased by 2*dx. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. | ||||||
filter | Signature: void filter (const EdgePairFilter ptr filter) Description: Applies a generic filter in place (replacing the edge pairs from the EdgePair collection) See EdgePairFilter for a description of this feature. This method has been introduced in version 0.29. | |||||
filter_properties | Signature: void filter_properties (variant[] keys) Description: Filters properties by certain keys. Calling this method on a container will reduce the properties to values with name keys from the 'keys' list. As a side effect, this method enables properties on original layers. This method has been introduced in version 0.28.4. | |||||
filtered | Signature: [const] EdgePairs filtered (const EdgePairFilter ptr filtered) Description: Applies a generic filter and returns a filtered copy See EdgePairFilter for a description of this feature. This method has been introduced in version 0.29. | |||||
first_edges | Signature: [const] Edges first_edges Description: Returns the first one of all edges
| |||||
flatten | Signature: void flatten Description: Explicitly flattens an edge pair collection If the collection is already flat (i.e. has_valid_edge_pairs? returns true), this method will not change the collection. This method has been introduced in version 0.26. | |||||
has_valid_edge_pairs? | Signature: [const] bool has_valid_edge_pairs? Description: Returns true if the edge pair collection is flat and individual edge pairs can be accessed randomly This method has been introduced in version 0.26. | |||||
hier_count | Signature: [const] unsigned long hier_count Description: Returns the (hierarchical) number of edge pairs in the edge pair collection The count is computed 'hierarchical', i.e. edge pairs inside a cell are counted once even if the cell is instantiated multiple times. This method has been introduced in version 0.27. | |||||
insert | (1) Signature: void insert (const Edge first, const Edge second) Description: Inserts an edge pair into the collection | |||||
(2) Signature: void insert (const EdgePair edge_pair) Description: Inserts an edge pair into the collection | ||||||
(3) Signature: void insert (const EdgePairs edge_pairs) Description: Inserts all edge pairs from the other edge pair collection into this edge pair collection This method has been introduced in version 0.25. | ||||||
insert_into | Signature: [const] void insert_into (Layout ptr layout, unsigned int cell_index, unsigned int layer) Description: Inserts this edge pairs into the given layout, below the given cell and into the given layer. If the edge pair collection is a hierarchical one, a suitable hierarchy will be built below the top cell or and existing hierarchy will be reused. This method has been introduced in version 0.26. | |||||
insert_into_as_polygons | Signature: [const] void insert_into_as_polygons (Layout ptr layout, unsigned int cell_index, unsigned int layer, int e) Description: Inserts this edge pairs into the given layout, below the given cell and into the given layer. If the edge pair collection is a hierarchical one, a suitable hierarchy will be built below the top cell or and existing hierarchy will be reused. The edge pairs will be converted to polygons with the enlargement value given be 'e'. This method has been introduced in version 0.26. | |||||
inside | Signature: [const] EdgePairs inside (const Region other) Description: Returns the edge pairs from this edge pair collection which are inside (completely covered by) polygons from the region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
interacting | (1) Signature: [const] EdgePairs interacting (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Returns the edge pairs from this edge pair collection which overlap or touch edges from the other edge collection
'min_count' and 'max_count' impose a constraint on the number of times an edge pair of this collection has to interact with (different) edges of the other collection to make the edge pair selected. An edge pair is not selected by this method if the number of edges interacting with an edge pair of this collection is between min_count and max_count (including max_count). Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
(2) Signature: [const] EdgePairs interacting (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Returns the edge pairs from this edge pair collection which overlap or touch polygons from the region
'min_count' and 'max_count' impose a constraint on the number of times an edge pair of this collection has to interact with (different) polygons of the other region to make the edge pair selected. An edge pair is not selected by this method if the number of polygons interacting with an edge pair of this collection is between min_count and max_count (including max_count). Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | ||||||
is_const_object? | Signature: [const] bool is_const_object? Description: Returns a value indicating whether the reference is a const reference Use of this method is deprecated. Use _is_const_object? instead This method returns true, if self is a const reference. In that case, only const methods may be called on self. | |||||
is_deep? | Signature: [const] bool is_deep? Description: Returns true if the edge pair collection is a deep (hierarchical) one This method has been added in version 0.26. | |||||
is_empty? | Signature: [const] bool is_empty? Description: Returns true if the collection is empty | |||||
join | Signature: [const] EdgePairs join (const EdgePairs other) Description: Returns the combined edge pair collection of self and the other one
This operator adds the edge pairs of the other collection to self and returns a new combined set. This method has been introduced in version 0.24. The 'join' alias has been introduced in version 0.28.12. | |||||
join_with | Signature: EdgePairs join_with (const EdgePairs other) Description: Adds the edge pairs of the other edge pair collection to self
This operator adds the edge pairs of the other collection to self. This method has been introduced in version 0.24. Note that in Ruby, the '+=' operator actually does not exist, but is emulated by '+' followed by an assignment. This is less efficient than the in-place operation, so it is recommended to use 'join_with' instead. The 'join_with' alias has been introduced in version 0.28.12. | |||||
map_properties | Signature: void map_properties (map<variant,variant> key_map) Description: Maps properties by name key. Calling this method on a container will reduce the properties to values with name keys from the 'keys' hash and renames the properties. Properties not listed in the key map will be removed. As a side effect, this method enables properties on original layers. This method has been introduced in version 0.28.4. | |||||
move | (1) Signature: EdgePairs move (const Vector p) Description: Moves the edge pair collection
Moves the edge pairs by the given offset and returns the moved edge pair collection. The edge pair collection is overwritten. Starting with version 0.25 the displacement is of vector type. | |||||
(2) Signature: EdgePairs move (int x, int y) Description: Moves the edge pair collection
Moves the edge pairs by the given offset and returns the moved edge pairs. The edge pair collection is overwritten. | ||||||
moved | (1) Signature: [const] EdgePairs moved (const Vector p) Description: Returns the moved edge pair collection (does not modify self)
Moves the edge pairs by the given offset and returns the moved edge pairs. The edge pair collection is not modified. Starting with version 0.25 the displacement is of vector type. | |||||
(2) Signature: [const] EdgePairs moved (int x, int y) Description: Returns the moved edge pair collection (does not modify self)
Moves the edge pairs by the given offset and returns the moved edge pairs. The edge pair collection is not modified. | ||||||
new | (1) Signature: [static] new EdgePairs ptr new Description: Default constructor This constructor creates an empty edge pair collection. Python specific notes: | |||||
(2) Signature: [static] new EdgePairs ptr new (EdgePair[] array) Description: Constructor from an edge pair array This constructor creates an edge pair collection from an array of EdgePair objects. This constructor has been introduced in version 0.26. Python specific notes: | ||||||
(3) Signature: [static] new EdgePairs ptr new (const EdgePair edge_pair) Description: Constructor from a single edge pair object This constructor creates an edge pair collection with a single edge pair. This constructor has been introduced in version 0.26. Python specific notes: | ||||||
(4) Signature: [static] new EdgePairs ptr new (const Shapes shapes) Description: Shapes constructor This constructor creates an edge pair collection from a Shapes collection. This constructor has been introduced in version 0.26. Python specific notes: | ||||||
(5) Signature: [static] new EdgePairs ptr new (const RecursiveShapeIterator shape_iterator) Description: Constructor from a hierarchical shape set This constructor creates an edge pair collection from the shapes delivered by the given recursive shape iterator. Only edge pairs are taken from the shape set and other shapes are ignored. This method allows feeding the edge pair collection from a hierarchy of cells. Edge pairs in layout objects are somewhat special as most formats don't support reading or writing of edge pairs. Still they are useful objects and can be created and manipulated inside layouts. layout = ... # a layout cell = ... # the index of the initial cell layer = ... # the index of the layer from where to take the shapes from r = RBA::EdgePairs::new(layout.begin_shapes(cell, layer)) This constructor has been introduced in version 0.26. Python specific notes: | ||||||
(6) Signature: [static] new EdgePairs ptr new (const RecursiveShapeIterator shape_iterator, const ICplxTrans trans) Description: Constructor from a hierarchical shape set with a transformation This constructor creates an edge pair collection from the shapes delivered by the given recursive shape iterator. Only edge pairs are taken from the shape set and other shapes are ignored. The given transformation is applied to each edge pair taken. This method allows feeding the edge pair collection from a hierarchy of cells. The transformation is useful to scale to a specific database unit for example. Edge pairs in layout objects are somewhat special as most formats don't support reading or writing of edge pairs. Still they are useful objects and can be created and manipulated inside layouts. layout = ... # a layout cell = ... # the index of the initial cell layer = ... # the index of the layer from where to take the shapes from dbu = 0.1 # the target database unit r = RBA::EdgePairs::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) This constructor has been introduced in version 0.26. Python specific notes: | ||||||
(7) Signature: [static] new EdgePairs ptr new (const RecursiveShapeIterator shape_iterator, DeepShapeStore dss) Description: Creates a hierarchical edge pair collection from an original layer This constructor creates an edge pair collection from the shapes delivered by the given recursive shape iterator. This version will create a hierarchical edge pair collection which supports hierarchical operations. Edge pairs in layout objects are somewhat special as most formats don't support reading or writing of edge pairs. Still they are useful objects and can be created and manipulated inside layouts. dss = RBA::DeepShapeStore::new layout = ... # a layout cell = ... # the index of the initial cell layer = ... # the index of the layer from where to take the shapes from r = RBA::EdgePairs::new(layout.begin_shapes(cell, layer)) This constructor has been introduced in version 0.26. Python specific notes: | ||||||
(8) Signature: [static] new EdgePairs ptr new (const RecursiveShapeIterator shape_iterator, DeepShapeStore dss, const ICplxTrans trans) Description: Creates a hierarchical edge pair collection from an original layer with a transformation This constructor creates an edge pair collection from the shapes delivered by the given recursive shape iterator. This version will create a hierarchical edge pair collection which supports hierarchical operations. The transformation is useful to scale to a specific database unit for example. Edge pairs in layout objects are somewhat special as most formats don't support reading or writing of edge pairs. Still they are useful objects and can be created and manipulated inside layouts. dss = RBA::DeepShapeStore::new layout = ... # a layout cell = ... # the index of the initial cell layer = ... # the index of the layer from where to take the shapes from dbu = 0.1 # the target database unit r = RBA::EdgePairs::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) This constructor has been introduced in version 0.26. Python specific notes: | ||||||
not_inside | Signature: [const] EdgePairs not_inside (const Region other) Description: Returns the edge pairs from this edge pair collection which are not inside (not completely covered by) polygons from the region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
not_interacting | (1) Signature: [const] EdgePairs not_interacting (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Returns the edge pairs from this edge pair collection which do not overlap or touch edges from the other edge collection
'min_count' and 'max_count' impose a constraint on the number of times an edge pair of this collection has to interact with (different) edges of the other collection to make the edge pair selected. An edge pair is not selected by this method if the number of edges interacting with an edge pair of this collection is between min_count and max_count (including max_count). Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
(2) Signature: [const] EdgePairs not_interacting (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Returns the edge pairs from this edge pair collection which do not overlap or touch polygons from the region
'min_count' and 'max_count' impose a constraint on the number of times an edge pair of this collection has to interact with (different) polygons of the other region to make the edge pair selected. An edge pair is not selected by this method if the number of polygons interacting with an edge pair of this collection is between min_count and max_count (including max_count). Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | ||||||
not_outside | Signature: [const] EdgePairs not_outside (const Region other) Description: Returns the edge pairs from this edge pair collection which are not outside (partially overlapped by) polygons from the other region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
outside | Signature: [const] EdgePairs outside (const Region other) Description: Returns the edge pairs from this edge pair collection which are outside (not overlapped by) polygons from the other region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
polygons | (1) Signature: [const] Region polygons Description: Converts the edge pairs to polygons 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. | |||||
(2) Signature: [const] Region polygons (int e) Description: Converts the edge pairs to polygons 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 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). | ||||||
process | Signature: void process (const EdgePairOperator ptr process) Description: Applies a generic edge pair processor in place (replacing the edge pairs from the EdgePairs collection) See EdgePairProcessor for a description of this feature. This method has been introduced in version 0.29. | |||||
processed | (1) Signature: [const] EdgePairs processed (const EdgePairOperator ptr processed) Description: Applies a generic edge pair processor and returns a processed copy See EdgePairProcessor for a description of this feature. This method has been introduced in version 0.29. | |||||
(2) Signature: [const] Edges processed (const EdgePairToEdgeOperator ptr processed) Description: Applies a generic edge-pair-to-edge processor and returns an edge collection with the results See EdgePairToEdgeProcessor for a description of this feature. This method has been introduced in version 0.29. | ||||||
(3) Signature: [const] Region processed (const EdgePairToPolygonOperator ptr processed) Description: Applies a generic edge-pair-to-polygon processor and returns an Region with the results See EdgePairToPolygonProcessor for a description of this feature. This method has been introduced in version 0.29. | ||||||
pull_interacting | (1) Signature: [const] Edges pull_interacting (const Edges other) Description: Returns all edges of "other" which are interacting with (overlapping, touching) edge pairs of this set
The "pull_..." methods are similar to "select_..." but work the opposite way: they select shapes from the argument region rather than self. In a deep (hierarchical) context the output region will be hierarchically aligned with self, so the "pull_..." methods provide a way for re-hierarchization. Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. Merged semantics applies for this method (see merged_semantics= of merged semantics) This method has been introduced in version 0.29.6 | |||||
(2) Signature: [const] Region pull_interacting (const Region other) Description: Returns all polygons of "other" which are interacting with (overlapping, touching) edge pairs of this set
The "pull_..." methods are similar to "select_..." but work the opposite way: they select shapes from the argument region rather than self. In a deep (hierarchical) context the output region will be hierarchically aligned with self, so the "pull_..." methods provide a way for re-hierarchization. Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. Merged semantics applies for this method (see merged_semantics= of merged semantics) This method has been introduced in version 0.29.6 | ||||||
remove_properties | Signature: void remove_properties Description: Removes properties for the given container. This will remove all properties on the given container. This method has been introduced in version 0.28.4. | |||||
second_edges | Signature: [const] Edges second_edges Description: Returns the second one of all edges
| |||||
select_inside | Signature: EdgePairs select_inside (const Region other) Description: Selects the edge pairs from this edge pair collection which are inside (completely covered by) polygons from the region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
select_interacting | (1) Signature: EdgePairs select_interacting (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Selects the edge pairs from this edge pair collection which overlap or touch edges from the other edge collection
This is the in-place version of interacting - i.e. self is modified rather than a new collection is returned. This method has been introduced in version 0.29.6 | |||||
(2) Signature: EdgePairs select_interacting (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Selects the edge pairs from this edge pair collection which overlap or touch polygons from the region
This is the in-place version of interacting - i.e. self is modified rather than a new collection is returned. This method has been introduced in version 0.29.6 | ||||||
select_not_inside | Signature: EdgePairs select_not_inside (const Region other) Description: Selects the edge pairs from this edge pair collection which are not inside (completely covered by) polygons from the region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
select_not_interacting | (1) Signature: EdgePairs select_not_interacting (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Selects the edge pairs from this edge pair collection which do not overlap or touch edges from the other edge collection
This is the in-place version of not_interacting - i.e. self is modified rather than a new collection is returned. This method has been introduced in version 0.29.6 | |||||
(2) Signature: EdgePairs select_not_interacting (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Selects the edge pairs from this edge pair collection which do not overlap or touch polygons from the region
This is the in-place version of not_interacting - i.e. self is modified rather than a new collection is returned. This method has been introduced in version 0.29.6 | ||||||
select_not_outside | Signature: EdgePairs select_not_outside (const Region other) Description: Selects the edge pairs from this edge pair collection which are not outside (partially overlapped by) polygons from the other region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
select_outside | Signature: EdgePairs select_outside (const Region other) Description: Selects the edge pairs from this edge pair collection which are outside (not overlapped by) polygons from the other region
Edge pairs are considered 'filled' in the context of this operation - i.e. the area between the edges belongs to the edge pair, hence participates in the check. This method has been introduced in version 0.29.6 | |||||
size | Signature: [const] unsigned long size Description: Returns the (flat) number of edge pairs in the edge pair collection Use of this method is deprecated. Use count instead The count is computed 'as if flat', i.e. edge pairs inside a cell are multiplied by the number of times a cell is instantiated. Starting with version 0.27, the method is called 'count' for consistency with Region. 'size' is still provided as an alias. Python specific notes: | |||||
split_inside | Signature: [const] EdgePairs[] split_inside (const Region other) Description: Selects the edge pairs from this edge pair collection which are and are not inside (completely covered by) polygons from the other region
This method provides a faster way to compute both inside and non-inside edge pairs compared to using separate methods. It has been introduced in version 0.29.6. | |||||
split_interacting | (1) Signature: [const] EdgePairs[] split_interacting (const Edges other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Selects the edge pairs from this edge pair collection which do and do not interact with edges from the other collection
This method provides a faster way to compute both interacting and non-interacting edges compared to using separate methods. It has been introduced in version 0.29.6. | |||||
(2) Signature: [const] EdgePairs[] split_interacting (const Region other, unsigned long min_count = 1, unsigned long max_count = unlimited) Description: Selects the edge pairs from this edge pair collection which do and do not interact with polygons from the other region
This method provides a faster way to compute both interacting and non-interacting edges compared to using separate methods. It has been introduced in version 0.29.6. | ||||||
split_outside | Signature: [const] EdgePairs[] split_outside (const Region other) Description: Selects the edge pairs from this edge pair collection which are and are not outside (not overlapped by) polygons from the other region
This method provides a faster way to compute both outside and non-outside edges compared to using separate methods. This method has been introduced in version 0.29.6 | |||||
swap | Signature: void swap (EdgePairs other) Description: Swap the contents of this collection with the contents of another collection This method is useful to avoid excessive memory allocation in some cases. For managed memory languages such as Ruby, those cases will be rare. | |||||
to_s | (1) Signature: [const] string to_s Description: Converts the edge pair collection to a string The length of the output is limited to 20 edge pairs to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. Python specific notes: | |||||
(2) Signature: [const] string to_s (unsigned long max_count) Description: Converts the edge pair collection to a string This version allows specification of the maximum number of edge pairs contained in the string. | ||||||
transform | (1) Signature: EdgePairs transform (const Trans t) Description: Transform the edge pair collection (modifies self)
Transforms the edge pair collection with the given transformation. This version modifies the edge pair collection and returns a reference to self. | |||||
(2) Signature: EdgePairs transform (const ICplxTrans t) Description: Transform the edge pair collection with a complex transformation (modifies self)
Transforms the edge pair collection with the given transformation. This version modifies the edge pair collection and returns a reference to self. | ||||||
(3) Signature: EdgePairs transform (const IMatrix2d t) Description: Transform the edge pair collection (modifies self)
Transforms the edge pair collection with the given 2d matrix transformation. This version modifies the edge pair collection and returns a reference to self. This variant has been introduced in version 0.27. | ||||||
(4) Signature: EdgePairs transform (const IMatrix3d t) Description: Transform the edge pair collection (modifies self)
Transforms the edge pair collection with the given 3d matrix transformation. This version modifies the edge pair collection and returns a reference to self. This variant has been introduced in version 0.27. | ||||||
transform_icplx | Signature: EdgePairs transform_icplx (const ICplxTrans t) Description: Transform the edge pair collection with a complex transformation (modifies self)
Use of this method is deprecated. Use transform instead Transforms the edge pair collection with the given transformation. This version modifies the edge pair collection and returns a reference to self. | |||||
transformed | (1) Signature: [const] EdgePairs transformed (const Trans t) Description: Transform the edge pair collection
Transforms the edge pairs with the given transformation. Does not modify the edge pair collection but returns the transformed edge pairs. | |||||
(2) Signature: [const] EdgePairs transformed (const ICplxTrans t) Description: Transform the edge pair collection with a complex transformation
Transforms the edge pairs with the given complex transformation. Does not modify the edge pair collection but returns the transformed edge pairs. | ||||||
(3) Signature: [const] EdgePairs transformed (const IMatrix2d t) Description: Transform the edge pair collection
Transforms the edge pairs with the given 2d matrix transformation. Does not modify the edge pair collection but returns the transformed edge pairs. This variant has been introduced in version 0.27. | ||||||
(4) Signature: [const] EdgePairs transformed (const IMatrix3d t) Description: Transform the edge pair collection
Transforms the edge pairs with the given 3d matrix transformation. Does not modify the edge pair collection but returns the transformed edge pairs. This variant has been introduced in version 0.27. | ||||||
transformed_icplx | Signature: [const] EdgePairs transformed_icplx (const ICplxTrans t) Description: Transform the edge pair collection with a complex transformation
Use of this method is deprecated. Use transformed instead Transforms the edge pairs with the given complex transformation. Does not modify the edge pair collection but returns the transformed edge pairs. | |||||
with_abs_angle | (1) Signature: [const] EdgePairs with_abs_angle (double angle, bool inverse) Description: Filter the edge pairs by orientation of their edges This method behaves like with_angle, but angles are always positive - i.e. there is no differentiation between edges sloping 'down' vs. edges sloping 'up. This method has been added in version 0.29.1. | |||||
(2) Signature: [const] EdgePairs with_abs_angle (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) Description: Filter the edge pairs by orientation of their edges This method behaves like with_angle, but angles are always positive - i.e. there is no differentiation between edges sloping 'down' vs. edges sloping 'up. This method has been added in version 0.29.1. | ||||||
with_abs_angle_both | (1) Signature: [const] EdgePairs with_abs_angle_both (double angle, bool inverse) Description: Filter the edge pairs by orientation of both of their edges This method behaves like with_angle_both, but angles are always positive - i.e. there is no differentiation between edges sloping 'down' vs. edges sloping 'up. This method has been added in version 0.29.1. | |||||
(2) Signature: [const] EdgePairs with_abs_angle_both (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) Description: This method behaves like with_angle_both, but angles are always positive - i.e. there is no differentiation between edges sloping 'down' vs. edges sloping 'up. This method has been added in version 0.29.1. | ||||||
with_angle | (1) Signature: [const] EdgePairs with_angle (double angle, bool inverse) Description: Filter the edge pairs by orientation of their edges Filters the edge pairs in the edge pair collection by orientation. If "inverse" is false, only edge pairs with at least one edge having the given angle to the x-axis are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. This will filter edge pairs with at least one horizontal edge: horizontal = edge_pairs.with_angle(0, false) Note that the inverse result of with_angle is delivered by with_angle_both with the inverse flag set as edge pairs are unselected when both edges fail to meet the criterion. I.e result = edge_pairs.with_angle(0, false) others = edge_pairs.with_angle_both(0, true) This method has been added in version 0.27.1. | |||||
(2) Signature: [const] EdgePairs with_angle (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) Description: Filter the edge pairs by orientation of their edges Filters the edge pairs in the edge pair collection by orientation. If "inverse" is false, only edge pairs with at least one edge having an angle between min_angle and max_angle are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. With "include_min_angle" set to true (the default), the minimum angle is included in the criterion while with false, the minimum angle itself is not included. Same for "include_max_angle" where the default is false, meaning the maximum angle is not included in the range. Note that the inverse result of with_angle is delivered by with_angle_both with the inverse flag set as edge pairs are unselected when both edges fail to meet the criterion. I.e result = edge_pairs.with_angle(0, 45, false) others = edge_pairs.with_angle_both(0, 45, true) This method has been added in version 0.27.1. | ||||||
(3) Signature: [const] EdgePairs with_angle (Edges::EdgeType type, bool inverse) Description: Filter the edge pairs by orientation of their edges Filters the edge pairs in the edge pair collection by orientation. If "inverse" is false, only edge pairs with at least one edge having an angle of the given type are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. This version allows specifying an edge type instead of an angle. Edge types include multiple distinct orientations and are specified using one of the Edges#OrthoEdges, Edges#DiagonalEdges or Edges#OrthoDiagonalEdges types. Note that the inverse result of with_angle is delivered by with_angle_both with the inverse flag set as edge pairs are unselected when both edges fail to meet the criterion. I.e result = edge_pairs.with_angle(RBA::Edges::Ortho, false) others = edge_pairs.with_angle_both(RBA::Edges::Ortho, true) This method has been added in version 0.28. | ||||||
with_angle_both | (1) Signature: [const] EdgePairs with_angle_both (double angle, bool inverse) Description: Filter the edge pairs by orientation of both of their edges Filters the edge pairs in the edge pair collection by orientation. If "inverse" is false, only edge pairs with both edges having the given angle to the x-axis are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. This will filter edge pairs with at least one horizontal edge: horizontal = edge_pairs.with_angle_both(0, false) Note that the inverse result of with_angle_both is delivered by with_angle with the inverse flag set as edge pairs are unselected when one edge fails to meet the criterion. I.e result = edge_pairs.with_angle_both(0, false) others = edge_pairs.with_angle(0, true) This method has been added in version 0.27.1. | |||||
(2) Signature: [const] EdgePairs with_angle_both (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) Description: Filter the edge pairs by orientation of both of their edges Filters the edge pairs in the edge pair collection by orientation. If "inverse" is false, only edge pairs with both edges having an angle between min_angle and max_angle are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. With "include_min_angle" set to true (the default), the minimum angle is included in the criterion while with false, the minimum angle itself is not included. Same for "include_max_angle" where the default is false, meaning the maximum angle is not included in the range. Note that the inverse result of with_angle_both is delivered by with_angle with the inverse flag set as edge pairs are unselected when one edge fails to meet the criterion. I.e result = edge_pairs.with_angle_both(0, 45, false) others = edge_pairs.with_angle(0, 45, true) This method has been added in version 0.27.1. | ||||||
(3) Signature: [const] EdgePairs with_angle_both (Edges::EdgeType type, bool inverse) Description: Filter the edge pairs by orientation of their edges Filters the edge pairs in the edge pair collection by orientation. If "inverse" is false, only edge pairs with both edges having an angle of the given type are returned. If "inverse" is true, edge pairs not fulfilling this criterion for both edges are returned. This version allows specifying an edge type instead of an angle. Edge types include multiple distinct orientations and are specified using one of the Edges#OrthoEdges, Edges#DiagonalEdges or Edges#OrthoDiagonalEdges types. Note that the inverse result of with_angle_both is delivered by with_angle with the inverse flag set as edge pairs are unselected when one edge fails to meet the criterion. I.e result = edge_pairs.with_angle_both(RBA::Edges::Ortho, false) others = edge_pairs.with_angle(RBA::Edges::Ortho, true) This method has been added in version 0.28. | ||||||
with_area | (1) Signature: [const] EdgePairs with_area (long area, bool inverse) Description: Filters the edge pairs by the enclosed area Filters the edge pairs in the edge pair collection by enclosed area. If "inverse" is false, only edge pairs with the given area are returned. If "inverse" is true, edge pairs not with the given area are returned. This method has been added in version 0.27.2. | |||||
(2) Signature: [const] EdgePairs with_area (long min_area, long max_area, bool inverse) Description: Filters the edge pairs by the enclosed area Filters the edge pairs in the edge pair collection by enclosed area. If "inverse" is false, only edge pairs with an area between min_area and max_area (max_area itself is excluded) are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. This method has been added in version 0.27.2. | ||||||
with_distance | (1) Signature: [const] EdgePairs with_distance (unsigned int distance, bool inverse) Description: Filters the edge pairs by the distance of the edges Filters the edge pairs in the edge pair collection by distance of the edges. If "inverse" is false, only edge pairs where both edges have the given distance are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. Distance is measured as the shortest distance between any of the points on the edges. This method has been added in version 0.27.1. | |||||
(2) Signature: [const] EdgePairs with_distance (variant min_distance, variant max_distance, bool inverse) Description: Filters the edge pairs by the distance of the edges Filters the edge pairs in the edge pair collection by distance of the edges. If "inverse" is false, only edge pairs where both edges have a distance between min_distance and max_distance (max_distance itself is excluded) are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. Distance is measured as the shortest distance between any of the points on the edges. This method has been added in version 0.27.1. | ||||||
with_internal_angle | (1) Signature: [const] EdgePairs with_internal_angle (double angle, bool inverse) Description: Filters the edge pairs by the angle between their edges Filters the edge pairs in the edge pair collection by the angle between their edges. If "inverse" is false, only edge pairs with the given angle are returned. If "inverse" is true, edge pairs not with the given angle are returned. The angle is measured between the two edges. It is between 0 (parallel or anti-parallel edges) and 90 degree (perpendicular edges). This method has been added in version 0.27.2. | |||||
(2) Signature: [const] EdgePairs with_internal_angle (double min_angle, double max_angle, bool inverse, bool include_min_angle = true, bool include_max_angle = false) Description: Filters the edge pairs by the angle between their edges Filters the edge pairs in the edge pair collection by the angle between their edges. If "inverse" is false, only edge pairs with an angle between min_angle and max_angle (max_angle itself is excluded) are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. The angle is measured between the two edges. It is between 0 (parallel or anti-parallel edges) and 90 degree (perpendicular edges). With "include_min_angle" set to true (the default), the minimum angle is included in the criterion while with false, the minimum angle itself is not included. Same for "include_max_angle" where the default is false, meaning the maximum angle is not included in the range. This method has been added in version 0.27.2. | ||||||
with_length | (1) Signature: [const] EdgePairs with_length (unsigned int length, bool inverse) Description: Filters the edge pairs by length of one of their edges Filters the edge pairs in the edge pair collection by length of at least one of their edges. If "inverse" is false, only edge pairs with at least one edge having the given length are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. This method has been added in version 0.27.1. | |||||
(2) Signature: [const] EdgePairs with_length (variant min_length, variant max_length, bool inverse) Description: Filters the edge pairs by length of one of their edges Filters the edge pairs in the edge pair collection by length of at least one of their edges. If "inverse" is false, only edge pairs with at least one edge having a length between min_length and max_length (excluding max_length itself) are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. If you don't want to specify a lower or upper limit, pass nil to that parameter. This method has been added in version 0.27.1. | ||||||
with_length_both | (1) Signature: [const] EdgePairs with_length_both (unsigned int length, bool inverse) Description: Filters the edge pairs by length of both of their edges Filters the edge pairs in the edge pair collection by length of both of their edges. If "inverse" is false, only edge pairs where both edges have the given length are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. This method has been added in version 0.27.1. | |||||
(2) Signature: [const] EdgePairs with_length_both (variant min_length, variant max_length, bool inverse) Description: Filters the edge pairs by length of both of their edges Filters the edge pairs in the edge pair collection by length of both of their edges. If "inverse" is false, only edge pairs with both edges having a length between min_length and max_length (excluding max_length itself) are returned. If "inverse" is true, edge pairs not fulfilling this criterion are returned. If you don't want to specify a lower or upper limit, pass nil to that parameter. This method has been added in version 0.27.1. | ||||||
write | Signature: [const] void write (string filename) Description: Writes the region to a file This method is provided for debugging purposes. It writes the object to a flat layer 0/0 in a single top cell. This method has been introduced in version 0.29. |