artisynth.core.mechmodels
Class RevoluteJoint

java.lang.Object
  extended by artisynth.core.modelbase.ModelComponentBase
      extended by artisynth.core.modelbase.RenderableComponentBase
          extended by artisynth.core.mechmodels.RigidBodyConnector
              extended by artisynth.core.mechmodels.JointBase
                  extended by artisynth.core.mechmodels.RevoluteJoint
All Implemented Interfaces:
Constrainer, HasAuxState, RigidBodyConstrainer, CopyableComponent, HasCoordinateFrame, ModelComponent, RenderableComponent, ScalableUnits, TransformableGeometry, java.lang.Cloneable, HasProperties, HierarchyNode, GLRenderable, GLSelectable, HasRenderProps, Renderable, Scannable

public class RevoluteJoint
extends JointBase
implements CopyableComponent

Auxiliary class used to solve constrained rigid body problems.


Nested Class Summary
 
Nested classes/interfaces inherited from interface artisynth.core.modelbase.ModelComponent
ModelComponent.NavpanelVisibility
 
Nested classes/interfaces inherited from interface artisynth.core.mechmodels.HasAuxState
HasAuxState.StateContext
 
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.modelbase.CopyableComponent
COPY_REFERENCES
 
Fields inherited from interface artisynth.core.util.TransformableGeometry
ARTICULATED, SIMULATING
 
Fields inherited from interface maspack.render.GLRenderable
TRANSLUCENT, TWO_DIMENSIONAL
 
Constructor Summary
RevoluteJoint()
           
RevoluteJoint(RigidBody bodyA, RigidBody bodyB, RigidTransform3d XCW)
           
RevoluteJoint(RigidBody bodyA, RigidTransform3d XCW)
           
RevoluteJoint(RigidBody bodyA, RigidTransform3d XFA, RigidBody bodyB, RigidTransform3d XDB)
           
RevoluteJoint(RigidBody bodyA, RigidTransform3d XFA, RigidTransform3d XDW)
           
 
Method Summary
 ModelComponent copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
          Create a copy of this component.
 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 getTheta()
           
 DoubleInterval getThetaRange()
           
 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.
 boolean scanItem(ReaderTokenizer rtok, java.util.Deque<ScanToken> tokens)
           
 void setDefaultValues()
          Sets the attributes of this component to their default values.
 void setMaxTheta(double max)
           
 void setMinTheta(double min)
           
 void setTheta(double theta)
           
 void setThetaRange(DoubleInterval range)
           
 void updateBounds(Point3d pmin, Point3d pmax)
          Update the minimum and maximum points for this object.
 
Methods inherited from class artisynth.core.mechmodels.JointBase
getAxisLength, getPosition, getRenderFrame, scaleDistance, setAxisLength
 
Methods inherited from class artisynth.core.mechmodels.RigidBodyConnector
addBilateralConstraints, addFrictionConstraints, addFrictionConstraints, addUnilateralConstraints, advanceAuxState, connectToHierarchy, disconnectFromHierarchy, getActivation, getAuxState, getBilateralBlockA, getBilateralBlockB, getBilateralConstraints, getBilateralForceInA, getBilateralForceInA, getBilateralImpulses, getBilateralInfo, getBilateralSizes, getBodyA, getBodyB, getBreakAccel, getBreakSpeed, getCompliance, getContactDistance, getCopyReferences, getCurrentXDB, getCurrentXDW, getCurrentXFA, getCurrentXFW, getDamping, getHardReferences, getInitialAuxState, getLinearCompliance, getPenetrationTol, getPenetrationTolMode, getPose, getRotaryCompliance, getUnilateralBlockA, getUnilateralBlockB, getUnilateralConstraints, getUnilateralForceInA, getUnilateralForceInA, getUnilateralImpulses, getUnilateralInfo, getUnilateralSizes, getXCA, getXCB, getXDB, getXFA, hasState, hasUnilateralConstraints, isActive, isDuplicatable, isEnabled, maxFrictionConstraintSets, numBilateralConstraints, numBodies, numUnilateralConstraints, scaleMass, setAuxState, setBilateralImpulses, setBodies, setBreakAccel, setBreakSpeed, setCompliance, setContactDistance, setDamping, setEnabled, setLinearCompliance, setPenetrationTol, setPenetrationTolMode, setRotaryCompliance, setUnilateralImpulses, setXDB, setXFA, skipAuxState, transformGeometry, transformGeometry, updateBodyStates, updateConstraints, updateForBodyPositionChange, updateUnilateralConstraints, zeroImpulses
 
Methods inherited from class artisynth.core.modelbase.RenderableComponentBase
getRenderHints, getRenderProps, getSelection, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderProps
 
Methods inherited from class artisynth.core.modelbase.ModelComponentBase
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, 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.CopyableComponent
getCopyReferences, isDuplicatable
 
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
isWritable, write
 

Field Detail

myProps

public static PropertyList myProps
Constructor Detail

RevoluteJoint

public RevoluteJoint()

RevoluteJoint

public RevoluteJoint(RigidBody bodyA,
                     RigidTransform3d XFA,
                     RigidBody bodyB,
                     RigidTransform3d XDB)

RevoluteJoint

public RevoluteJoint(RigidBody bodyA,
                     RigidTransform3d XFA,
                     RigidTransform3d XDW)

RevoluteJoint

public RevoluteJoint(RigidBody bodyA,
                     RigidTransform3d XCW)

RevoluteJoint

public RevoluteJoint(RigidBody bodyA,
                     RigidBody bodyB,
                     RigidTransform3d XCW)
Method Detail

getTheta

public double getTheta()

setTheta

public void setTheta(double theta)

getThetaRange

public DoubleInterval getThetaRange()

setThetaRange

public void setThetaRange(DoubleInterval range)

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 JointBase
Returns:
static information for all exported properties

setDefaultValues

public void setDefaultValues()
Description copied from class: ModelComponentBase
Sets the attributes of this component to their default values.


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 RenderableComponentBase
Returns:
new render properties for this object

setMaxTheta

public void setMaxTheta(double max)

setMinTheta

public void setMinTheta(double min)

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
Overrides:
updateBounds in class RigidBodyConnector
Parameters:
pmin - minimum point
pmax - maximum point

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 RenderableComponentBase

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
Specified by:
render in class RenderableComponentBase
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.

scanItem

public boolean scanItem(ReaderTokenizer rtok,
                        java.util.Deque<ScanToken> tokens)
                 throws java.io.IOException
Throws:
java.io.IOException

copy

public ModelComponent copy(int flags,
                           java.util.Map<ModelComponent,ModelComponent> copyMap)
Description copied from interface: CopyableComponent
Create a copy of this component. If COPY_REFERENCES is set in flags, then any component referenced by this component should itself be set to a copy. This should be done first checking copyMap for an existing copy of the referenced component. If there is no existing copy, then a copy should be created by calling copy recursively and adding the new copy to copyMap.

Specified by:
copy in interface CopyableComponent
Overrides:
copy in class RigidBodyConnector