artisynth.core.mechmodels
Class DeformableContactConstraintGeneric

java.lang.Object
  extended by artisynth.core.mechmodels.DeformableContactConstraintBase
      extended by artisynth.core.mechmodels.DeformableContactConstraintGeneric
All Implemented Interfaces:
DeformableContactConstraint
Direct Known Subclasses:
EmbeddedContactConstraint, FemContactConstraint, MFreeContactConstraint

public class DeformableContactConstraintGeneric
extends DeformableContactConstraintBase


Nested Class Summary
 
Nested classes/interfaces inherited from class artisynth.core.mechmodels.DeformableContactConstraintBase
DeformableContactConstraintBase.CompInfo, DeformableContactConstraintBase.FrameInfo, DeformableContactConstraintBase.PointInfo
 
Field Summary
 
Fields inherited from class artisynth.core.mechmodels.DeformableContactConstraintBase
BODY_FACE, EDGE_BODY, EDGE_EDGE, VERTEX_BODY, VERTEX_FACE
 
Constructor Summary
DeformableContactConstraintGeneric()
           
DeformableContactConstraintGeneric(Vertex3d... vtxs)
          Creates a new contact constraint identified by a set of vertices
 
Method Summary
 void clearVertices()
           
 boolean equals(java.lang.Object obj)
           
 Vertex3d[] getVertices()
           
 int hashCode()
           
 void print(java.io.PrintStream os)
           
 void setEdgeEdge(EdgeEdgeContact eec, double mu, DeformableCollisionData thisData, DeformableCollisionData otherData)
          Assigns an edge-edge collision
 void setEdgeRigidBody(EdgeEdgeContact eec, double mu, DeformableCollisionData thisData, RigidBodyCollisionData rbData)
          Assigns an edge-rigidBody collision
 double setFaceRigidBody(ContactPenetratingPoint cpp, double mu, DeformableCollisionData thisData, RigidBodyCollisionData rbData)
          Assigns a Face->RigidBody collision, returning the perpendicular distance to the face
 double setVertexDeformable(ContactPenetratingPoint cpp, double mu, DeformableCollisionData thisData, DeformableCollisionData otherData)
          Assigns a Vertex->Deformable collision, returning the perpendicular distance to the face
 void setVertexFace(Vector3d nrml, double mu, Vertex3d v0, Vertex3d v1, Vertex3d v2, Vertex3d v3, double w0, double w1, double w2, DeformableCollisionData thisData, DeformableCollisionData otherData)
          Set the constraint for a deformable-deformable node-face contact.
 double setVertexRigidBody(ContactPenetratingPoint cpp, double mu, DeformableCollisionData thisData, RigidBodyCollisionData rbData, boolean useSignedDistanceCollider)
          Assigns a Vertex->Rigid body collision, returning the perpendicular distance to the face
 void setVertices(Vertex3d... vtxs)
          For creating a "stub" to quickly retrieve an existing constraint
 java.lang.String toString()
           
 
Methods inherited from class artisynth.core.mechmodels.DeformableContactConstraintBase
addConstraintBlocks, addFrame, addFrictionConstraints, addPoint, beginSet, componentsChanged, endSet, getAuxState, getDerivative, getDistance, getFriction, getImpulse, getNormal, getSolveIndex, isActive, isAdded, isControllable, numFrames, numPoints, printConstraintInfo, setActive, setAdded, setAuxState, setBodyFace, setDistance, setEdgeBody, setEdgeEdge, setFriction, setImpulse, setSolveIndex, setVertexBody, setVertexFace, skipAuxState, updateFriction
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DeformableContactConstraintGeneric

public DeformableContactConstraintGeneric()

DeformableContactConstraintGeneric

public DeformableContactConstraintGeneric(Vertex3d... vtxs)
Creates a new contact constraint identified by a set of vertices

Method Detail

setVertices

public void setVertices(Vertex3d... vtxs)
Description copied from interface: DeformableContactConstraint
For creating a "stub" to quickly retrieve an existing constraint


getVertices

public Vertex3d[] getVertices()

clearVertices

public void clearVertices()

hashCode

public int hashCode()
Specified by:
hashCode in interface DeformableContactConstraint
Specified by:
hashCode in class DeformableContactConstraintBase

equals

public boolean equals(java.lang.Object obj)
Specified by:
equals in interface DeformableContactConstraint
Specified by:
equals in class DeformableContactConstraintBase

print

public void print(java.io.PrintStream os)

setVertexFace

public void setVertexFace(Vector3d nrml,
                          double mu,
                          Vertex3d v0,
                          Vertex3d v1,
                          Vertex3d v2,
                          Vertex3d v3,
                          double w0,
                          double w1,
                          double w2,
                          DeformableCollisionData thisData,
                          DeformableCollisionData otherData)
Set the constraint for a deformable-deformable node-face contact.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

setVertexRigidBody

public double setVertexRigidBody(ContactPenetratingPoint cpp,
                                 double mu,
                                 DeformableCollisionData thisData,
                                 RigidBodyCollisionData rbData,
                                 boolean useSignedDistanceCollider)
Description copied from interface: DeformableContactConstraint
Assigns a Vertex->Rigid body collision, returning the perpendicular distance to the face

Parameters:
cpp - contact penetrating point
mu - friction coefficient
thisData - the primary deformable collision info
rbData - the other object's collision info
useSignedDistanceCollider - flag for determining normal and collision location information
Returns:
perpendicular distance to face

setFaceRigidBody

public double setFaceRigidBody(ContactPenetratingPoint cpp,
                               double mu,
                               DeformableCollisionData thisData,
                               RigidBodyCollisionData rbData)
Description copied from interface: DeformableContactConstraint
Assigns a Face->RigidBody collision, returning the perpendicular distance to the face

Parameters:
cpp - contact penetrating point
mu - friction coefficient
thisData - the primary deformable info
rbData - the other object's collision info
Returns:
perpendicular distance to face

setEdgeRigidBody

public void setEdgeRigidBody(EdgeEdgeContact eec,
                             double mu,
                             DeformableCollisionData thisData,
                             RigidBodyCollisionData rbData)
Description copied from interface: DeformableContactConstraint
Assigns an edge-rigidBody collision

Parameters:
eec - edge-edge contact
mu - friction coefficient
thisData - the primary deformable collision info
rbData - the other object's collision info

setEdgeEdge

public void setEdgeEdge(EdgeEdgeContact eec,
                        double mu,
                        DeformableCollisionData thisData,
                        DeformableCollisionData otherData)
Description copied from interface: DeformableContactConstraint
Assigns an edge-edge collision

Parameters:
eec - edge-edge contact
mu - friction coefficient
thisData - the primary deformable collision info
otherData - the other object's collision info

setVertexDeformable

public double setVertexDeformable(ContactPenetratingPoint cpp,
                                  double mu,
                                  DeformableCollisionData thisData,
                                  DeformableCollisionData otherData)
Description copied from interface: DeformableContactConstraint
Assigns a Vertex->Deformable collision, returning the perpendicular distance to the face

Parameters:
cpp - contact penetrating point
mu - friction coefficient
thisData - the primary deformable collision info
otherData - the other object's collision info
Returns:
perpendicular distance to face