|
ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
|
Classes | |
| class | Point |
| 2D point with high-precision coordinates and utility methods More... | |
| struct | PointHash |
| Hash function for Point (for use in std::unordered_map, etc.) More... | |
| class | Polygon |
| Polygon class supporting both convex and concave polygons. More... | |
| struct | PolygonHash |
| Hash function for Polygon (for use in std::unordered_map, etc.) More... | |
| class | Rectangle |
| Axis-aligned rectangle for bounding boxes and simple EDA components. More... | |
| struct | RectangleHash |
| Hash function for Rectangle (for use in std::unordered_map, etc.) More... | |
Functions | |
| double | distance (const Point &p1, const Point &p2) |
| Calculate distance between two points. | |
| Point | midpoint (const Point &p1, const Point &p2) |
| Calculate midpoint between two points. | |
| double | angle_between_points (const Point &p1, const Point &p2, const Point &p3) |
| Calculate angle between three points (p1-p2-p3) | |
| bool | are_collinear (const Point &p1, const Point &p2, const Point &p3) |
| Check if three points are collinear. | |
| int | orientation (const Point &p1, const Point &p2, const Point &p3) |
| Calculate orientation of three points. | |
| bool | line_intersection (const Point &line1_start, const Point &line1_end, const Point &line2_start, const Point &line2_end, Point &intersection) |
| Calculate intersection point of two infinite lines. | |
| bool | segments_intersect (const Point &seg1_start, const Point &seg1_end, const Point &seg2_start, const Point &seg2_end) |
| Check if two line segments intersect. | |
| double | angle_between_vectors (const Point &v1, const Point &v2) |
| Calculate angle between two vectors in degrees. | |
| std::ostream & | operator<< (std::ostream &os, const Point &point) |
| std::ostream & | operator<< (std::ostream &os, const Polygon &polygon) |
| std::ostream & | operator<< (std::ostream &os, const Rectangle &rect) |
Variables | |
| bool | HAS_NUMPY = True |
Basic geometric data structures for layout processing.
Calculate angle between two vectors in degrees.
| v1 | First vector |
| v2 | Second vector |
Definition at line 473 of file polygon.cpp.
| bool zlayout::geometry::line_intersection | ( | const Point & | line1_start, |
| const Point & | line1_end, | ||
| const Point & | line2_start, | ||
| const Point & | line2_end, | ||
| Point & | intersection ) |
Calculate intersection point of two infinite lines.
| line1_start | First point on line 1 |
| line1_end | Second point on line 1 |
| line2_start | First point on line 2 |
| line2_end | Second point on line 2 |
| intersection | Output intersection point |
| std::ostream & zlayout::geometry::operator<< | ( | std::ostream & | os, |
| const Point & | point ) |
| std::ostream & zlayout::geometry::operator<< | ( | std::ostream & | os, |
| const Polygon & | polygon ) |
Definition at line 406 of file polygon.cpp.
| std::ostream & zlayout::geometry::operator<< | ( | std::ostream & | os, |
| const Rectangle & | rect ) |
Definition at line 210 of file rectangle.cpp.
| bool zlayout::geometry::segments_intersect | ( | const Point & | seg1_start, |
| const Point & | seg1_end, | ||
| const Point & | seg2_start, | ||
| const Point & | seg2_end ) |
Check if two line segments intersect.
| seg1_start | Start of first segment |
| seg1_end | End of first segment |
| seg2_start | Start of second segment |
| seg2_end | End of second segment |
Definition at line 468 of file polygon.cpp.
| bool zlayout.geometry.HAS_NUMPY = True |
Definition at line 11 of file geometry.py.