contains method
Returns true if the polygon contains the given point.
Implementation
bool contains(Vector3 point, [double epsilon = 1e-3 ]) {
final plane = this.plane;
HalfEdge? edge = this.edge;
// convex test
do{
final v1 = edge!.tail()!;
final v2 = edge.head();
if ( leftOn( v1, v2, point ) == false ) {
return false;
}
edge = edge.next;
} while ( edge != this.edge );
// ensure the given point lies within a defined tolerance range
final distance = plane.distanceToPoint( point );
if ( distance.abs() > epsilon ) {
return false;
}
return true;
}