|
| virtual short | orient2D (const double p1[2], const double p2[2], const double p3[2]) const |
| | Exact 2D orientation test.
|
| |
| virtual short | orient3D (const double p1[3], const double p2[3], const double p3[3], const double p4[3]) const |
| | Exact 3D orientation test.
|
| |
| virtual short | incircle (const double p1[2], const double p2[2], const double p3[2], const double p4[2]) const |
| | Exact 2D incircle test.
|
| |
| virtual short | insphere (const double p1[3], const double p2[3], const double p3[3], const double p4[3], const double p5[3]) const |
| | Exact 3D insphere test.
|
| |
| virtual short | collinear3D (const double p1[3], const double p2[3], const double p3[3]) const |
| | Tests whether p1, p2, and p3 are collinear in 3D.
|
| |
|
| static std::unique_ptr< ExactPredicates > | create (const std::string &engine) |
| | Factory method to create an exact predicate engine.
|
| |
◆ orient2D()
| short orient2D |
( |
const double | p1[2], |
|
|
const double | p2[2], |
|
|
const double | p3[2] ) const |
|
virtual |
Exact 2D orientation test.
- Parameters
-
| p1 | First 2D point. |
| p2 | Second 2D point. |
| p3 | Third 2D point. |
- Returns
- Return a positive value if the points p1, p2, and p3 occur in counterclockwise order; a negative value if they occur in clockwise order; and zero if they are collinear.
Implements ExactPredicates.
◆ orient3D()
| short orient3D |
( |
const double | p1[3], |
|
|
const double | p2[3], |
|
|
const double | p3[3], |
|
|
const double | p4[3] ) const |
|
virtual |
Exact 3D orientation test.
- Parameters
-
| p1 | First 3D point. |
| p2 | Second 3D point. |
| p3 | Third 3D point. |
| p4 | Fourth 3D point. |
- Returns
- Return a positive value if the point p4 lies below the plane passing through p1, p2, and p3; "below" is defined so that p1, p2, and p3 appear in counterclockwise order when viewed from above the plane. Returns a negative value if p4 lies above the plane. Returns zero if the points are coplanar.
Implements ExactPredicates.
◆ incircle()
| short incircle |
( |
const double | p1[2], |
|
|
const double | p2[2], |
|
|
const double | p3[2], |
|
|
const double | p4[2] ) const |
|
virtual |
Exact 2D incircle test.
- Parameters
-
| p1 | First 2D point. |
| p2 | Second 2D point. |
| p3 | Third 2D point. |
| p4 | Fourth 3D point. |
- Returns
- Return a positive value if the point p4 lies inside the circle passing through p1, p2, and p3; a negative value if it lies outside; and zero if the four points are cocircular. The points p1, p2, and p3 must be in counterclockwise order, or the sign of the result will be reversed.
Implements ExactPredicates.
◆ insphere()
| short insphere |
( |
const double | p1[3], |
|
|
const double | p2[3], |
|
|
const double | p3[3], |
|
|
const double | p4[3], |
|
|
const double | p5[3] ) const |
|
virtual |
Exact 3D insphere test.
- Parameters
-
| p1 | First 3D point. |
| p2 | Second 3D point. |
| p3 | Third 3D point. |
| p4 | Fourth 3D point. |
| p5 | Fifth 3D point. |
- Returns
- Return a positive value if the point p5 lies inside the sphere passing through p1, p2, p3, and p4; a negative value if it lies outside; and zero if the five points are cospherical. The points p1, p2, p3, and p4 must be ordered so that they have a positive orientation (as defined by orient3d()), or the sign of the result will be reversed.
Implements ExactPredicates.
The documentation for this class was generated from the following files: