artisynth.core.workspace
Class PullController

java.lang.Object
  extended by artisynth.core.modelbase.ModelComponentBase
      extended by artisynth.core.modelbase.ModelAgentBase
          extended by artisynth.core.modelbase.ControllerMonitorBase
              extended by artisynth.core.modelbase.ControllerBase
                  extended by artisynth.core.workspace.PullController
All Implemented Interfaces:
SelectionListener, Controller, HasState, ModelAgent, ModelComponent, RenderableComponent, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.lang.Cloneable, java.util.EventListener, javax.swing.event.MouseInputListener, HasProperties, HierarchyNode, GLRenderable, GLSelectable, HasRenderProps, Renderable, Scannable

public class PullController
extends ControllerBase
implements SelectionListener, javax.swing.event.MouseInputListener


Nested Class Summary
static interface PullController.Pullable
          Interface for handling pull events
 
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 maspack.render.GLRenderable
TRANSLUCENT, TWO_DIMENSIONAL
 
Constructor Summary
PullController(SelectionManager selManager)
           
 
Method Summary
 void apply(double t0, double t1)
          Called at the beginning of a RootModel's advance procedure
static RenderProps createDefaultRenderProps()
           
 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.
 double getStiffness()
           
 boolean isSelectable()
          Returns true if this object is in fact selectable.
 boolean isWritable()
          Returns false; prevents this component from being writing out as part of a RootModel file.
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 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, int flags)
          Render this object using Open GL via the JOGL.
 void selectionChanged(SelectionEvent e)
           
 void setModel(Model model)
           
 void setStiffness(double k)
           
 
Methods inherited from class artisynth.core.modelbase.ControllerMonitorBase
copy, createState, getInitialState, getInitialState, getRenderHints, getRenderProps, getSelection, getState, hasState, setInitialState, setRenderProps, setState, updateBounds
 
Methods inherited from class artisynth.core.modelbase.ModelAgentBase
dispose, finalize, getModel, initialize, setModelFromComponent, write
 
Methods inherited from class artisynth.core.modelbase.ModelComponentBase
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, connectToHierarchy, createTempFlag, disconnectFromHierarchy, getChildren, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, isFixed, isMarked, isSelected, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface artisynth.core.modelbase.ModelAgent
dispose, getModel, initialize
 
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 maspack.properties.HasProperties
getProperty
 
Methods inherited from interface maspack.properties.HierarchyNode
getChildren, hasChildren
 
Methods inherited from interface maspack.util.Scannable
write
 
Methods inherited from interface artisynth.core.modelbase.HasState
createState, getInitialState, getState, setState
 

Field Detail

myProps

public static PropertyList myProps
Constructor Detail

PullController

public PullController(SelectionManager selManager)
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 ModelComponentBase
Returns:
static information for all exported properties

getStiffness

public double getStiffness()

setStiffness

public void setStiffness(double k)

selectionChanged

public void selectionChanged(SelectionEvent e)
Specified by:
selectionChanged in interface SelectionListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

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 ControllerMonitorBase

render

public 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
Overrides:
render in class ControllerBase
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.

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
Overrides:
createRenderProps in class ControllerMonitorBase
Returns:
new render properties for this object

createDefaultRenderProps

public static RenderProps createDefaultRenderProps()

isSelectable

public boolean isSelectable()
Description copied from class: ControllerMonitorBase
Returns true if this object is in fact selectable.

Specified by:
isSelectable in interface GLSelectable
Overrides:
isSelectable in class ControllerMonitorBase
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
Overrides:
numSelectionQueriesNeeded in class ControllerMonitorBase
Returns:
maximum number of selection queries needed by this component, or -1 if this component does not manage its own selection.

apply

public void apply(double t0,
                  double t1)
Description copied from interface: Controller
Called at the beginning of a RootModel's advance procedure

Specified by:
apply in interface Controller

setModel

public void setModel(Model model)
Specified by:
setModel in interface ModelAgent
Overrides:
setModel in class ModelAgentBase

isWritable

public boolean isWritable()
Returns false; prevents this component from being writing out as part of a RootModel file.

Specified by:
isWritable in interface Scannable
Overrides:
isWritable in class ModelComponentBase
Returns:
true if this component should be written to secondary storage.