artisynth.core.modelbase
Class RenderableModelBase
java.lang.Object
artisynth.core.modelbase.ModelComponentBase
artisynth.core.modelbase.ComponentList<ModelComponent>
artisynth.core.modelbase.ModelBase
artisynth.core.modelbase.RenderableModelBase
- All Implemented Interfaces:
- ComponentChangeListener, ComponentListView<ModelComponent>, CompositeComponent, HasState, IndexedComponentList, Model, ModelComponent, MutableCompositeComponent<ModelComponent>, ParameterizedClass, RenderableComponent, java.lang.Cloneable, java.lang.Iterable<ModelComponent>, java.util.Collection<ModelComponent>, HasProperties, HierarchyNode, GLRenderable, GLSelectable, HasRenderProps, Renderable, Disposable, ListView<ModelComponent>, Scannable
- Direct Known Subclasses:
- MechSystemBase, RootModel
public abstract class RenderableModelBase
- extends ModelBase
- implements RenderableComponent
Method Summary |
RenderProps |
createRenderProps()
Factory method to create render properties appropriate to this object. |
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object. |
int |
getRenderHints()
Returns a bit code giving rendering hints about this renderable. |
RenderProps |
getRenderProps()
Returns the render properities for this object. |
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. |
boolean |
isSelectable()
Returns true if this object is in fact selectable. |
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. |
abstract void |
render(GLRenderer renderer,
int flags)
Render this object using Open GL via the JOGL. |
void |
setRenderProps(RenderProps props)
Assigns a new set of render properties to this object. |
void |
updateBounds(Point3d pmin,
Point3d pmax)
Update the minimum and maximum points for this object. |
Methods inherited from class artisynth.core.modelbase.ModelBase |
advance, copy, createState, dispose, getInitialState, getInitialState, getMaxStepSize, getState, hierarchyContainsReferences, initialize, preadvance, setInitialState, setMaxStepSize, setState |
Methods inherited from class artisynth.core.modelbase.ComponentList |
add, add, addAll, addComponents, addFixed, addNumbered, clear, clone, componentChanged, contains, contains, containsAll, copy, ensureCapacity, findComponent, get, get, getByNumber, getChildren, getNavpanelDisplay, getNumberLimit, getShortName, getTypeParameter, hasChildren, hasParameterizedType, indexOf, isEmpty, iterator, nextComponentNumber, numComponents, postscan, remove, remove, removeAll, removeAll, removeComponents, retainAll, scan, setNavpanelDisplay, setNumberingStartAtOne, setShortName, size, toArray, toArray, updateNameMap |
Methods inherited from class artisynth.core.modelbase.ModelComponentBase |
checkFlag, checkName, checkNameUniqueness, clearFlag, connectToHierarchy, createTempFlag, disconnectFromHierarchy, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, 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 |
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences |
Methods inherited from interface java.util.Collection |
equals, hashCode |
myProps
public static PropertyList myProps
RenderableModelBase
public RenderableModelBase(java.lang.String name)
RenderableModelBase
public RenderableModelBase()
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 ModelBase
- Returns:
- static information for all exported properties
getRenderProps
public RenderProps getRenderProps()
- Description copied from interface:
HasRenderProps
- Returns the render properities for this object. If no render properties
are assigned, this routines returns null.
- Specified by:
getRenderProps
in interface HasRenderProps
- Returns:
- current render properties for this object
createRenderProps
public RenderProps createRenderProps()
- Description copied from interface:
HasRenderProps
- Factory method to create render properties appropriate to this object.
- Specified by:
createRenderProps
in interface HasRenderProps
- Returns:
- new render properties for this object
setRenderProps
public void setRenderProps(RenderProps props)
- Description copied from interface:
HasRenderProps
- Assigns a new set of render properties to this object. An argument of
null
will remove render properties from this object.
- Specified by:
setRenderProps
in interface HasRenderProps
- Parameters:
props
- new render properties for this object
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
updateBounds
public void updateBounds(Point3d pmin,
Point3d pmax)
- Description copied from interface:
GLRenderable
- Update the minimum and maximum points for this object. In an x-y-z
coordinate system with x directed to the right and y directed upwards, the
minimum and maximum points can be thought of as defining the
left-lower-far and right-upper-near corners of a bounding cube. This
method should only reduce the elements of the minimum point and increase
the elements of the maximum point, since it may be used as part of an
iteration to determine the bounding cube for several different objects.
- Specified by:
updateBounds
in interface GLRenderable
- Parameters:
pmin
- minimum pointpmax
- maximum point
render
public abstract void render(GLRenderer renderer,
int flags)
- Description copied from interface:
GLRenderable
- Render this object using Open GL via the JOGL.
- Specified by:
render
in interface GLRenderable
- Parameters:
renderer
- renderer object which is used to perform the rendering. Provides pointers
to GL and GLU, along with helper functions.flags
- supplies flags that may be used to control different
aspects of the rendering. Flags are defined in GLRenderer
and currently include
GLRenderer.SELECTED
,
GLRenderer.VERTEX_COLORING
,
GLRenderer.HSV_COLOR_INTERPOLATION
,
GLRenderer.SORT_FACES
, and
GLRenderer.CLEAR_MESH_DISPLAY_LISTS
.
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
- Parameters:
list
- selected objects are appended to the end of this listqid
- index of the selection query
isSelectable
public boolean isSelectable()
- Returns true if this object is in fact selectable.
- Specified by:
isSelectable
in interface GLSelectable
- Returns:
- true if this object is selectable
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
- Returns:
- maximum number of selection queries needed by this component, or
-1 if this component does not manage its own selection.
getRenderHints
public int getRenderHints()
- Description copied from interface:
GLRenderable
- Returns a bit code giving rendering hints about this renderable. Current
bit codes include
TRANSLUCENT
.
- Specified by:
getRenderHints
in interface GLRenderable
- Returns:
- bit code of rendering hints.