public class FemMarker extends Marker
ModelComponent.NavpanelVisibility
Modifier and Type | Field and Description |
---|---|
static PropertyList |
myProps |
myRenderCoords
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
COPY_REFERENCES, REST_POSITION
TG_ARTICULATED, TG_DRAGGER, TG_PRESERVE_ORIENTATION, TG_SIMULATING
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
FemMarker() |
FemMarker(double x,
double y,
double z) |
FemMarker(FemElement elem,
double x,
double y,
double z) |
FemMarker(FemElement elem,
Point3d pos) |
FemMarker(Point3d pos) |
Modifier and Type | Method and Description |
---|---|
int |
addTargetJacobian(SparseBlockMatrix J,
int bi)
Add a row to the motion target Jacobian for this motion target.
|
FemMarker |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component.
|
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
VectorNd |
getCoordinates() |
boolean |
getCopyReferences(java.util.List<ModelComponent> refs,
ModelComponent ancestor)
Collects external references which must also be copied in order to
duplicate this component.
|
FemElement |
getElement() |
FemModel3d |
getFemModel() |
void |
getRestPosition(Point3d pos) |
boolean |
isDuplicatable()
Returns true if this component can be duplicated.
|
boolean |
resetElement(FemModel3d model)
Called when the marker is moved (or when we remesh underneath it)
and we need to redetermine which element this marker is embedded in.
|
boolean |
resetElement(FemModel3d model,
boolean project)
Called when the marker is moved (or when we remesh underneath it)
and we need to redetermine which element this marker is embedded in.
|
void |
scaleDistance(double s)
Scales all distance coordinates.
|
void |
setAttached(DynamicAttachment ax)
Attach this component to another via a DynamicAttachment object.
|
void |
setFromElement(FemElement elem) |
void |
setFromFem(FemModel3d fem) |
boolean |
setFromNodes(java.util.Collection<? extends FemNode> nodes) |
void |
setFromNodes(java.util.Collection<? extends FemNode> nodes,
VectorNd weights) |
boolean |
setFromNodes(FemNode[] nodes) |
void |
setFromNodes(FemNode[] nodes,
double[] weights) |
void |
updateAttachment() |
void |
updatePosState() |
void |
updateState() |
void |
updateVelState() |
connectAttachment, connectToHierarchy, disconnectFromHierarchy, getAttachments, getHardReferences
addEffectiveMass, addExternalForce, addForce, addForce, addPosImpulse, addPosJacobian, addScaledExternalForce, addScaledForce, addSolveBlock, addSolveBlocks, addToPointVelocity, addToSolveBlockDiagonal, addTransformableDependencies, addVelJacobian, applyExternalForces, applyForces, applyGravity, createMassBlock, createRenderProps, createSolveBlock, defaultRenderPropsAreNull, distance, distance, getEffectiveMass, getEffectiveMass, getEffectiveMassForces, getExternalForce, getForce, getForce, getJacobianType, getMass, getMass, getPointDamping, getPointDampingMode, getPosDerivative, getPosition, getPosition, getPosState, getPosStateSize, getRenderCoords, getRenderProps, getSelection, getState, getTargetActivity, getTargetPos, getTargetPosition, getTargetVel, getTargetVelocity, getTraceablePositionProperty, getTraceables, getVelocity, getVelocity, getVelState, getVelStateSize, hasForce, isMassConstant, isSelectable, mulInverseEffectiveMass, prerender, render, resetEffectiveMass, resetTargets, scaleMass, setContactConstraint, setExternalForce, setForce, setForce, setPointDamping, setPointDampingMode, setPosition, setPosition, setPosState, setRandomForce, setRandomPosState, setRandomVelState, setRenderProps, setScaledExternalForce, setState, setState, setTargetActivity, setTargetPos, setTargetPosition, setTargetVel, setTargetVelocity, setVelocity, setVelocity, setVelState, subForce, transformGeometry, updateBounds, velocityLimitExceeded, zeroExternalForces, zeroForces
addAttachmentRequest, addConstrainer, addMasterAttachment, getAttachment, getConstrainers, getInverseMass, getMasterAttachments, getSolveIndex, hasState, isActive, isAttached, isControllable, isDynamic, isParametric, removeAttachmentRequest, removeConstrainer, removeMasterAttachment, setSolveIndex, transformGeometry
getRenderHints, isVisible, numSelectionQueriesNeeded, setVisible, updateRenderProps
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, isFixed, isMarked, isScanning, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setScanning, setSelected, setWritable, updateReferences, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAttachment
getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferences
getProperty
getChildren, hasChildren
postscan
isWritable, write
addAttachmentRequest, removeAttachmentRequest
addConstrainer, addMasterAttachment, getAttachment, getConstrainers, getInverseMass, getMasterAttachments, getSolveIndex, isActive, isAttached, isControllable, isDynamic, isParametric, removeConstrainer, removeMasterAttachment, setSolveIndex
advanceState, getAuxVarDerivative, getAuxVarState, getStateVersion, hasState, numAuxVars, requiresAdvance, setAuxVarState
transformGeometry, transformPriority
public static PropertyList myProps
public FemMarker()
public FemMarker(Point3d pos)
public FemMarker(double x, double y, double z)
public FemMarker(FemElement elem, Point3d pos)
public FemMarker(FemElement elem, double x, double y, double z)
public PropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class Point
public void setAttached(DynamicAttachment ax)
DynamicAgent
setAttached
in interface DynamicAgent
setAttached
in class DynamicComponentBase
ax
- Specifies the attachment relationship between
this component and its master(s)public VectorNd getCoordinates()
public FemElement getElement()
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 setFromElement(FemElement elem)
public void setFromFem(FemModel3d fem)
public void setFromNodes(java.util.Collection<? extends FemNode> nodes, VectorNd weights)
public void setFromNodes(FemNode[] nodes, double[] weights)
public boolean setFromNodes(java.util.Collection<? extends FemNode> nodes)
public boolean setFromNodes(FemNode[] nodes)
public void updateState()
updateState
in class Marker
public void updatePosState()
updatePosState
in class Point
public void updateVelState()
updateVelState
in class Point
public void getRestPosition(Point3d pos)
public FemModel3d getFemModel()
public void updateAttachment()
public boolean resetElement(FemModel3d model)
public boolean resetElement(FemModel3d model, boolean project)
public void scaleDistance(double s)
ScalableUnits
scaleDistance
in interface ScalableUnits
scaleDistance
in class Point
s
- scaling factorpublic 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 FemMarker 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
flags
- flags to control the copyingcopyMap
- map to possible existing instances of referenced
components