maspack.collision
Class SurfaceMeshCollider

java.lang.Object
  extended by maspack.collision.SurfaceMeshCollider
All Implemented Interfaces:
AbstractCollider

public class SurfaceMeshCollider
extends java.lang.Object
implements AbstractCollider


Nested Class Summary
 class SurfaceMeshCollider.ContactInfoRenderer
           
 
Field Summary
static CollisionMetrics collisionMetrics
           
 ContactInfo contactInfo
           
static boolean doEdgeEdgeContacts
           
 boolean doEdgeEdgeContactsThisTime
           
static ContactInfo lastContactInfo
           
 PolygonalMesh mesh0
           
 PolygonalMesh mesh1
           
 SurfaceMeshIntersector meshIntersector
           
static boolean renderContours
           
static long renderTime
           
static SurfaceMeshCollider the
           
static boolean useAjlCollision
           
 
Constructor Summary
SurfaceMeshCollider()
           
 
Method Summary
 void collideVerticesWithFaces(java.util.ArrayList<ContactPenetratingPoint> cpps, java.util.ArrayList<Vertex3d> penetratingVertices, java.util.LinkedHashSet<Face> opposingFaces)
           
 ContactInfo getContacts(PolygonalMesh mesh0, PolygonalMesh mesh1, boolean isRigidBodyRigidBody)
           
 double getEpsilon()
           
 double getNearestPoint(Face f, Point3d p)
           
 double getPointTolerance()
           
 double getRegionTolerance()
           
static AbstractCollider newCollider()
           
 void setEpsilon(double epsilon)
           
 void setPointTolerance(double tolerance)
           
 void setRegionTolerance(double regionTolerance)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

useAjlCollision

public static boolean useAjlCollision

doEdgeEdgeContacts

public static boolean doEdgeEdgeContacts

renderContours

public static boolean renderContours

mesh0

public PolygonalMesh mesh0

mesh1

public PolygonalMesh mesh1

meshIntersector

public SurfaceMeshIntersector meshIntersector

contactInfo

public ContactInfo contactInfo

doEdgeEdgeContactsThisTime

public boolean doEdgeEdgeContactsThisTime

the

public static SurfaceMeshCollider the

collisionMetrics

public static CollisionMetrics collisionMetrics

lastContactInfo

public static ContactInfo lastContactInfo

renderTime

public static long renderTime
Constructor Detail

SurfaceMeshCollider

public SurfaceMeshCollider()
Method Detail

newCollider

public static AbstractCollider newCollider()

getContacts

public ContactInfo getContacts(PolygonalMesh mesh0,
                               PolygonalMesh mesh1,
                               boolean isRigidBodyRigidBody)
Specified by:
getContacts in interface AbstractCollider

collideVerticesWithFaces

public void collideVerticesWithFaces(java.util.ArrayList<ContactPenetratingPoint> cpps,
                                     java.util.ArrayList<Vertex3d> penetratingVertices,
                                     java.util.LinkedHashSet<Face> opposingFaces)

getNearestPoint

public double getNearestPoint(Face f,
                              Point3d p)

getEpsilon

public double getEpsilon()
Specified by:
getEpsilon in interface AbstractCollider

setEpsilon

public void setEpsilon(double epsilon)

getPointTolerance

public double getPointTolerance()
Specified by:
getPointTolerance in interface AbstractCollider

setPointTolerance

public void setPointTolerance(double tolerance)
Specified by:
setPointTolerance in interface AbstractCollider

getRegionTolerance

public double getRegionTolerance()
Specified by:
getRegionTolerance in interface AbstractCollider

setRegionTolerance

public void setRegionTolerance(double regionTolerance)
Specified by:
setRegionTolerance in interface AbstractCollider