Class TriangulationUtil
- Assembly
- Alis.dll
The triangulation util class
internal class TriangulationUtil
Inheritance
Inherited Members
Fields
EPSILON
The epsilon
public static double EPSILON
Field Value
Methods
InScanArea(TriangulationPoint, TriangulationPoint, TriangulationPoint, TriangulationPoint)
Describes whether in scan area
public static bool InScanArea(TriangulationPoint pa, TriangulationPoint pb, TriangulationPoint pc, TriangulationPoint pd)
Parameters
pa
TriangulationPoint-
The pa
pb
TriangulationPoint-
The pb
pc
TriangulationPoint-
The pc
pd
TriangulationPoint-
The pd
Returns
- bool
-
The bool
Orient2d(TriangulationPoint, TriangulationPoint, TriangulationPoint)
public static Orientation Orient2d(TriangulationPoint pa, TriangulationPoint pb, TriangulationPoint pc)
Parameters
Returns
SmartIncircle(TriangulationPoint, TriangulationPoint, TriangulationPoint, TriangulationPoint)
Requirements:
- a,b and c form a triangle.
- a and d is know to be on opposite side of bc
a
+
/ \
/ \
b/ \c
+-------+
/ B \
/ \
Facts: d has to be in area B to have a chance to be inside the circle formed by a,b and c d is outside B if orient2d(a,b,d) or orient2d(c,a,d) is CW This preknowledge gives us a way to optimize the incircle test
public static bool SmartIncircle(TriangulationPoint pa, TriangulationPoint pb, TriangulationPoint pc, TriangulationPoint pd)
Parameters
pa
TriangulationPoint-
triangle point, opposite d
pb
TriangulationPoint-
triangle point
pc
TriangulationPoint-
triangle point
pd
TriangulationPoint-
point opposite a
Returns
- bool
-
true if d is inside circle, false if on circle edge