public class PointParticleAttachment extends PointAttachment
ModelComponent.NavpanelVisibility
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, myProps, NULL_OBJ, useCompactPathNames
COPY_REFERENCES
Constructor and Description |
---|
PointParticleAttachment() |
PointParticleAttachment(Particle master,
Point slave) |
Modifier and Type | Method and Description |
---|---|
void |
addMassToMaster(MatrixBlock mblk,
MatrixBlock sblk,
int idx) |
void |
addScaledExternalForce(Point3d pnt,
double s,
Vector3d f)
Distributes an external force applied at a particular point
to all masters
|
void |
applyForces() |
void |
computePosState(Vector3d pos) |
void |
connectToHierarchy()
Update the attachment position state whenever we connect to the parent
(i.e., plug in to the hierarchy).
|
PointParticleAttachment |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component.
|
void |
disconnectFromHierarchy()
Called by the system after this component is removed from the component
hierarchy (i.e., when it is removed as a child of its parent).
|
boolean |
getDerivative(double[] buf,
int idx) |
void |
getHardReferences(java.util.List<ModelComponent> refs)
Appends all hard references for this component to a list.
|
DynamicMechComponent[] |
getMasters() |
Particle |
getParticle() |
void |
mulSubG(MatrixBlock D,
MatrixBlock B,
int idx)
Computes
|
void |
mulSubGT(MatrixBlock D,
MatrixBlock B,
int idx)
Computes
|
int |
numMasters() |
void |
setParticle(Particle particle) |
void |
transformSlaveGeometry(AffineTransform3dBase X,
TransformableGeometry topObject,
int flags) |
void |
updateAttachment()
Update attachment to reflect changes in the slave state.
|
void |
updatePosStates() |
void |
updateVelStates() |
void |
writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor) |
getCopyReferences, getPoint, getSlave, getSlaveSolveIndex, isDuplicatable
addAttachmentJacobian, addSolveBlocks, clone, containsLoop, containsLoops, containsMaster, createOrderedList, reduceConstraints, reduceMass, reduceRowMatrix
checkFlag, checkName, checkNameUniqueness, clearFlag, createTempFlag, getAllPropertyInfo, getChildren, getGrandParent, 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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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 DynamicMechComponent[] getMasters()
getMasters
in class DynamicAttachment
public Particle getParticle()
public int numMasters()
numMasters
in class DynamicAttachment
public void setParticle(Particle particle)
public void updatePosStates()
updatePosStates
in class DynamicAttachment
public void computePosState(Vector3d pos)
computePosState
in class PointAttachment
public void updateVelStates()
updateVelStates
in class DynamicAttachment
public void applyForces()
applyForces
in class DynamicAttachment
public void addScaledExternalForce(Point3d pnt, double s, Vector3d f)
PointAttachment
addScaledExternalForce
in class PointAttachment
pnt
- point at which to apply the force (to be used to compute a wrench)s
- force scale factorf
- force vector to applypublic void mulSubGT(MatrixBlock D, MatrixBlock B, int idx)
DynamicAttachment
T D -= G Bwhere D and B are matrices associated with master and slave components, respectively, and G is the constraint matrix for the attachment.
D
- dependent matrix associated with a master componentB
- matrix associated with a slave componentpublic void mulSubG(MatrixBlock D, MatrixBlock B, int idx)
DynamicAttachment
D -= B Gwhere D and B are matrices associated with master and slave components, respectively, and G is the constraint matrix for the attachment.
D
- dependent matrix associated with a master componentB
- matrix associated with a slave componentpublic void writeItems(java.io.PrintWriter pw, NumberFormat fmt, CompositeComponent ancestor) throws java.io.IOException
writeItems
in class PointAttachment
java.io.IOException
public void updateAttachment()
DynamicAttachment
updateAttachment
in class DynamicAttachment
public void transformSlaveGeometry(AffineTransform3dBase X, TransformableGeometry topObject, int flags)
transformSlaveGeometry
in class DynamicAttachment
public void addMassToMaster(MatrixBlock mblk, MatrixBlock sblk, int idx)
addMassToMaster
in class DynamicAttachment
public boolean getDerivative(double[] buf, int idx)
getDerivative
in class DynamicAttachment
public void connectToHierarchy()
DynamicAttachment
connectToHierarchy
in interface ModelComponent
connectToHierarchy
in class DynamicAttachment
public void disconnectFromHierarchy()
ModelComponentBase
When this
method is called, ModelComponent.getParent()
will still return this original
parent component; the system will set this to null
after.
disconnectFromHierarchy
in interface ModelComponent
disconnectFromHierarchy
in class ModelComponentBase
public void getHardReferences(java.util.List<ModelComponent> refs)
ModelComponentBase
getHardReferences
in interface ModelComponent
getHardReferences
in class ModelComponentBase
refs
- list to which hard references are appendedpublic PointParticleAttachment 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 PointAttachment