#include <exactpredicates2d.h>
2D exact geometrical predicates. Based on Shewchuk's adaptive exact predicates.
Static Public Member Functions | |
static MAXON_METHOD Float | Orient (const Vector2d &pointA, const Vector2d &pointB, const Vector2d &pointC) |
static MAXON_METHOD Float | InCircle (const Vector2d &pointA, const Vector2d &pointB, const Vector2d &pointC, const Vector2d &testPoint) |
static MAXON_METHOD Result< Float > | InTriangle (const Vector2d &pointA, const Vector2d &pointB, const Vector2d &pointC, const Vector2d &testPoint) |
static MAXON_METHOD Result< Float > | InSector (const Vector2d ¢er, const Vector2d &rayA, const Vector2d &rayB, const Vector2d &testPoint) |
static MAXON_METHOD Result< Bool > | OutlineSelfIntersectionTest (const Block< const Vector2d > &outline) |
static MAXON_METHOD Result< Bool > | OutlinesIntersectionTest (const Block< const Vector2d > &outline1, const Block< const Vector2d > &outline2) |
static MAXON_METHOD Result< Bool > | OutlinesIntersectionTest (const Block< const Block< const Vector2d >> &outlines) |
Private Member Functions | |
MAXON_INTERFACE_NONVIRTUAL (ExactPredicates2DInterface, MAXON_REFERENCE_STATIC, "net.maxon.interface.exactpredicates2d") | |
|
private |
|
static |
Gets orientation of three points.
[in] | pointA | First point. |
[in] | pointB | Second point. |
[in] | pointC | Third point. |
|
static |
Tests if a point is inside the circumscribed circle of a triangle defined by three points.
[in] | pointA | First point. |
[in] | pointB | Second point. |
[in] | pointC | Third point. |
[in] | testPoint | Test point. |
|
static |
Tests if a point is inside a triangle defined by three points.
[in] | pointA | First point. |
[in] | pointB | Second point. |
[in] | pointC | Third point. |
[in] | testPoint | Test point. |
|
static |
Checks if the test point lies inside a space sector.
Check if the test point lies inside the space sector defined by a center point and two rays (ccw order).
[in] | center | Sector center. |
[in] | rayA | Sector first ray. |
[in] | rayB | Sector second ray (ccw w.r.t the above parameters). |
[in] | testPoint | Test Point. |
|
static |
Tests if a closed outline is self-intersected or have duplicated points.
[in] | outline | Input outline. |
|
static |
Tests if two closed outlines intersect or either polyline is self-intersected.
Tests if two closed outlines intersect in at least one point or at least one of them is self-intersected or have duplicated points.
[in] | outline1 | First outline. |
[in] | outline2 | Second outline. |
|
static |
Tests if a set of closed outlines intersect or if either polyline is self-intersected.
Tests if a set of closed outlines intersect in at least one point or at least one of them is self-intersected or has duplicated points.
[in] | outlines | Input outlines. |