public class PenetrationRegion
extends java.lang.Object
In some cases the penetration region may intersect only a single face of the intersecting mesh. The region is then referred to as a "single face region", and its bounding contours all lie within the single face of the intersecting mesh.
| Modifier and Type | Field and Description | 
|---|---|
static boolean | 
debug  | 
| Constructor and Description | 
|---|
PenetrationRegion(PolygonalMesh mesh,
                 boolean clockwise,
                 double posTol)
Creates a new, empty penetration region for a specified mesh. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
containsEdge(HalfEdge he)
Returns  
true if a specified edge is contained in this
 region. | 
boolean | 
containsFace(Face face)
Returns  
true if a specified face is contained in this
 region. | 
boolean | 
containsVertex(Vertex3d vtx)
Returns  
true if a specified vertex is contained in this
 region. | 
boolean | 
equals(PenetrationRegion region)
Returns true if this region equals another. 
 | 
double | 
getArea()
Returns the surface area for this penetration region. 
 | 
java.util.LinkedHashSet<IntersectionContour> | 
getContours()
Returns the contours which bound this region. 
 | 
java.util.LinkedHashSet<HalfEdge> | 
getEdges()
Returns the edges contained in this region. 
 | 
java.util.LinkedHashSet<Face> | 
getFaces()
Returns the faces contained in this region. 
 | 
PolygonalMesh | 
getMesh()
Returns the mesh associated with this region. 
 | 
double | 
getPositionTol()
Returns the position tolerance that was used to create this region. 
 | 
java.util.LinkedHashSet<Vertex3d> | 
getVertices()
Returns the vertices contained in this region. 
 | 
boolean | 
hasClockwiseContours()
Indicates if the contours of this region are oriented clockwise
 with respect to the region's mesh. 
 | 
int | 
numContours()
Returns the number of contours bounding this region. 
 | 
int | 
numEdges()
Returns the number of edges contained in this region. 
 | 
int | 
numFaces()
Returns the number of faces contained in this region. 
 | 
int | 
numVertices()
Returns the number of vertices contained in this region. 
 | 
java.lang.String | 
toString(java.util.List<IntersectionContour> contours)
Returns a string representation of this region consisting
 of the indices of the vertices and the indices of
 the contours with respect to a reference list. 
 | 
public PenetrationRegion(PolygonalMesh mesh, boolean clockwise, double posTol)
mesh - mesh to which the region belongsclockwise - if true, indicates that the
 bounding contours for the region are oriented clockwise
 with respect to the mesh.posTol - position tolerance used to create the regionpublic java.util.LinkedHashSet<IntersectionContour> getContours()
public int numContours()
public java.util.LinkedHashSet<Vertex3d> getVertices()
public int numVertices()
public boolean containsVertex(Vertex3d vtx)
true if a specified vertex is contained in this
 region.vtx - vertex to testtrue if vtx is in this regionpublic java.util.LinkedHashSet<Face> getFaces()
public int numFaces()
public boolean containsFace(Face face)
true if a specified face is contained in this
 region.face - face to testtrue if face is in this regionpublic java.util.LinkedHashSet<HalfEdge> getEdges()
he is an inside edge,
 he.opposite will not be.public int numEdges()
public boolean containsEdge(HalfEdge he)
true if a specified edge is contained in this
 region. The test will be made using he.getPrimary(), so that
 if he is inside, then he.opposite will also be
 inside.he - edge to testtrue if he 
 or he.opposite is in this regionpublic PolygonalMesh getMesh()
public boolean hasClockwiseContours()
true if contours are oriented clockwisepublic boolean equals(PenetrationRegion region)
public java.lang.String toString(java.util.List<IntersectionContour> contours)
public double getArea()
public double getPositionTol()
SurfaceMeshIntersector when the region is
 created.