public class FrameMarker extends Marker
ModelComponent.NavpanelVisibility
Modifier and Type | Field and Description |
---|---|
static PropertyList |
myProps |
myRenderCoords
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
TRANSLUCENT, TWO_DIMENSIONAL
ARTICULATED, SIMULATING
COPY_REFERENCES
Constructor and Description |
---|
FrameMarker() |
FrameMarker(double x,
double y,
double z) |
FrameMarker(Frame frame,
double x,
double y,
double z) |
FrameMarker(Frame frame,
Point3d pos) |
FrameMarker(Point3d pos) |
FrameMarker(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
int |
addAttachedSolveBlock(SparseNumberedBlockMatrix S)
Adds a diagonal block to the Jacobian for this marker if the frame to
which it is attached is active.
|
int |
addTargetJacobian(SparseBlockMatrix J,
int bi)
Add a row to the motion target Jacobian for this motion target.
|
void |
applyForces() |
void |
connectToHierarchy()
Called by the system after this component is added to the
component hierarchy (i.e., when it is added as a child of another
CompositeComponent).
|
ModelComponent |
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).
|
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
void |
getAttachments(java.util.List<DynamicAttachment> list)
Returns the attachments contained by 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.
|
Point3d |
getDisplacement() |
double |
getDisplacementNorm() |
Frame |
getFrame() |
void |
getHardReferences(java.util.List<ModelComponent> refs)
Appends all hard references for this component to a list.
|
Point3d |
getLocation() |
void |
getLocation(Point3d loc) |
Point3d |
getRefPos() |
boolean |
hasState()
FrameMarkers don't have state that needs to be saved and restored,
since their state is derived from their attached frames.
|
boolean |
isDuplicatable()
Returns true if this component can be duplicated.
|
void |
scaleDistance(double s)
Scales all distance coordinates.
|
void |
setDisplacement(Point3d disp) |
void |
setFrame(Frame frame) |
void |
setLocation(Point3d loc) |
void |
setRefPos(Point3d referencePosition) |
void |
setWorldLocation(Point3d loc) |
void |
transformGeometry(AffineTransform3dBase X,
TransformableGeometry topObject,
int flags)
Applies an affine transformation to the geometry of this object.
|
void |
transformLocation(AffineTransform3dBase X) |
void |
updateAttachment() |
void |
updatePosState() |
void |
updateState() |
void |
updateVelState() |
addExternalForce, addForce, addPosImpulse, addPosition, addPosJacobian, addScaledExternalForce, addScaledForce, addScaledPosition, addScaledVelocity, addSolveBlock, addSolveBlocks, addToSolveBlockDiagonal, addVelJacobian, addVelocity, applyForces, applyGravity, createMassBlock, createRenderProps, createSolveBlock, distance, distance, getExternalForce, getForce, getForce, getJacobianType, getMass, getMass, getMassForces, getPointDamping, getPointDampingMode, getPosDerivative, getPosition, getPosition, getPosState, getPosStateSize, getRenderCoords, getRenderProps, getSelection, getState, getState, getTargetActivity, getTargetPos, getTargetPosition, getTargetVel, getTargetVelocity, getTracables, getTracingProbe, getVelocity, getVelocity, getVelState, getVelStateSize, isMassConstant, isSelectable, prerender, render, resetTargets, scaleMass, setExternalForce, setForce, setForce, setForcesToExternal, setPointDamping, setPointDampingMode, setPosition, setPosition, setPosState, setRenderProps, setScaledExternalForce, setState, setState, setState, setTargetActivity, setTargetPos, setTargetPosition, setTargetVel, setTargetVelocity, setVelocity, setVelocity, setVelState, subForce, transformGeometry, updateBounds, velocityLimitExceeded, zeroExternalForces, zeroForces
addMasterAttachment, getAttachment, getInverseMass, getMasterAttachments, getSolveIndex, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setSolveIndex
getRenderHints, numSelectionQueriesNeeded, updateRenderProps
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, 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
isSelected
numSelectionQueriesNeeded
getRenderHints
addMasterAttachment, checkFlag, clearFlag, getAttachment, getInverseMass, getMasterAttachments, getSolveIndex, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setFlag, setSolveIndex
getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
getChildren, hasChildren
isWritable, write
public static PropertyList myProps
public FrameMarker()
public FrameMarker(java.lang.String name)
public FrameMarker(Point3d pos)
public FrameMarker(double x, double y, double z)
public FrameMarker(Frame frame, double x, double y, double z)
public PropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class Point
public boolean hasState()
hasState
in interface ModelComponent
hasState
in class DynamicMechComponentBase
public void getLocation(Point3d loc)
public Point3d getLocation()
public void setLocation(Point3d loc)
public void transformLocation(AffineTransform3dBase X)
public void setWorldLocation(Point3d loc)
public Frame getFrame()
public void setFrame(Frame frame)
public int addTargetJacobian(SparseBlockMatrix J, int bi)
vt = J u
addTargetJacobian
in interface MotionTargetComponent
addTargetJacobian
in class Point
J
- motion target Jacobianbi
- block row index for the row to be addedpublic void updateState()
updateState
in class Marker
public double getDisplacementNorm()
public void setDisplacement(Point3d disp)
public Point3d getDisplacement()
public Point3d getRefPos()
public void setRefPos(Point3d referencePosition)
public void transformGeometry(AffineTransform3dBase X, TransformableGeometry topObject, int flags)
TransformableGeometry
topComponent
should be the component for which the method
was initially invoked. The variable flags
provides
information about the context in which the transformation is
being applied. At present, the available flags are
TransformableGeometry.SIMULATING
and TransformableGeometry.ARTICULATED
.transformGeometry
in interface TransformableGeometry
transformGeometry
in class Point
X
- affine transformationtopObject
- component on which the method was initially invokedflags
- provides information about the context in which the
transformation is being applied.public void updateAttachment()
public void scaleDistance(double s)
ScalableUnits
scaleDistance
in interface ScalableUnits
scaleDistance
in class Point
s
- scaling factorpublic void applyForces()
public void updatePosState()
public void updateVelState()
public int addAttachedSolveBlock(SparseNumberedBlockMatrix S)
public void connectToHierarchy()
ModelComponentBase
When this method is called, ModelComponent.getParent()
will return
the new parent component; the system will have set this beforehand.
connectToHierarchy
in interface ModelComponent
connectToHierarchy
in class ModelComponentBase
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 void getAttachments(java.util.List<DynamicAttachment> list)
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
isDuplicatable
in class Point
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
getCopyReferences
in class Point
refs
- list to which references are appendedancestor
- root node of the hierarchy from which references are to be excludedpublic ModelComponent 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 Point