API reference - Class EdgePairs

Notation used in Ruby API documentation

Description: EdgePairs (a collection of edge pairs)

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.

Public constructors

new EdgePairsnewDefault constructor

Public methods

[const]const EdgePair ptr[](unsigned int n)Returns the nth edge pair
[const]voidassign(const EdgePairs other)Assign the contents of another object to self
[const]BoxbboxReturn the bounding box of the edge pair collection
voidclearClears the edge pair collection
voidcreateEnsures the C++ object is created
voiddestroyExplicitly destroy the object
[const]booldestroyed?Returns a value indicating whether the object was already destroyed
voiddisable_progressDisable progress reporting
[const]EdgePairsdupCreates a copy of self
[const,iter]EdgePaireachReturns each edge pair of the edge pair collection
[const]EdgesedgesDecomposes the edge pairs into single edges
voidenable_progress(string label)Enable progress reporting
[const]RegionextentsReturns a region with the bounding boxes of the edge pairs
[const]Regionextents(int d)Returns a region with the enlarged bounding boxes of the edge pairs
[const]Regionextents(int dx,
int dy)
Returns a region with the enlarged bounding boxes of the edge pairs
[const]Edgesfirst_edgesReturns the first one of all edges
voidinsert(const Edge first,
const Edge second)
Inserts an edge pair into the collection
voidinsert(const EdgePair edge_pair)Inserts an edge pair into the collection
[const]boolis_const_object?Returns a value indicating whether the reference is a const reference
[const]boolis_empty?Returns true if the collection is empty
EdgePairsmove(const Point p)Moves the edge pair collection
EdgePairsmove(int x,
int y)
Moves the edge pair collection
[const]EdgePairsmoved(const Point p)Returns the moved edge pair collection (does not modify self)
[const]EdgePairsmoved(int x,
int y)
Returns the moved edge pair collection (does not modify self)
[const]RegionpolygonsConverts the edge pairs to polygons
[const]Regionpolygons(int e)Converts the edge pairs to polygons
[const]Edgessecond_edgesReturns the second one of all edges
[const]unsigned intsizeReturns the number of edge pairs in this collection
voidswap(EdgePairs other)Swap the contents of this collection with the contents of another collection
[const]stringto_sConverts the edge pair collection to a string
[const]stringto_s(unsigned int max_count)Converts the edge pair collection to a string
EdgePairstransform(const Trans t)Transform the edge pair collection (modifies self)
EdgePairstransform(const ICplxTrans t)Transform the edge pair collection with a complex transformation (modifies self)
[const]EdgePairstransformed(const Trans t)Transform the edge pair collection
[const]EdgePairstransformed(const ICplxTrans t)Transform the edge pair collection with a complex transformation

Deprecated methods (protected, public, static, non-static and constructors)

EdgePairstransform_icplx(const ICplxTrans t)Use of this method is deprecated. Use transform instead
[const]EdgePairstransformed_icplx(const ICplxTrans t)Use of this method is deprecated. Use transformed instead

Detailed description

[const] const EdgePair ptr [](unsigned int n)

Description: Returns the nth edge pair

This method returns nil if the index is out of range.

[const] void assign(const EdgePairs other)

Description: Assign the contents of another object to self

This method assigns the contents of another object to self. This is a deep copy that does not only copy the reference but the actual content.

[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.

void clear

Description: Clears the edge pair collection

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.

void destroy

Description: Explicitly destroy the object

Explicitly destroy the object on C++ side if it was owned by the Ruby interpreter. Subsequent access to this object will throw an exception. If the object is not owned by Ruby, this method will do nothing.

[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.

void disable_progress

Description: Disable progress reporting

Calling this method will disable progress reporting. See enable_progress.

[const] EdgePairs dup

Description: Creates a copy of self

[const,iter] EdgePair each

Description: Returns each edge pair of the edge pair collection

[const] Edges edges

Description: Decomposes the edge pairs into single edges

Returns:An edge collection containing the individual edges

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.

[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.

[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.

[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.

[const] Edges first_edges

Description: Returns the first one of all edges

Returns:An edge collection containing the first edges

void insert(const Edge first,const Edge second)

Description: Inserts an edge pair into the collection

void insert(const EdgePair edge_pair)

Description: Inserts an edge pair into the collection

[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.

[const] bool is_empty?

Description: Returns true if the collection is empty

EdgePairs move(const Point p)

Description: Moves the edge pair collection

p:The distance to move the edge pairs.
Returns:The moved edge pairs (self).

Moves the edge pairs by the given offset and returns the moved edge pair collection. The edge pair collection is overwritten.

EdgePairs move(int x,int y)

Description: Moves the edge pair collection

x:The x distance to move the edge pairs.
y:The y distance to move the edge pairs.
Returns:The moved edge pairs (self).

Moves the edge pairs by the given offset and returns the moved edge pairs. The edge pair collection is overwritten.

[const] EdgePairs moved(const Point p)

Description: Returns the moved edge pair collection (does not modify self)

p:The distance to move the edge pairs.
Returns:The moved edge pairs.

Moves the edge pairs by the given offset and returns the moved edge pairs. The edge pair collection is not modified.

[const] EdgePairs moved(int x,int y)

Description: Returns the moved edge pair collection (does not modify self)

x:The x distance to move the edge pairs.
y:The y distance to move the edge pairs.
Returns:The moved edge pairs.

Moves the edge pairs by the given offset and returns the moved edge pairs. The edge pair collection is not modified.

[static] new EdgePairs new

Description: Default constructor

This constructor creates an empty edge pair collection.

[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.

[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 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).

[const] Edges second_edges

Description: Returns the second one of all edges

Returns:An edge collection containing the second edges

[const] unsigned int size

Description: Returns the number of edge pairs in this collection

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.

[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.

[const] string to_s(unsigned int 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.

EdgePairs transform(const Trans t)

Description: Transform the edge pair collection (modifies self)

t:The transformation to apply.
Returns:The transformed edge pair collection.

Transforms the edge pair collection with the given transformation. This version modifies the edge pair collection and returns a reference to self.

EdgePairs transform(const ICplxTrans t)

Description: Transform the edge pair collection with a complex transformation (modifies self)

t:The transformation to apply.
Returns:The transformed edge pair collection.

Transforms the edge pair collection with the given transformation. This version modifies the edge pair collection and returns a reference to self.

EdgePairs transform_icplx(const ICplxTrans t)

Description: Transform the edge pair collection with a complex transformation (modifies self)

t:The transformation to apply.
Returns:The transformed edge pair collection.

This method is deprecated. Use method 'transform' instead

[const] EdgePairs transformed(const Trans t)

Description: Transform the edge pair collection

t:The transformation to apply.
Returns:The transformed edge pairs.

Transforms the edge pairs with the given transformation. Does not modify the edge pair collection but returns the transformed edge pairs.

[const] EdgePairs transformed(const ICplxTrans t)

Description: Transform the edge pair collection with a complex transformation

t:The transformation to apply.
Returns:The transformed edge pairs.

Transforms the edge pairs with the given complex transformation. Does not modify the edge pair collection but returns the transformed edge pairs.

[const] EdgePairs transformed_icplx(const ICplxTrans t)

Description: Transform the edge pair collection with a complex transformation

t:The transformation to apply.
Returns:The transformed edge pairs.

This method is deprecated. Use method 'transformed' instead