public abstract class VectorMeshField<T extends VectorObject<T>> extends MeshFieldComp implements VectorFieldComponent<T>, ParameterizedClass, RenderableComponent
ModelComponent.NavpanelVisibility
Modifier and Type | Field and Description |
---|---|
static PropertyList |
myProps |
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
VectorMeshField(java.lang.Class<T> type) |
VectorMeshField(java.lang.Class<T> type,
MeshComponent mcomp) |
VectorMeshField(java.lang.Class<T> type,
MeshComponent mcomp,
T defaultValue) |
Modifier and Type | Method and Description |
---|---|
abstract void |
clearAllValues()
Clear all values defined for the features (e.g., vertices, faces)
associated with this field.
|
static RenderProps |
createDefaultRenderProps() |
RenderProps |
createRenderProps()
Factory method to create render properties appropriate to this object.
|
T |
createTypeInstance()
Create an instance of the VectorObject type associated with this
field.
|
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
T |
getDefaultValue()
Returns the default value for this field.
|
java.lang.Class<T> |
getParameterType()
Returns the base type for the class parameterization.
|
double |
getRenderScale()
Queries the
renderScale property for this vector mesh field. |
T |
getValue(FemFieldPoint fp)
Returns the value of the this field at a specified FEM field point.
|
abstract T |
getValue(Point3d pos)
Returns the value of the this field at a specified spatial position.
|
boolean |
hasParameterizedType()
Queries whether this class explicitly utilizes a parameterized type.
|
void |
prerender(RenderList list)
Called prior to rendering to allow this object to update the internal
state required for rendering (such as by caching rendering coordinates).
|
void |
render(Renderer renderer,
int flags)
Render this object using the functionality of the supplied
Renderer . |
void |
setDefaultValue(T value)
Sets the default value for this field.
|
void |
setRenderScale(double scale)
Set the
renderScale property for this vector mesh field. |
clearCacheIfNecessary, createFieldPoint, getHardReferences, getMesh, getMeshComp, getRenderHints, getRenderProps, getSelection, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateBounds
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, connectToHierarchy, copy, createTempFlag, disconnectFromHierarchy, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, 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
getValue
clearCacheIfNecessary
connectToHierarchy, disconnectFromHierarchy, getHardReferences, 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
getSelection, isSelectable, numSelectionQueriesNeeded
getRenderHints, updateBounds
getRenderProps, setRenderProps
public static PropertyList myProps
public VectorMeshField(java.lang.Class<T> type)
public VectorMeshField(java.lang.Class<T> type, MeshComponent mcomp)
public VectorMeshField(java.lang.Class<T> type, MeshComponent mcomp, T defaultValue)
public PropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class ModelComponentBase
public double getRenderScale()
renderScale
property for this vector mesh field.
See setRenderScale(double)
.public void setRenderScale(double scale)
renderScale
property for this vector mesh field. This is
used to scale the rendered size of the vector components of this field in
subclasses that support rendering of those values. The default value is
0, meaning that the components will not be rendered.scale
- new scale property valuepublic java.lang.Class<T> getParameterType()
getParameterType
in interface ParameterizedClass
public boolean hasParameterizedType()
hasParameterizedType
in interface ParameterizedClass
true
if this class utilizes a parameterized type.public T createTypeInstance()
public abstract T getValue(Point3d pos)
getValue
in interface VectorFieldComponent<T extends VectorObject<T>>
pos
- position at which value is requestedpublic T getValue(FemFieldPoint fp)
getValue
in interface VectorFieldComponent<T extends VectorObject<T>>
fp
- point at which value is requestedpublic abstract void clearAllValues()
defaultValue
.public T getDefaultValue()
setDefaultValue(T)
.public void setDefaultValue(T value)
value
- new default value for this fieldpublic RenderProps createRenderProps()
HasRenderProps
createRenderProps
in interface HasRenderProps
public static RenderProps createDefaultRenderProps()
public void prerender(RenderList list)
IsRenderable
list.addIfVisible (obj);
for each of the objects in question.prerender
in interface IsRenderable
list
- list of objects to be renderedpublic void render(Renderer renderer, int flags)
IsRenderable
Renderer
.render
in interface IsRenderable
renderer
- provides the functionality used to perform the rendering.flags
- flags that may be used to control different
aspects of the rendering. Flags are defined in Renderer
and currently include
Renderer.HIGHLIGHT
and
Renderer.SORT_FACES
.