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  trueif a specified edge is contained in this
 region. | 
| boolean | containsFace(Face face)Returns  trueif a specified face is contained in this
 region. | 
| boolean | containsVertex(Vertex3d vtx)Returns  trueif 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.