public class VectorSubElemField<T extends VectorObject<T>> extends VectorFemField<T>
ModelComponent.NavpanelVisibility
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
VectorSubElemField(java.lang.Class<T> type)
This constructor should not be called by applications, unless
ModelComponentBase.scan(maspack.util.ReaderTokenizer, java.lang.Object) is called immediately after. |
VectorSubElemField(java.lang.Class<T> type,
FemModel3d fem) |
VectorSubElemField(java.lang.Class<T> type,
FemModel3d fem,
T defaultValue) |
VectorSubElemField(java.lang.String name,
java.lang.Class<T> type,
FemModel3d fem) |
VectorSubElemField(java.lang.String name,
java.lang.Class<T> type,
FemModel3d fem,
T defaultValue) |
Modifier and Type | Method and Description |
---|---|
FieldUtils.VectorFieldFunction<T> |
createFieldFunction(boolean useRestPos) |
T |
getShellValue(int elemIdx,
int subIdx) |
void |
getSoftReferences(java.util.List<ModelComponent> refs)
Appends all soft references for this component to a list.
|
T |
getValue(FemElement3dBase elem,
int subIdx) |
T |
getValue(int elemIdx,
int subIdx) |
T |
getValue(Point3d pos) |
void |
postscan(java.util.Deque<ScanToken> tokens,
CompositeComponent ancestor)
Performs any required post-scanning for this component.
|
void |
setValue(FemElement3dBase elem,
int subIdx,
T value) |
void |
updateReferences(boolean undo,
java.util.Deque<java.lang.Object> undoInfo)
May be called by the system if any of the soft references for
this component are removed from the the component hierarchy.
|
getAllPropertyInfo, getParameterType, getRenderScale, hasParameterizedType, prerender, render, setRenderScale
clearCacheIfNecessary, createRenderProps, getRenderHints, getRenderProps, getSelection, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateBounds
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, connectToHierarchy, copy, createTempFlag, disconnectFromHierarchy, getChildren, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, hasChildren, hasState, isFixed, isMarked, isScanning, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setScanning, setSelected, setWritable, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable
getProperty
getChildren, hasChildren
isWritable, write
getSelection, isSelectable, numSelectionQueriesNeeded
getRenderHints, updateBounds
createRenderProps, getRenderProps, setRenderProps
public VectorSubElemField(java.lang.Class<T> type)
ModelComponentBase.scan(maspack.util.ReaderTokenizer, java.lang.Object)
is called immediately after.public VectorSubElemField(java.lang.Class<T> type, FemModel3d fem, T defaultValue)
public VectorSubElemField(java.lang.Class<T> type, FemModel3d fem)
public VectorSubElemField(java.lang.String name, java.lang.Class<T> type, FemModel3d fem)
public VectorSubElemField(java.lang.String name, java.lang.Class<T> type, FemModel3d fem, T defaultValue)
public FieldUtils.VectorFieldFunction<T> createFieldFunction(boolean useRestPos)
public T getValue(int elemIdx, int subIdx)
public T getShellValue(int elemIdx, int subIdx)
public T getValue(FemElement3dBase elem, int subIdx)
public T getValue(Point3d pos)
getValue
in interface VectorField<T extends VectorObject<T>>
getValue
in class VectorFemField<T extends VectorObject<T>>
public void setValue(FemElement3dBase elem, int subIdx, T value)
public void postscan(java.util.Deque<ScanToken> tokens, CompositeComponent ancestor) throws java.io.IOException
PostScannable
scan()
method and stored in the token queue.
The most common use of this method is to resolve the paths
of component references, which may not have been created
at the time of the initial scan()
call.postscan
in interface PostScannable
postscan
in class ModelComponentBase
tokens
- token information that was stored during
scan()
.ancestor
- ancestor component with respect to which
reference component paths are defined.java.io.IOException
- if an error is encountered (such as a reference to a
non-existent component)public void getSoftReferences(java.util.List<ModelComponent> refs)
ModelComponentBase
updateReferences()
method will
be called to update its internal reference information.getSoftReferences
in interface ModelComponent
getSoftReferences
in class ModelComponentBase
refs
- list to which soft references are appendedpublic void updateReferences(boolean undo, java.util.Deque<java.lang.Object> undoInfo)
ModelComponentBase
undo
equal to false
,
this component should then examine its soft references and
use ComponentUtils.areConnected()
to determine which of them have been disconnected from the hierarchy.
Disconnected references should be removed, and sufficient information
should be appended to undoInfo
to allow this update
to be undone if this method is called later with undo
equal to true
. When undoing an update, the undo
information should be removed from the front of undoInfo
.updateReferences
in interface ModelComponent
updateReferences
in class ModelComponentBase
undo
- if true
, indicates that the most
recent reference update should be undone, using the supplied
undo information.undoInfo
- if undo
is false
, should be used
to store information allowing the reference update to be undone.
Otherwise, if undo
is true
, then this
supplied information to undo the most recent update.