public abstract class DynamicAttachment extends ModelComponentBase
ModelComponent.NavpanelVisibility
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, myProps, NULL_OBJ, useCompactPathNames
Constructor and Description |
---|
DynamicAttachment() |
Modifier and Type | Method and Description |
---|---|
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() |
checkFlag, checkName, checkNameUniqueness, clearFlag, createTempFlag, disconnectFromHierarchy, getAllPropertyInfo, getChildren, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, write
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