Notation used in Ruby API documentation
Module: db
Description: An edge class
An edge is a connection between points, usually participating in a larger context such as a polygon. An edge has a defined direction (from p1 to p2). Edges play a role in the database as parts of polygons and to describe a line through both points. The Edge object is also used inside the boolean processor (EdgeProcessor). Although supported, edges are rarely used as individual database objects.
See The Database API for more details about the database objects like the Edge class.
new DEdge ptr | new | (const Edge edge) | Creates a floating-point coordinate edge from an integer coordinate edge |
new DEdge ptr | new | Default constructor: creates a degenerated edge 0,0 to 0,0 | |
new DEdge ptr | new | (double x1, double y1, double x2, double y2) | Constructor with two coordinates given as single values |
new DEdge ptr | new | (const DPoint p1, const DPoint p2) | Constructor with two points |
[const] | bool | != | (const DEdge e) | Inequality test |
[const] | DEdge | * | (double scale_factor) | Scale edge |
[const] | bool | < | (const DEdge e) | Less operator |
[const] | bool | == | (const DEdge e) | Equality test |
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 DEdge other) | Assigns another object to self | |
[const] | DBox | bbox | Return the bounding box of the edge. | |
[const] | variant | clipped | (const DBox box) | Returns the edge clipped at the given box |
[const] | variant | clipped_line | (const DBox box) | Returns the line through the edge clipped at the given box |
[const] | bool | coincident? | (const DEdge e) | Coincidence check. |
[const] | bool | contains? | (const DPoint p) | Tests whether a point is on an edge. |
[const] | bool | contains_excl? | (const DPoint p) | Tests whether a point is on an edge excluding the endpoints. |
[const] | bool | crossed_by? | (const DEdge e) | Checks, if the line given by self is crossed by the edge e |
[const] | DPoint | crossing_point | (const DEdge e) | Returns the crossing point on two edges. |
[const] | variant | cut_point | (const DEdge e) | Returns the intersection point of the lines through the two edges. |
[const] | DVector | d | Gets the edge extension as a vector. | |
[const] | double | distance | (const DPoint p) | Gets the distance of the point from the line through the edge. |
[const] | double | distance_abs | (const DPoint p) | Absolute distance between the edge and a point. |
[const] | new DEdge ptr | dup | Creates a copy of self | |
[const] | double | dx | The horizontal extend of the edge. | |
[const] | double | dx_abs | The absolute value of the horizontal extend of the edge. | |
[const] | double | dy | The vertical extend of the edge. | |
[const] | double | dy_abs | The absolute value of the vertical extend of the edge. | |
DEdge | enlarge | (const DVector p) | Enlarges the edge. | |
[const] | DEdge | enlarged | (const DVector p) | Returns the enlarged edge (does not modify self) |
double | euclidian_distance | (const DPoint p) | Gets the distance of the point from the the edge. | |
DEdge | extend | (double d) | Extends the edge (modifies self) | |
[const] | DEdge | extended | (double d) | Returns the extended edge (does not modify self) |
[const] | unsigned long | hash | Computes a hash value | |
[const] | variant | intersection_point | (const DEdge e) | Returns the intersection point of two edges. |
[const] | bool | intersects? | (const DEdge e) | Intersection test. |
[const] | bool | is_degenerate? | Test for degenerated edge | |
[const] | bool | is_parallel? | (const DEdge e) | Test for being parallel |
[const] | double | length | The length of the edge | |
DEdge | move | (const DVector p) | Moves the edge. | |
DEdge | move | (double dx, double dy) | Moves the edge. | |
[const] | DEdge | moved | (const DVector p) | Returns the moved edge (does not modify self) |
[const] | DEdge | moved | (double dx, double dy) | Returns the moved edge (does not modify self) |
[const] | double | ortho_length | The orthogonal length of the edge ("manhattan-length") | |
[const] | DPoint | p1 | The first point. | |
void | p1= | (const DPoint point) | Sets the first point. | |
[const] | DPoint | p2 | The second point. | |
void | p2= | (const DPoint point) | Sets the second point. | |
DEdge | shift | (double d) | Shifts the edge (modifies self) | |
[const] | DEdge | shifted | (double d) | Returns the shifted edge (does not modify self) |
[const] | int | side_of | (const DPoint p) | Indicates at which side the point is located relative to the edge. |
[const] | double | sq_length | The square of the length of the edge | |
DEdge | swap_points | Swap the points of the edge | ||
[const] | DEdge | swapped_points | Returns an edge in which both points are swapped | |
[const] | Edge | to_itype | (double dbu = 1) | Converts the edge to an integer coordinate edge |
[const] | string | to_s | (double dbu = 0) | Returns a string representing the edge |
[const] | Edge | transformed | (const VCplxTrans t) | Transforms the edge with the given complex transformation |
[const] | DEdge | transformed | (const DTrans t) | Transform the edge. |
[const] | DEdge | transformed | (const DCplxTrans t) | Transform the edge. |
[const] | double | x1 | Shortcut for p1.x | |
void | x1= | (double coord) | Sets p1.x | |
[const] | double | x2 | Shortcut for p2.x | |
void | x2= | (double coord) | Sets p2.x | |
[const] | double | y1 | Shortcut for p1.y | |
void | y1= | (double coord) | Sets p1.y | |
[const] | double | y2 | Shortcut for p2.y | |
void | y2= | (double coord) | Sets p2.y |
new DEdge ptr | from_s | (string s) | Creates an object from a string |
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 | |
[static] | new DEdge ptr | from_iedge | (const Edge edge) | Use of this method is deprecated. Use new instead |
[const] | bool | intersect? | (const DEdge e) | Use of this method is deprecated. Use intersects? instead |
[const] | bool | is_const_object? | Use of this method is deprecated. Use _is_const_object? instead | |
[static] | new DEdge ptr | new_pp | (const DPoint p1, const DPoint p2) | Use of this method is deprecated. Use new instead |
[static] | new DEdge ptr | new_xyxy | (double x1, double y1, double x2, double y2) | Use of this method is deprecated. Use new instead |
[const] | DEdge | transformed_cplx | (const DCplxTrans t) | Use of this method is deprecated. Use transformed instead |
!= | Signature: [const] bool != (const DEdge e) Description: Inequality test
| |||||
* | Signature: [const] DEdge * (double scale_factor) Description: Scale edge
The * operator scales self with the given factor. This method has been introduced in version 0.22. Python specific notes: | |||||
< | Signature: [const] bool < (const DEdge e) Description: Less operator
| |||||
== | Signature: [const] bool == (const DEdge e) Description: Equality test
| |||||
_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 DEdge other) Description: Assigns another object to self | |||||
bbox | Signature: [const] DBox bbox Description: Return the bounding box of the edge. | |||||
clipped | Signature: [const] variant clipped (const DBox box) Description: Returns the edge clipped at the given box
This method has been introduced in version 0.26.2. | |||||
clipped_line | Signature: [const] variant clipped_line (const DBox box) Description: Returns the line through the edge clipped at the given box
In contrast to clipped, this method will consider the edge extended infinitely (a "line"). The returned edge will be the part of this line going through the box. This method has been introduced in version 0.26.2. | |||||
coincident? | Signature: [const] bool coincident? (const DEdge e) Description: Coincidence check.
Checks whether a edge is coincident with another edge. Coincidence is defined by being parallel and that at least one point of one edge is on the other edge. | |||||
contains? | Signature: [const] bool contains? (const DPoint p) Description: Tests whether a point is on an edge.
A point is on a edge if it is on (or at least closer than a grid point to) the edge. | |||||
contains_excl? | Signature: [const] bool contains_excl? (const DPoint p) Description: Tests whether a point is on an edge excluding the endpoints.
A point is on a edge if it is on (or at least closer than a grid point to) the edge. | |||||
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. | |||||
crossed_by? | Signature: [const] bool crossed_by? (const DEdge e) Description: Checks, if the line given by self is crossed by the edge e
self if considered an infinite line. This predicate renders true if the edge e is cut by this line. In other words: this method returns true if e.p1 is in one semispace of self while e.p2 is in the other or one of them is exactly on self. | |||||
crossing_point | Signature: [const] DPoint crossing_point (const DEdge e) Description: Returns the crossing point on two edges.
This method delivers the point where the given line (self) crosses the edge given by the argument "e". self is considered infinitely long and is required to cut through the edge "e". If self does not cut this line, the result is undefined. See crossed_by? for a description of the crossing predicate. This method has been introduced in version 0.19. | |||||
cut_point | Signature: [const] variant cut_point (const DEdge e) Description: Returns the intersection point of the lines through the two edges.
This method delivers the intersection point between the lines through the two edges. If the lines are parallel and do not intersect, the result will be nil. In contrast to intersection_point, this method will regard the edges as infinitely extended and intersection is not confined to the edge span. This method has been introduced in version 0.27.1. | |||||
d | Signature: [const] DVector d Description: Gets the edge extension as a vector. This method is equivalent to p2 - p1. This method has been introduced in version 0.26.2. | |||||
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. | |||||
distance | Signature: [const] double distance (const DPoint p) Description: Gets the distance of the point from the line through the edge.
Returns the distance between the edge and the point. The distance is signed which is negative if the point is to the "right" of the edge and positive if the point is to the "left". The distance is measured by projecting the point onto the line through the edge. If the edge is degenerated, the distance is not defined. This method considers the edge to define an infinite line running through it. distance returns the distance of 'p' to this line. A similar method is euclidian_distance, but the latter regards the edge a finite set of points between the endpoints. | |||||
distance_abs | Signature: [const] double distance_abs (const DPoint p) Description: Absolute distance between the edge and a point.
Returns the distance between the edge and the point. | |||||
dup | Signature: [const] new DEdge ptr dup Description: Creates a copy of self Python specific notes: | |||||
dx | Signature: [const] double dx Description: The horizontal extend of the edge. | |||||
dx_abs | Signature: [const] double dx_abs Description: The absolute value of the horizontal extend of the edge. | |||||
dy | Signature: [const] double dy Description: The vertical extend of the edge. | |||||
dy_abs | Signature: [const] double dy_abs Description: The absolute value of the vertical extend of the edge. | |||||
enlarge | Signature: DEdge enlarge (const DVector p) Description: Enlarges the edge.
Enlarges the edge by the given distance and returns the enlarged edge. The edge is overwritten. Enlargement means that the first point is shifted by -p, the second by p. | |||||
enlarged | Signature: [const] DEdge enlarged (const DVector p) Description: Returns the enlarged edge (does not modify self)
Enlarges the edge by the given offset and returns the enlarged edge. The edge is not modified. Enlargement means that the first point is shifted by -p, the second by p. | |||||
euclidian_distance | Signature: double euclidian_distance (const DPoint p) Description: Gets the distance of the point from the the edge.
Returns the minimum distance of the point to any point on the edge. Unlike distance, the edge is considered a finite set of points between the endpoints. The result is also not signed like it is the case for distance. This method has been introduced in version 0.28.14. | |||||
extend | Signature: DEdge extend (double d) Description: Extends the edge (modifies self)
Extends the edge by the given distance and returns the extended edge. The edge is not modified. Extending means that the first point is shifted by -d along the edge, the second by d. The length of the edge will increase by 2*d. extended is a version that does not modify self but returns the extended edges. This method has been introduced in version 0.23. | |||||
extended | Signature: [const] DEdge extended (double d) Description: Returns the extended edge (does not modify self)
Extends the edge by the given distance and returns the extended edge. The edge is not modified. Extending means that the first point is shifted by -d along the edge, the second by d. The length of the edge will increase by 2*d. extend is a version that modifies self (in-place). This method has been introduced in version 0.23. | |||||
from_iedge | Signature: [static] new DEdge ptr from_iedge (const Edge edge) Description: Creates a floating-point coordinate edge from an integer coordinate edge Use of this method is deprecated. Use new instead This constructor has been introduced in version 0.25 and replaces the previous static method 'from_iedge'. Python specific notes: | |||||
from_s | Signature: [static] new DEdge ptr from_s (string s) Description: Creates an object from a string Creates the object from a string representation (as returned by to_s) This method has been added in version 0.23. | |||||
hash | Signature: [const] unsigned long hash Description: Computes a hash value Returns a hash value for the given edge. This method enables edges as hash keys. This method has been introduced in version 0.25. Python specific notes: | |||||
intersect? | Signature: [const] bool intersect? (const DEdge e) Description: Intersection test.
Use of this method is deprecated. Use intersects? instead Returns true if the edges intersect. Two edges intersect if they share at least one point. If the edges coincide, they also intersect. If one of the edges is degenerate (both points are identical), that point is required to sit exaclty on the other edge. If both edges are degenerate, their points are required to be identical. The 'intersects' (with an 's') synonym has been introduced in version 0.28.12. | |||||
intersection_point | Signature: [const] variant intersection_point (const DEdge e) Description: Returns the intersection point of two edges.
This method delivers the intersection point. If the edges do not intersect, the result will be nil. This method has been introduced in version 0.19. From version 0.26.2, this method will return nil in case of non-intersection. | |||||
intersects? | Signature: [const] bool intersects? (const DEdge e) Description: Intersection test.
Returns true if the edges intersect. Two edges intersect if they share at least one point. If the edges coincide, they also intersect. If one of the edges is degenerate (both points are identical), that point is required to sit exaclty on the other edge. If both edges are degenerate, their points are required to be identical. The 'intersects' (with an 's') synonym has been introduced in version 0.28.12. | |||||
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_degenerate? | Signature: [const] bool is_degenerate? Description: Test for degenerated edge An edge is degenerate, if both end and start point are identical. | |||||
is_parallel? | Signature: [const] bool is_parallel? (const DEdge e) Description: Test for being parallel
| |||||
length | Signature: [const] double length Description: The length of the edge | |||||
move | (1) Signature: DEdge move (const DVector p) Description: Moves the edge.
Moves the edge by the given offset and returns the moved edge. The edge is overwritten. | |||||
(2) Signature: DEdge move (double dx, double dy) Description: Moves the edge.
Moves the edge by the given offset and returns the moved edge. The edge is overwritten. This version has been added in version 0.23. | ||||||
moved | (1) Signature: [const] DEdge moved (const DVector p) Description: Returns the moved edge (does not modify self)
Moves the edge by the given offset and returns the moved edge. The edge is not modified. | |||||
(2) Signature: [const] DEdge moved (double dx, double dy) Description: Returns the moved edge (does not modify self)
Moves the edge by the given offset and returns the moved edge. The edge is not modified. This version has been added in version 0.23. | ||||||
new | (1) Signature: [static] new DEdge ptr new (const Edge edge) Description: Creates a floating-point coordinate edge from an integer coordinate edge This constructor has been introduced in version 0.25 and replaces the previous static method 'from_iedge'. Python specific notes: | |||||
(2) Signature: [static] new DEdge ptr new Description: Default constructor: creates a degenerated edge 0,0 to 0,0 Python specific notes: | ||||||
(3) Signature: [static] new DEdge ptr new (double x1, double y1, double x2, double y2) Description: Constructor with two coordinates given as single values Two points are given to create a new edge. Python specific notes: | ||||||
(4) Signature: [static] new DEdge ptr new (const DPoint p1, const DPoint p2) Description: Constructor with two points Two points are given to create a new edge. Python specific notes: | ||||||
new_pp | Signature: [static] new DEdge ptr new_pp (const DPoint p1, const DPoint p2) Description: Constructor with two points Use of this method is deprecated. Use new instead Two points are given to create a new edge. Python specific notes: | |||||
new_xyxy | Signature: [static] new DEdge ptr new_xyxy (double x1, double y1, double x2, double y2) Description: Constructor with two coordinates given as single values Use of this method is deprecated. Use new instead Two points are given to create a new edge. Python specific notes: | |||||
ortho_length | Signature: [const] double ortho_length Description: The orthogonal length of the edge ("manhattan-length")
| |||||
p1 | Signature: [const] DPoint p1 Description: The first point. Python specific notes: | |||||
p1= | Signature: void p1= (const DPoint point) Description: Sets the first point. This method has been added in version 0.23. Python specific notes: | |||||
p2 | Signature: [const] DPoint p2 Description: The second point. Python specific notes: | |||||
p2= | Signature: void p2= (const DPoint point) Description: Sets the second point. This method has been added in version 0.23. Python specific notes: | |||||
shift | Signature: DEdge shift (double d) Description: Shifts the edge (modifies self)
Shifts the edge by the given distance and returns the shifted edge. The edge is not modified. Shifting by a positive value will produce an edge which is shifted by d to the left. Shifting by a negative value will produce an edge which is shifted by d to the right. shifted is a version that does not modify self but returns the extended edges. This method has been introduced in version 0.23. | |||||
shifted | Signature: [const] DEdge shifted (double d) Description: Returns the shifted edge (does not modify self)
Shifts the edge by the given distance and returns the shifted edge. The edge is not modified. Shifting by a positive value will produce an edge which is shifted by d to the left. Shifting by a negative value will produce an edge which is shifted by d to the right. shift is a version that modifies self (in-place). This method has been introduced in version 0.23. | |||||
side_of | Signature: [const] int side_of (const DPoint p) Description: Indicates at which side the point is located relative to the edge.
Returns 1 if the point is "left" of the edge, 0 if on and -1 if the point is "right" of the edge. | |||||
sq_length | Signature: [const] double sq_length Description: The square of the length of the edge | |||||
swap_points | Signature: DEdge swap_points Description: Swap the points of the edge This version modifies self. A version that does not modify self is swapped_points. Swapping the points basically reverses the direction of the edge. This method has been introduced in version 0.23. | |||||
swapped_points | Signature: [const] DEdge swapped_points Description: Returns an edge in which both points are swapped Swapping the points basically reverses the direction of the edge. This method has been introduced in version 0.23. | |||||
to_itype | Signature: [const] Edge to_itype (double dbu = 1) Description: Converts the edge to an integer coordinate edge The database unit can be specified to translate the floating-point coordinate edge in micron units to an integer-coordinate edge in database units. The edges coordinates will be divided by the database unit. This method has been introduced in version 0.25. | |||||
to_s | Signature: [const] string to_s (double dbu = 0) Description: Returns a string representing the edge If a DBU is given, the output units will be micrometers. The DBU argument has been added in version 0.27.6. Python specific notes: | |||||
transformed | (1) Signature: [const] Edge transformed (const VCplxTrans t) Description: Transforms the edge with the given complex transformation
This method has been introduced in version 0.25. | |||||
(2) Signature: [const] DEdge transformed (const DTrans t) Description: Transform the edge.
Transforms the edge with the given transformation. Does not modify the edge but returns the transformed edge. | ||||||
(3) Signature: [const] DEdge transformed (const DCplxTrans t) Description: Transform the edge.
Transforms the edge with the given complex transformation. Does not modify the edge but returns the transformed edge. | ||||||
transformed_cplx | Signature: [const] DEdge transformed_cplx (const DCplxTrans t) Description: Transform the edge.
Use of this method is deprecated. Use transformed instead Transforms the edge with the given complex transformation. Does not modify the edge but returns the transformed edge. | |||||
x1 | Signature: [const] double x1 Description: Shortcut for p1.x Python specific notes: | |||||
x1= | Signature: void x1= (double coord) Description: Sets p1.x This method has been added in version 0.23. Python specific notes: | |||||
x2 | Signature: [const] double x2 Description: Shortcut for p2.x Python specific notes: | |||||
x2= | Signature: void x2= (double coord) Description: Sets p2.x This method has been added in version 0.23. Python specific notes: | |||||
y1 | Signature: [const] double y1 Description: Shortcut for p1.y Python specific notes: | |||||
y1= | Signature: void y1= (double coord) Description: Sets p1.y This method has been added in version 0.23. Python specific notes: | |||||
y2 | Signature: [const] double y2 Description: Shortcut for p2.y Python specific notes: | |||||
y2= | Signature: void y2= (double coord) Description: Sets p2.y This method has been added in version 0.23. Python specific notes: |