public class PointFrameAttachment extends PointAttachment
ModelComponent.NavpanelVisibility
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, myProps, NULL_OBJ, useCompactPathNames
COPY_REFERENCES
Constructor and Description |
---|
PointFrameAttachment() |
PointFrameAttachment(Frame master,
Point slave) |
PointFrameAttachment(Frame master,
Point slave,
Point3d loc) |
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
|
int |
addTargetJacobian(SparseBlockMatrix J,
int bi) |
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).
|
PointFrameAttachment |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component.
|
void |
detachSlave() |
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) |
Frame |
getFrame() |
void |
getHardReferences(java.util.List<ModelComponent> refs)
Appends all hard references for this component to a list.
|
Point3d |
getLocation() |
DynamicMechComponent[] |
getMasters() |
void |
mulSubG(MatrixBlock D,
MatrixBlock B,
int idx)
Computes
|
void |
mulSubGNew(MatrixBlock D,
MatrixBlock B,
int idx) |
void |
mulSubGT(double[] ybuf,
int yoff,
double[] xbuf,
int xoff,
int idx)
Computes
|
void |
mulSubGT(MatrixBlock D,
MatrixBlock B,
int idx)
Computes
|
void |
mulSubGTNew(MatrixBlock D,
MatrixBlock B,
int idx) |
int |
numMasters() |
void |
setDefaultLocation() |
void |
setLocation(Point3d pnt) |
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 Frame getFrame()
public int numMasters()
numMasters
in class DynamicAttachment
public void setLocation(Point3d pnt)
public void setDefaultLocation()
public Point3d getLocation()
public void detachSlave()
public void computePosState(Vector3d pos)
computePosState
in class PointAttachment
public void updatePosStates()
updatePosStates
in class DynamicAttachment
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 mulSubGT(double[] ybuf, int yoff, double[] xbuf, int xoff, int idx)
DynamicAttachment
T y -= G xwhere y and x are vectors associated with master and slave components, respectively, and G is the constraint matrix for the attachment.
ybuf
- buffer into which to store resultyoff
- offset into ybufxbuf
- buffer containing right hand side vectorxoff
- offset into xbufidx
- master component indexpublic void mulSubGTNew(MatrixBlock D, MatrixBlock B, int idx)
public void mulSubGNew(MatrixBlock D, MatrixBlock B, int idx)
public void updateAttachment()
DynamicAttachment
updateAttachment
in class DynamicAttachment
public void transformSlaveGeometry(AffineTransform3dBase X, TransformableGeometry topObject, int flags)
transformSlaveGeometry
in class DynamicAttachment
public int addTargetJacobian(SparseBlockMatrix J, int bi)
public void addMassToMaster(MatrixBlock mblk, MatrixBlock sblk, int idx)
addMassToMaster
in class DynamicAttachment
public void writeItems(java.io.PrintWriter pw, NumberFormat fmt, CompositeComponent ancestor) throws java.io.IOException
writeItems
in class PointAttachment
java.io.IOException
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 PointFrameAttachment 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