![]() |
Prusa Slicer 2.6.0
|
Functions | |
| static bool | isInsideCorner (const Point &a, const Point &b, const Point &c, const Vec2i64 &query_point) |
| static int64_t | pointIsLeftOfLine (const Point &p, const Point &a, const Point &b) |
| static float | getAngleLeft (const Point &a, const Point &b, const Point &c) |
|
inlinestatic |
Compute the angle between two consecutive line segments.
The angle is computed from the left side of b when looking from a.
c \ . \ b angle| | a
| a | start of first line segment |
| b | end of first segment and start of second line segment |
| c | end of second line segment |
b References Slic3r::angle(), Slic3r::cross2(), and M_PI.
Referenced by Slic3r::Arachne::removeColinearEdges().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Test whether a point is inside a corner. Whether point query_point is left of the corner abc. Whether the query_point is in the circle half left of ab and left of bc, rather than to the right.
Test whether the query_point is inside of a polygon w.r.t a single corner.
References Slic3r::dot(), Slic3r::Arachne::normal(), and Slic3r::perp().
Referenced by Slic3r::Arachne::SkeletalTrapezoidation::computePointCellRange().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Returns the determinant of the 2D matrix defined by the the vectors ab and ap as rows.
The returned value is zero for p lying (approximately) on the line going through a and b The value is positive for values lying to the left and negative for values lying to the right when looking from a to b.
| p | the point to check |
| a | the from point of the line |
| b | the to point of the line |
p lies to the left of the line from a to b Referenced by Slic3r::Arachne::fixSelfIntersections().
Here is the caller graph for this function: