maspack.collision
Class MeshIntersectionContour

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList<MeshIntersectionPoint>
              extended by maspack.collision.MeshIntersectionContour
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<MeshIntersectionPoint>, java.util.Collection<MeshIntersectionPoint>, java.util.List<MeshIntersectionPoint>, java.util.RandomAccess

public class MeshIntersectionContour
extends java.util.ArrayList<MeshIntersectionPoint>

See Also:
Serialized Form

Field Summary
 boolean edgeRegion
           
 boolean hasInterior
           
 java.util.LinkedHashSet<HalfEdge> insideEdges0
           
 java.util.LinkedHashSet<HalfEdge> insideEdges1
           
 java.util.LinkedHashSet<Face> insideFaces0
           
 java.util.LinkedHashSet<Face> insideFaces1
           
 java.util.ArrayList<Vertex3d> insideVertices0
           
 java.util.ArrayList<Vertex3d> insideVertices1
           
 SurfaceMeshIntersector intersector
           
 boolean isClosed
           
 boolean isContinuable
           
 boolean isNested
           
 Vector3d normal
           
 boolean openMesh
           
 MeshIntersectionPoint workPoint
           
 
Constructor Summary
MeshIntersectionContour(SurfaceMeshIntersector anIntersector)
           
 
Method Summary
 boolean add(MeshIntersectionPoint mip)
           
 boolean addWorkPoint()
           
 void findInsideBoundaryFeatures(java.util.HashSet<HalfEdge> boundaryEdges, java.util.LinkedHashMap<Vertex3d,MeshIntersectionContour> vertexContours)
           
 void findRegionInteriors(java.util.HashSet<HalfEdge> boundaryEdges, java.util.LinkedHashMap<Vertex3d,MeshIntersectionContour> vertexContours)
           
 MeshIntersectionPoint get(int i)
           
 double getArea()
           
 void reverse()
           
 void switchEdgeRegion()
           
 
Methods inherited from class java.util.ArrayList
add, addAll, addAll, clear, clone, contains, ensureCapacity, indexOf, isEmpty, lastIndexOf, remove, remove, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, retainAll, subList
 

Field Detail

workPoint

public MeshIntersectionPoint workPoint

isClosed

public boolean isClosed

isContinuable

public boolean isContinuable

hasInterior

public boolean hasInterior

openMesh

public boolean openMesh

isNested

public boolean isNested

normal

public Vector3d normal

edgeRegion

public boolean edgeRegion

intersector

public SurfaceMeshIntersector intersector

insideEdges0

public java.util.LinkedHashSet<HalfEdge> insideEdges0

insideEdges1

public java.util.LinkedHashSet<HalfEdge> insideEdges1

insideFaces0

public java.util.LinkedHashSet<Face> insideFaces0

insideFaces1

public java.util.LinkedHashSet<Face> insideFaces1

insideVertices0

public java.util.ArrayList<Vertex3d> insideVertices0

insideVertices1

public java.util.ArrayList<Vertex3d> insideVertices1
Constructor Detail

MeshIntersectionContour

public MeshIntersectionContour(SurfaceMeshIntersector anIntersector)
Method Detail

addWorkPoint

public boolean addWorkPoint()

add

public boolean add(MeshIntersectionPoint mip)
Specified by:
add in interface java.util.Collection<MeshIntersectionPoint>
Specified by:
add in interface java.util.List<MeshIntersectionPoint>
Overrides:
add in class java.util.ArrayList<MeshIntersectionPoint>

switchEdgeRegion

public void switchEdgeRegion()

reverse

public void reverse()

get

public MeshIntersectionPoint get(int i)
Specified by:
get in interface java.util.List<MeshIntersectionPoint>
Overrides:
get in class java.util.ArrayList<MeshIntersectionPoint>

findInsideBoundaryFeatures

public void findInsideBoundaryFeatures(java.util.HashSet<HalfEdge> boundaryEdges,
                                       java.util.LinkedHashMap<Vertex3d,MeshIntersectionContour> vertexContours)

findRegionInteriors

public void findRegionInteriors(java.util.HashSet<HalfEdge> boundaryEdges,
                                java.util.LinkedHashMap<Vertex3d,MeshIntersectionContour> vertexContours)

getArea

public double getArea()