public class SkinCollisionData extends DeformableCollisionDataBase
Constructor and Description |
---|
SkinCollisionData(SkinMesh smc) |
Modifier and Type | Method and Description |
---|---|
boolean |
allowCollision(ContactPenetratingPoint cpp,
boolean isVertex,
CollisionData otherData)
Allow a collision between this object and the supplied 'other'.
|
DeformableContactConstraint |
createContact(Vertex3d... vtxs) |
Collidable |
getComponent()
Returns the component involved in the collision
|
int |
getVertexDependencies(Vertex3d vtx,
java.util.ArrayList<Point> pointDeps,
VectorNd pntWgts,
java.util.ArrayList<Frame> frameDeps,
VectorNd frameWgts)
Determines the set of points that a vertex's position is dependent
upon, along with their weights (assuming a linear relationship)
|
void |
markMasters(Vertex3d vtx,
boolean marked)
Mark the master dynamic components of vertex
vtx
as being "used" |
int |
numActiveMasters(ContactPenetratingPoint cpp,
boolean isVertex) |
int |
numActiveMasters(EdgeEdgeContact eec,
boolean isFirst) |
int |
numActiveUnmarkedMasters(Vertex3d vtx)
Count the number of "free" master components for vertex
vtx . |
addBilateralConstraints, addConstraintInfo, addContact, addFrictionConstraints, allowCollision, clearContactActivity, clearContactData, contactsHaveChanged, getAuxState, getBilateralImpulses, getBilateralInfo, getBilateralSizes, getCollisionTol, getContact, getContact, getFriction, getInitialAuxState, getMesh, hasActiveContact, hasActiveContact, hasActiveContacts, maxFrictionConstraintSets, notifyContactsChanged, numActiveContacts, reduceConstraints, removeInactiveContacts, setAuxState, setBilateralImpulses, setFriction, setPenetrationTol, skipAuxState, updateFrictionConstraints, zeroImpulses
public SkinCollisionData(SkinMesh smc)
public DeformableContactConstraint createContact(Vertex3d... vtxs)
public boolean allowCollision(ContactPenetratingPoint cpp, boolean isVertex, CollisionData otherData)
DeformableCollisionData
cpp
- the contact-penetrating point involved between the two.isVertex
- if true, checks if we can allow collision based
on the vertex, otherwise if we are checking the faceotherData
- the other collision object involvedpublic int numActiveMasters(ContactPenetratingPoint cpp, boolean isVertex)
public int numActiveMasters(EdgeEdgeContact eec, boolean isFirst)
public int getVertexDependencies(Vertex3d vtx, java.util.ArrayList<Point> pointDeps, VectorNd pntWgts, java.util.ArrayList<Frame> frameDeps, VectorNd frameWgts)
DeformableCollisionData
vtx
- the vertex belonging to this
collision
datapointDeps
- list of points that is filledpntWgts
- weights associated with the returned pointsframeDeps
- list of frames that is filledframeWgts
- weights associated with the returned framespublic Collidable getComponent()
CollisionData
public void markMasters(Vertex3d vtx, boolean marked)
CollisionData
vtx
as being "used"public int numActiveUnmarkedMasters(Vertex3d vtx)
CollisionData
vtx
.
Used for determining whether or not a collision should be allowed.