public abstract class PointAttachment extends DynamicAttachment implements CopyableComponent
ModelComponent.NavpanelVisibility
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, myProps, NULL_OBJ, useCompactPathNames
COPY_REFERENCES
Constructor and Description |
---|
PointAttachment() |
Modifier and Type | Method and Description |
---|---|
int |
addTargetJacobian(SparseBlockMatrix j,
int bi) |
void |
applyForces() |
PointAttachment |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component.
|
boolean |
getCopyReferences(java.util.List<ModelComponent> refs,
ModelComponent ancestor)
Collects external references which must also be copied in order to
duplicate this component.
|
abstract void |
getCurrentPos(Vector3d pos)
Returns the current position of the attached point, in world coordinates.
|
MatrixBlock[] |
getMasterBlocks() |
DynamicComponent[] |
getMasters() |
Point |
getPoint() |
Point |
getSlave()
Returns the slave DynamicMechComponent associated with this attachment.
|
int |
getSlaveSolveIndex()
Returns the block index within the system solve matrix of the
slave DynamicMechComponent associated with this attachment.
|
void |
invalidateMasters() |
boolean |
isDuplicatable()
Returns true if this component can be duplicated.
|
int |
numMasters() |
void |
writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor) |
addAttachmentJacobian, addBackRefs, addMassToMasters, addSolveBlocks, clone, connectToHierarchy, containsLoop, containsLoops, containsMaster, createOrderedList, disconnectFromHierarchy, getDerivative, getHardReferences, oneMasterActive, reduceConstraints, reduceMass, reduceRowMatrix, removeBackRefs, updateAttachment, updatePosStates, updateVelStates
checkFlag, checkName, checkNameUniqueness, clearFlag, createTempFlag, getAllPropertyInfo, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, isConnectedToHierarchy, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
getAllPropertyInfo, getProperty
getChildren, hasChildren
isWritable, write
public Point getSlave()
DynamicAttachment
null
.getSlave
in class DynamicAttachment
public Point getPoint()
public int getSlaveSolveIndex()
DynamicAttachment
DynamicAttachment.getSlave()
),
this method returns -1.getSlaveSolveIndex
in class DynamicAttachment
public DynamicComponent[] getMasters()
getMasters
in class DynamicAttachment
public MatrixBlock[] getMasterBlocks()
public int numMasters()
numMasters
in class DynamicAttachment
public void invalidateMasters()
invalidateMasters
in class DynamicAttachment
public abstract void getCurrentPos(Vector3d pos)
pos
- used to return current point positionpublic void writeItems(java.io.PrintWriter pw, NumberFormat fmt, CompositeComponent ancestor) throws java.io.IOException
java.io.IOException
public PointAttachment copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
CopyableComponent
COPY_REFERENCES
is set in flags
, then any component referenced
by this component should itself be set to a copy. This
should be done first checking copyMap
for an
existing copy of the referenced component. If there is no existing
copy, then a copy should be created by calling copy
recursively and adding the new copy to copyMap
.copy
in interface CopyableComponent
copy
in class DynamicAttachment
flags
- flags to control the copyingcopyMap
- map to possible existing instances of referenced
componentspublic void applyForces()
applyForces
in class DynamicAttachment
public boolean isDuplicatable()
true
if and only if CopyableComponent.getCopyReferences(java.util.List<artisynth.core.modelbase.ModelComponent>, artisynth.core.modelbase.ModelComponent)
returns true.
This method is not currently used. It is intended to provide a faster
way of determining if a component can be duplicated, without having to
use CopyableComponent.getCopyReferences(java.util.List<artisynth.core.modelbase.ModelComponent>, artisynth.core.modelbase.ModelComponent)
to build the list of copy references.
isDuplicatable
in interface CopyableComponent
true
if this component can be duplicated.public boolean getCopyReferences(java.util.List<ModelComponent> refs, ModelComponent ancestor)
true
if and only if CopyableComponent.isDuplicatable()
returns
true.getCopyReferences
in interface CopyableComponent
refs
- list to which references are appendedancestor
- root node of the hierarchy from which references are to be excludedpublic int addTargetJacobian(SparseBlockMatrix j, int bi)