|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectartisynth.core.modelbase.ModelComponentBase
artisynth.core.mechmodels.DynamicAttachment
public abstract class DynamicAttachment
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface artisynth.core.modelbase.ModelComponent |
---|
ModelComponent.NavpanelVisibility |
Field Summary |
---|
Fields inherited from class artisynth.core.modelbase.ModelComponentBase |
---|
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, myProps, NULL_OBJ, useCompactPathNames |
Constructor Summary | |
---|---|
DynamicAttachment()
|
Method Summary | |
---|---|
void |
addAttachmentJacobian(SparseBlockMatrix S,
VectorNd f,
boolean[] reduced)
Reduces the system matrix to account for this attachment. |
abstract void |
addMassToMaster(MatrixBlock mblk,
MatrixBlock sblk,
int i)
|
void |
addSolveBlocks(SparseNumberedBlockMatrix S,
boolean[] reduced)
|
abstract void |
applyForces()
|
java.lang.Object |
clone()
|
void |
connectToHierarchy()
Update the attachment position state whenever we connect to the parent (i.e., plug in to the hierarchy). |
static boolean |
containsLoop(DynamicAttachment a,
DynamicMechComponent slave,
java.util.HashMap<DynamicMechComponent,DynamicAttachment> map)
|
static boolean |
containsLoops(java.util.List<DynamicAttachment> list)
|
boolean |
containsMaster(DynamicMechComponent comp)
|
DynamicAttachment |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
|
static java.util.ArrayList<DynamicAttachment> |
createOrderedList(java.util.List<DynamicAttachment> list)
|
abstract boolean |
getDerivative(double[] buf,
int idx)
|
abstract DynamicMechComponent[] |
getMasters()
|
abstract DynamicMechComponent |
getSlave()
Returns the slave DynamicMechComponent associated with this attachment. |
abstract int |
getSlaveSolveIndex()
Returns the block index within the system solve matrix of the slave DynamicMechComponent associated with this attachment. |
int |
numMasters()
|
void |
reduceConstraints(SparseBlockMatrix GT,
VectorNd dg)
Reduces a sparse column matrix (such as the transpose of a constraint matrix) to account for this attachment. |
void |
reduceMass(SparseBlockMatrix M,
VectorNd f)
|
void |
reduceRowMatrix(SparseBlockMatrix G)
Reduces a sparse row matrix (such as a constraint matrix) to account for this attachment. |
abstract void |
transformSlaveGeometry(AffineTransform3dBase X,
TransformableGeometry topObject,
int flags)
|
abstract void |
updateAttachment()
Update attachment to reflect changes in the slave state. |
abstract void |
updatePosStates()
|
abstract void |
updateVelStates()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DynamicAttachment()
Method Detail |
---|
public abstract DynamicMechComponent[] getMasters()
public int numMasters()
public boolean containsMaster(DynamicMechComponent comp)
public abstract DynamicMechComponent getSlave()
null
.
public abstract int getSlaveSolveIndex()
getSlave()
),
this method returns -1.
public abstract void transformSlaveGeometry(AffineTransform3dBase X, TransformableGeometry topObject, int flags)
public abstract void updatePosStates()
public abstract void updateVelStates()
public abstract void updateAttachment()
public abstract void applyForces()
public void reduceConstraints(SparseBlockMatrix GT, VectorNd dg)
GT = P GTwhere
T [ I -Gka ] P = [ ] [ 0 0 ]and Gka is the constraint matrix for this attachment.
public void reduceRowMatrix(SparseBlockMatrix G)
T G = G Pwhere
T [ I -Gka ] P = [ ] [ 0 0 ]and Gka is the constraint matrix for this attachment.
At present, this method requires the matrix G to be vertically linked.
public void reduceMass(SparseBlockMatrix M, VectorNd f)
public void addSolveBlocks(SparseNumberedBlockMatrix S, boolean[] reduced)
public void addAttachmentJacobian(SparseBlockMatrix S, VectorNd f, boolean[] reduced)
T M = P M Pwhere
T [ I -Gka ] P = [ ] [ 0 0 ]and Gka is the constraint matrix for this attachment.
public abstract void addMassToMaster(MatrixBlock mblk, MatrixBlock sblk, int i)
public abstract boolean getDerivative(double[] buf, int idx)
public static boolean containsLoops(java.util.List<DynamicAttachment> list)
public static boolean containsLoop(DynamicAttachment a, DynamicMechComponent slave, java.util.HashMap<DynamicMechComponent,DynamicAttachment> map)
public static java.util.ArrayList<DynamicAttachment> createOrderedList(java.util.List<DynamicAttachment> list)
public void connectToHierarchy()
connectToHierarchy
in interface ModelComponent
connectToHierarchy
in class ModelComponentBase
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class ModelComponentBase
java.lang.CloneNotSupportedException
public DynamicAttachment copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
copy
in class ModelComponentBase
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |