artisynth.core.femmodels
Class FemMeshBase

java.lang.Object
  extended by artisynth.core.modelbase.ModelComponentBase
      extended by artisynth.core.modelbase.RenderableComponentBase
          extended by artisynth.core.mechmodels.MeshComponent
              extended by artisynth.core.mechmodels.SkinMeshBase
                  extended by artisynth.core.femmodels.FemMeshBase
All Implemented Interfaces:
HasSlaveObjects, ComponentChangeListener, CompositeComponent, IndexedComponentList, ModelComponent, RenderableComponent, ScalableUnits, TransformableGeometry, java.lang.Cloneable, HasProperties, HierarchyNode, GLRenderable, GLSelectable, HasRenderProps, Renderable, Scannable
Direct Known Subclasses:
FemMesh

public abstract class FemMeshBase
extends SkinMeshBase

Describes a surface mesh that is "skinned" onto an FEM.


Nested Class Summary
 
Nested classes/interfaces inherited from interface artisynth.core.modelbase.CompositeComponent
CompositeComponent.NavpanelDisplay
 
Nested classes/interfaces inherited from interface artisynth.core.modelbase.ModelComponent
ModelComponent.NavpanelVisibility
 
Field Summary
static PropertyList myProps
           
 
Fields inherited from class artisynth.core.modelbase.ModelComponentBase
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
 
Fields inherited from interface artisynth.core.util.TransformableGeometry
ARTICULATED, SIMULATING
 
Fields inherited from interface maspack.render.GLRenderable
TRANSLUCENT, TWO_DIMENSIONAL
 
Constructor Summary
FemMeshBase()
           
FemMeshBase(FemModel3d fem)
           
 
Method Summary
 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).
 FemMeshBase copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
           
 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.
abstract  PointAttachment getAttachment(int idx)
           
 ColorMapBase getColorMap()
           
 PropertyMode getColorMapMode()
           
 FemModel.SurfaceRender getColorRendering()
           
 PropertyMode getColorRenderingMode()
           
 FemModel3d getFem()
           
 void getSelection(java.util.LinkedList<java.lang.Object> list, int qid)
          Append to list the component (or components) associated with the qid-th selection query issued by this component's render method.
 DoubleInterval getStressPlotRange()
           
 PropertyMode getStressPlotRangeMode()
           
 FemModel.Ranging getStressPlotRanging()
           
 PropertyMode getStressPlotRangingMode()
           
abstract  int numAttachments()
           
 int numSelectionQueriesNeeded()
          If this selectable manages its own selection (by issuing selection queries within its render method), then this method should return the maximum number of selection queries that will be required.
 void prerender(RenderList list)
          Prepare for rendering, and potentially add itself to a list to be drawn by a GLRenderer.
 void render(GLRenderer renderer, RenderProps props, int flags)
           
 void resetStressPlotRange()
           
 void setColorMap(ColorMapBase map)
           
 void setColorMapMode(PropertyMode mode)
           
 void setColorRendering(FemModel.SurfaceRender mode)
           
 void setColorRenderingMode(PropertyMode mode)
           
 void setFem(FemModel3d fem)
           
 void setMesh(MeshBase mesh)
           
 void setMeshFromInfo()
           
 void setStressPlotRange(DoubleInterval range)
           
 void setStressPlotRangeMode(PropertyMode mode)
           
 void setStressPlotRanging(FemModel.Ranging ranging)
           
 void setStressPlotRangingMode(PropertyMode mode)
           
 
Methods inherited from class artisynth.core.mechmodels.SkinMeshBase
componentChanged, findComponent, get, get, getByNumber, getNavpanelDisplay, getNavpanelVisibility, getNumberLimit, hierarchyContainsReferences, indexOf, numComponents, postscan, scaleDistance, scan, setDisplayMode, setNavpanelDisplay, transformGeometry, updateNameMap, updateSlavePos, updateSlaveVel
 
Methods inherited from class artisynth.core.mechmodels.MeshComponent
createRenderProps, getMesh, getVertex, numVertices, render, scaleMass, setDefaultValues, setMesh, setMesh, transformGeometry, transformGeometry, updateBounds, updatePosition
 
Methods inherited from class artisynth.core.modelbase.RenderableComponentBase
getRenderHints, getRenderProps, isSelectable, setRenderProps, updateRenderProps
 
Methods inherited from class artisynth.core.modelbase.ModelComponentBase
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, write
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface artisynth.core.modelbase.ModelComponent
getHardReferences, getName, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
 
Methods inherited from interface maspack.properties.HasProperties
getProperty
 
Methods inherited from interface maspack.properties.HierarchyNode
getChildren, hasChildren
 
Methods inherited from interface maspack.util.Scannable
isWritable, write
 

Field Detail

myProps

public static PropertyList myProps
Constructor Detail

FemMeshBase

public FemMeshBase()

FemMeshBase

public FemMeshBase(FemModel3d fem)
Method Detail

getAllPropertyInfo

public PropertyList getAllPropertyInfo()
Description copied from interface: HasProperties
Returns a list giving static information about all properties exported by this object.

Specified by:
getAllPropertyInfo in interface HasProperties
Overrides:
getAllPropertyInfo in class SkinMeshBase
Returns:
static information for all exported properties

numAttachments

public abstract int numAttachments()
Specified by:
numAttachments in class SkinMeshBase

getAttachment

public abstract PointAttachment getAttachment(int idx)
Specified by:
getAttachment in class SkinMeshBase

setMeshFromInfo

public void setMeshFromInfo()

setMesh

public void setMesh(MeshBase mesh)
Overrides:
setMesh in class MeshComponent

setColorRendering

public void setColorRendering(FemModel.SurfaceRender mode)

getColorRendering

public FemModel.SurfaceRender getColorRendering()

getColorRenderingMode

public PropertyMode getColorRenderingMode()

setColorRenderingMode

public void setColorRenderingMode(PropertyMode mode)

getStressPlotRanging

public FemModel.Ranging getStressPlotRanging()

setStressPlotRanging

public void setStressPlotRanging(FemModel.Ranging ranging)

getStressPlotRangingMode

public PropertyMode getStressPlotRangingMode()

setStressPlotRangingMode

public void setStressPlotRangingMode(PropertyMode mode)

getStressPlotRangeMode

public PropertyMode getStressPlotRangeMode()

setStressPlotRangeMode

public void setStressPlotRangeMode(PropertyMode mode)

getStressPlotRange

public DoubleInterval getStressPlotRange()

resetStressPlotRange

public void resetStressPlotRange()

setStressPlotRange

public void setStressPlotRange(DoubleInterval range)

prerender

public void prerender(RenderList list)
Description copied from interface: GLRenderable
Prepare for rendering, and potentially add itself to a list to be drawn by a GLRenderer.

Specified by:
prerender in interface GLRenderable
Overrides:
prerender in class MeshComponent

render

public void render(GLRenderer renderer,
                   RenderProps props,
                   int flags)
Overrides:
render in class MeshComponent

setColorMap

public void setColorMap(ColorMapBase map)

getColorMap

public ColorMapBase getColorMap()

getColorMapMode

public PropertyMode getColorMapMode()

setColorMapMode

public void setColorMapMode(PropertyMode mode)

connectToHierarchy

public void connectToHierarchy()
Description copied from class: ModelComponentBase
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). This method is responsible for doing any required hierarchy-dependent initialization.

When this method is called, ModelComponent.getParent() will return the new parent component; the system will have set this beforehand.

Specified by:
connectToHierarchy in interface ModelComponent
Overrides:
connectToHierarchy in class ModelComponentBase

disconnectFromHierarchy

public void disconnectFromHierarchy()
Description copied from class: ModelComponentBase
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). This method is responsible for any required hierarchy-dependent deinitialization.

When this method is called, ModelComponent.getParent() will still return this original parent component; the system will set this to null after.

Specified by:
disconnectFromHierarchy in interface ModelComponent
Overrides:
disconnectFromHierarchy in class ModelComponentBase

setFem

public void setFem(FemModel3d fem)

getFem

public FemModel3d getFem()

copy

public FemMeshBase copy(int flags,
                        java.util.Map<ModelComponent,ModelComponent> copyMap)
Overrides:
copy in class SkinMeshBase

numSelectionQueriesNeeded

public int numSelectionQueriesNeeded()
Description copied from interface: GLSelectable
If this selectable manages its own selection (by issuing selection queries within its render method), then this method should return the maximum number of selection queries that will be required. Otherwise, this method should return -1.

Specified by:
numSelectionQueriesNeeded in interface GLSelectable
Overrides:
numSelectionQueriesNeeded in class RenderableComponentBase
Returns:
maximum number of selection queries needed by this component, or -1 if this component does not manage its own selection.

getSelection

public void getSelection(java.util.LinkedList<java.lang.Object> list,
                         int qid)
Description copied from interface: GLSelectable
Append to list the component (or components) associated with the qid-th selection query issued by this component's render method. This will only be called if this component manages its own selection (i.e., the number nums returned by GLSelectable.numSelectionQueriesNeeded() is positive), and qid will in turn be a number between 0 and nums-1.

Specified by:
getSelection in interface GLSelectable
Overrides:
getSelection in class RenderableComponentBase
Parameters:
list - selected objects are appended to the end of this list
qid - index of the selection query