public class ScalarNodalField extends ScalarFemField
ScalarFemField.Visualization
ModelComponent.NavpanelVisibility
DEFAULT_COLOR_INTERPOLATION, DEFAULT_VISUALIZATION, myProps
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
ScalarNodalField()
This constructor should not be called by applications, unless
ModelComponentBase.scan(maspack.util.ReaderTokenizer, java.lang.Object) is called immediately after. |
ScalarNodalField(FemModel3d fem)
Constructs a field for a given FEM model, with a default value of 0.
|
ScalarNodalField(FemModel3d fem,
double defaultValue)
Constructs a field for a given FEM model and default value.
|
ScalarNodalField(java.lang.String name,
FemModel3d fem)
Constructs a named field for a given FEM model, with a default value of
0.
|
ScalarNodalField(java.lang.String name,
FemModel3d fem,
double defaultValue)
Constructs a named field for a given FEM model and default value.
|
Modifier and Type | Method and Description |
---|---|
void |
clearAllValues()
Clear all values defined for the features (e.g., nodes, elements)
associated with this field.
|
void |
clearCacheIfNecessary()
Used internally by the system to clear cached values
for subclasses that support value caching.
|
void |
clearValue(FemNode3d node)
Clears the value at a given node.
|
boolean |
equals(ScalarNodalField field)
Returns
true if this field is functionally equal to another field. |
void |
getSoftReferences(java.util.List<ModelComponent> refs)
Appends all soft references for this component to a list.
|
double |
getValue(FemFieldPoint fp)
Returns the value of the this field at a specified FEM field point.
|
double |
getValue(FemNode3d node)
Returns the value at a node.
|
double |
getValue(int nodeNum)
Returns the value at the node specified by the given number.
|
double |
getValue(int[] nodeNums,
double[] weights) |
double |
getValue(Point3d pos)
Returns the value of the this field at a specified spatial position.
|
Range |
getVisualizationRange() |
boolean |
isValueSet(FemNode3d node)
Queries whether a value has been seen at a given node.
|
void |
postscan(java.util.Deque<ScanToken> tokens,
CompositeComponent ancestor)
Performs any required post-scanning for this component.
|
void |
setValue(FemNode3d node,
double value)
Sets the value at a node.
|
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.
|
addRenderMeshComp, clearRenderMeshComps, createDefaultRenderProps, createRenderProps, equals, getAllPropertyInfo, getColorInterpolation, getColorMap, getDefaultValue, getRenderMeshComp, getRenderRange, getSelection, getValue, getValueRange, getVisualization, numRenderMeshComps, numSelectionQueriesNeeded, prerender, removeRenderMeshComp, render, setColorInterpolation, setColorMap, setDefaultValue, setRenderRange, setVisualization
equals, getFemModel, getRenderHints, getRenderProps, isSelectable, 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
isSelectable
getRenderHints, updateBounds
getRenderProps, setRenderProps
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
public ScalarNodalField()
ModelComponentBase.scan(maspack.util.ReaderTokenizer, java.lang.Object)
is called immediately after.public ScalarNodalField(FemModel3d fem)
fem
- FEM model over which the field is definedpublic ScalarNodalField(FemModel3d fem, double defaultValue)
fem
- FEM model over which the field is defineddefaultValue
- default value for nodes which don't have
explicitly set valuespublic ScalarNodalField(java.lang.String name, FemModel3d fem)
name
- name of the fieldfem
- FEM model over which the field is definedpublic ScalarNodalField(java.lang.String name, FemModel3d fem, double defaultValue)
name
- name of the fieldfem
- FEM model over which the field is defineddefaultValue
- default value for nodes which don't have
explicitly set valuespublic Range getVisualizationRange()
getVisualizationRange
in class ScalarFemField
public double getValue(int nodeNum)
nodeNum
- node numberpublic double getValue(FemNode3d node)
node
- node for which the value is requestedpublic double getValue(FemFieldPoint fp)
fp
- point at which value is requestedpublic double getValue(Point3d pos)
getValue
in interface ScalarFieldComponent
getValue
in class ScalarFemField
pos
- position at which value is requestedpublic void setValue(FemNode3d node, double value)
node
- node for which the value is to be setvalue
- new value for the nodepublic boolean isValueSet(FemNode3d node)
node
- node being queriedtrue
if a value has been set at the nodepublic void clearValue(FemNode3d node)
node
- node whose value is to be clearedpublic void clearAllValues()
defaultValue
.clearAllValues
in class ScalarFemField
public double getValue(int[] nodeNums, double[] weights)
public void postscan(java.util.Deque<ScanToken> tokens, CompositeComponent ancestor) throws java.io.IOException
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)
updateReferences()
method will
be called to update its internal reference information.getSoftReferences
in interface ModelComponent
getSoftReferences
in class ScalarFemField
refs
- list to which soft references are appendedpublic void updateReferences(boolean undo, java.util.Deque<java.lang.Object> undoInfo)
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 ScalarFemField
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.public void clearCacheIfNecessary()
clearCacheIfNecessary
in interface FieldComponent
clearCacheIfNecessary
in class FemFieldComp
public boolean equals(ScalarNodalField field)
true
if this field is functionally equal to another field.
Intended mainly for testing and debugging.