|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectartisynth.core.mechmodels.DeformableContactConstraintBase
public abstract class DeformableContactConstraintBase
Nested Class Summary | |
---|---|
class |
DeformableContactConstraintBase.CompInfo
Provides matrix block information and computational function for a single dynamic component associated with a contact constraint. |
class |
DeformableContactConstraintBase.FrameInfo
|
class |
DeformableContactConstraintBase.PointInfo
|
Field Summary | |
---|---|
static int |
BODY_FACE
|
static int |
EDGE_BODY
|
static int |
EDGE_EDGE
|
static int |
VERTEX_BODY
|
static int |
VERTEX_FACE
|
Constructor Summary | |
---|---|
DeformableContactConstraintBase()
|
Method Summary | |
---|---|
void |
addConstraintBlocks(SparseBlockMatrix GT,
int bj)
Adds matrix blocks for this constraint to a specified block column of the transposed constraint matrix. |
void |
addFrame(Frame frame,
double weight,
Point3d loc)
Adds a frame as a component for this constraint. |
int |
addFrictionConstraints(SparseBlockMatrix DT,
MechSystem.FrictionInfo[] finfo,
int numf)
|
void |
addPoint(Point pnt,
double weight)
Adds a point as a component for this constraint. |
void |
beginSet()
Begin the process of setting this constraint. |
boolean |
componentsChanged()
Returns true if the component structure of this constraint has changed. |
void |
endSet()
Concludes the process of setting this constraint. |
abstract boolean |
equals(java.lang.Object obj)
|
void |
getAuxState(DataBuffer data,
CollisionData myData,
CollisionData otherData)
|
double |
getDerivative()
|
double |
getDistance()
The interpenetration distance when the contact was first created. |
double |
getFriction()
Returns the friction coefficent for this constraint. |
double |
getImpulse()
Returns the impulse associated with this constraint. |
Vector3d |
getNormal()
Returns the normal for this constraint. |
int |
getSolveIndex()
|
abstract int |
hashCode()
|
boolean |
isActive()
Returns true if this constraint is marked as being active. |
boolean |
isAdded()
Returns true if the constraint is marked as being already added to the system |
boolean |
isControllable()
Returns true if at least one of the components associated with this constraint is controllable. |
int |
numFrames()
Returns the number of frames involved in the constraint |
int |
numPoints()
Returns the number of points involved in the constraint |
void |
printConstraintInfo(java.io.PrintStream ps)
|
void |
setActive(boolean active)
Marks this constraint as being inactive. |
void |
setAdded(boolean added)
Marks this constraint as being added to the system |
void |
setAuxState(DataBuffer data,
CollisionData myData,
CollisionData otherData)
|
void |
setBodyFace(Vector3d nrml,
double mu,
Vertex3d v0,
Vertex3d v1,
Vertex3d v2,
Point3d loc1,
double w0,
double w1,
double w2,
DeformableCollisionData thisData,
Vertex3d rbvtx,
RigidBody body,
Point3d loc2,
double wrb)
Sets the constraint for rigidBody-deformable node-face contact |
void |
setDistance(double d)
|
void |
setEdgeBody(Vector3d nrml,
double mu,
Vertex3d v0,
Vertex3d v1,
Point3d loc1,
double w0,
double w1,
DeformableCollisionData thisData,
RigidBody body,
Point3d loc2,
Vertex3d vb0,
Vertex3d vb1,
double wb0,
double wb1)
Set the constraint for a deformable-rigidBody edge-edge contact. |
void |
setEdgeEdge(Vector3d nrml,
double mu,
Vertex3d v0,
Vertex3d v1,
Point3d loc1,
double w0,
double w1,
DeformableCollisionData thisData,
Vertex3d v2,
Vertex3d v3,
Point3d loc2,
double w2,
double w3,
DeformableCollisionData otherData)
Set the constraint for a deformable-deformable edge-edge contact. |
void |
setFriction(double mu)
Sets the friction coefficient for this constraint. |
void |
setImpulse(double lam)
Sets the impulse associated with this constraint. |
void |
setSolveIndex(int idx)
|
void |
setVertexBody(Vector3d nrml,
double mu,
Vertex3d v0,
Point3d loc1,
double w0,
DeformableCollisionData thisData,
RigidBody body,
Point3d loc2,
Vertex3d vb0,
Vertex3d vb1,
Vertex3d vb2,
double wb0,
double wb1,
double wb2)
Set the constraint for a deformable-rigidBody node-face contact. |
void |
setVertexFace(Vector3d nrml,
double mu,
Vertex3d v0,
Point3d loc1,
double w0,
DeformableCollisionData thisData,
Vertex3d v1,
Vertex3d v2,
Vertex3d v3,
Point3d loc2,
double w1,
double w2,
double w3,
DeformableCollisionData otherData)
Set the constraint for a deformable-deformable node-face contact. |
void |
skipAuxState(DataBuffer data)
|
void |
updateFriction()
|
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface artisynth.core.mechmodels.DeformableContactConstraint |
---|
print, setEdgeEdge, setEdgeRigidBody, setFaceRigidBody, setVertexDeformable, setVertexRigidBody, setVertices |
Field Detail |
---|
public static final int VERTEX_FACE
public static final int VERTEX_BODY
public static final int EDGE_EDGE
public static final int EDGE_BODY
public static final int BODY_FACE
Constructor Detail |
---|
public DeformableContactConstraintBase()
Method Detail |
---|
public int getSolveIndex()
getSolveIndex
in interface DeformableContactConstraint
public void setSolveIndex(int idx)
setSolveIndex
in interface DeformableContactConstraint
public double getDistance()
getDistance
in interface DeformableContactConstraint
public void setDistance(double d)
setDistance
in interface DeformableContactConstraint
public double getDerivative()
getDerivative
in interface DeformableContactConstraint
public void addConstraintBlocks(SparseBlockMatrix GT, int bj)
addConstraintBlocks
in interface DeformableContactConstraint
GT
- transposed constraint matrixbj
- block column where blocks should be addedpublic void printConstraintInfo(java.io.PrintStream ps)
public int addFrictionConstraints(SparseBlockMatrix DT, MechSystem.FrictionInfo[] finfo, int numf)
addFrictionConstraints
in interface DeformableContactConstraint
public void setFriction(double mu)
setFriction
in interface DeformableContactConstraint
public double getFriction()
getFriction
in interface DeformableContactConstraint
public Vector3d getNormal()
getNormal
in interface DeformableContactConstraint
public abstract int hashCode()
hashCode
in interface DeformableContactConstraint
hashCode
in class java.lang.Object
public abstract boolean equals(java.lang.Object obj)
equals
in interface DeformableContactConstraint
equals
in class java.lang.Object
public double getImpulse()
getImpulse
in interface DeformableContactConstraint
public void setImpulse(double lam)
setImpulse
in interface DeformableContactConstraint
public boolean isActive()
isActive
in interface DeformableContactConstraint
public void setActive(boolean active)
setActive
in interface DeformableContactConstraint
public boolean isAdded()
isAdded
in interface DeformableContactConstraint
public void setAdded(boolean added)
setAdded
in interface DeformableContactConstraint
public void beginSet()
beginSet
in interface DeformableContactConstraint
public void endSet()
endSet
in interface DeformableContactConstraint
public boolean componentsChanged()
componentsChanged
in interface DeformableContactConstraint
public boolean isControllable()
isControllable
in interface DeformableContactConstraint
public void updateFriction()
updateFriction
in interface DeformableContactConstraint
public void addPoint(Point pnt, double weight)
addPoint
in interface DeformableContactConstraint
pnt
- point to addweight
- weighting factor for the point. Note: if the weight is positive, it is assumed
to belong to the 'first' component in the collision. If negative, it is
assumed to belong to the second.public void addFrame(Frame frame, double weight, Point3d loc)
addFrame
in interface DeformableContactConstraint
frame
- Frame to addloc
- location of the point in frame coordinatespublic int numPoints()
DeformableContactConstraint
numPoints
in interface DeformableContactConstraint
public int numFrames()
DeformableContactConstraint
numFrames
in interface DeformableContactConstraint
public void setEdgeEdge(Vector3d nrml, double mu, Vertex3d v0, Vertex3d v1, Point3d loc1, double w0, double w1, DeformableCollisionData thisData, Vertex3d v2, Vertex3d v3, Point3d loc2, double w2, double w3, DeformableCollisionData otherData)
public void setVertexFace(Vector3d nrml, double mu, Vertex3d v0, Point3d loc1, double w0, DeformableCollisionData thisData, Vertex3d v1, Vertex3d v2, Vertex3d v3, Point3d loc2, double w1, double w2, double w3, DeformableCollisionData otherData)
public void setBodyFace(Vector3d nrml, double mu, Vertex3d v0, Vertex3d v1, Vertex3d v2, Point3d loc1, double w0, double w1, double w2, DeformableCollisionData thisData, Vertex3d rbvtx, RigidBody body, Point3d loc2, double wrb)
public void setVertexBody(Vector3d nrml, double mu, Vertex3d v0, Point3d loc1, double w0, DeformableCollisionData thisData, RigidBody body, Point3d loc2, Vertex3d vb0, Vertex3d vb1, Vertex3d vb2, double wb0, double wb1, double wb2)
public void setEdgeBody(Vector3d nrml, double mu, Vertex3d v0, Vertex3d v1, Point3d loc1, double w0, double w1, DeformableCollisionData thisData, RigidBody body, Point3d loc2, Vertex3d vb0, Vertex3d vb1, double wb0, double wb1)
public void skipAuxState(DataBuffer data)
skipAuxState
in interface DeformableContactConstraint
public void getAuxState(DataBuffer data, CollisionData myData, CollisionData otherData)
getAuxState
in interface DeformableContactConstraint
public void setAuxState(DataBuffer data, CollisionData myData, CollisionData otherData)
setAuxState
in interface DeformableContactConstraint
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |