artisynth.core.mechmodels
Class BeamBody

java.lang.Object
  extended by artisynth.core.modelbase.ModelComponentBase
      extended by artisynth.core.modelbase.RenderableComponentBase
          extended by artisynth.core.mechmodels.DynamicMechComponentBase
              extended by artisynth.core.mechmodels.Frame
                  extended by artisynth.core.mechmodels.RigidBody
                      extended by artisynth.core.mechmodels.DeformableBody
                          extended by artisynth.core.mechmodels.BeamBody
All Implemented Interfaces:
Collidable, DynamicMechComponent, ForceEffector, MotionTargetComponent, CopyableComponent, HasCoordinateFrame, ModelComponent, RenderableComponent, Tracable, ScalableUnits, TransformableGeometry, PullController.Pullable, java.lang.Cloneable, HasProperties, HierarchyNode, GLRenderable, GLSelectable, HasRenderProps, Renderable, Scannable

public class BeamBody
extends DeformableBody


Nested Class Summary
 
Nested classes/interfaces inherited from class artisynth.core.mechmodels.RigidBody
RigidBody.InertiaMethod
 
Nested classes/interfaces inherited from interface artisynth.core.mechmodels.Collidable
Collidable.DefaultCollidable
 
Nested classes/interfaces inherited from interface artisynth.core.modelbase.ModelComponent
ModelComponent.NavpanelVisibility
 
Field Summary
static PropertyList myProps
           
 
Fields inherited from class artisynth.core.mechmodels.Frame
dynamicVelInWorldCoords, myRenderFrame
 
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.mechmodels.Collidable
Default, Deformable, RigidBody, Self
 
Fields inherited from interface artisynth.core.util.TransformableGeometry
ARTICULATED, SIMULATING
 
Fields inherited from interface maspack.render.GLRenderable
TRANSLUCENT, TWO_DIMENSIONAL
 
Constructor Summary
BeamBody(PolygonalMesh mesh, double density, double len, double E)
           
 
Method Summary
 void computeStiffnessFromIntegration()
           
 void computeStiffnessMatrix()
           
 PropertyList getAllPropertyInfo()
          Returns a list giving static information about all properties exported by this object.
 void getDShape(Matrix3d Dshp, int i, Vector3d pos0)
           
 void getShape(Vector3d shp, int i, Vector3d pos0)
           
 double getStiffness()
           
 int numElasticCoords()
           
 void render(GLRenderer renderer, int flags)
          Render this object using Open GL via the JOGL.
 void setMaterial(FemMaterial mat)
           
 void setStiffness(double E)
           
 void updateStiffnessMatrix()
           
 
Methods inherited from class artisynth.core.mechmodels.DeformableBody
addPointForce, addPosImpulse, addPosJacobian, addSolveBlock, addVelJacobian, applyForces, computeDeformationGradient, computeDeformedFrame, computeDeformedFrame, computeDeformedFrameVel, computeDeformedFrameVel, computeDeformedPos, computeDeformedVel, computeElasticJacobian, computeElasticJacobian, computePointPosition, computePointVelocity, computeUndeformedFrame, computeUndeformedPos, createDefaultMaterial, createMassBlock, createSolveBlock, getElasticForce, getElasticPos, getElasticPos, getElasticPos, getElasticVel, getElasticVel, getElasticVel, getForce, getInverseMass, getMass, getMassDamping, getMassForces, getMaterial, getPosDerivative, getPosState, getPosStateSize, getStiffnessDamping, getVelState, getVelStateSize, setElasticPos, setElasticPos, setElasticVel, setElasticVel, setForce, setForcesToExternal, setMassDamping, setPosState, setState, setStiffnessDamping, setVelState, zeroExternalForces, zeroForces
 
Methods inherited from class artisynth.core.mechmodels.RigidBody
addScaledVelocity, addVelocity, applyForce, applyGravity, applyPosImpulse, computeVolume, copy, createBox, createCollisionData, createCylinder, createEllipsoid, createFromMesh, createFromMesh, createFromMesh, createFromMesh, createRenderProps, createSphere, extrapolatePose, findFreeAttachedBodies, getCenterOfMass, getCenterOfMass, getCopyReferences, getDensity, getDensityRange, getFrameMarkers, getInertia, getInertiaMethod, getMass, getMass, getMassRange, getMesh, getMeshFileName, getMeshFileTransform, getOriginData, getOriginPoint, getPointRenderRadius, getRelativePoses, getRotationalInertia, getRotationalInertia, getSurfaceMesh, isCollidable, isDuplicatable, isMassConstant, isPullable, prerender, scaleDistance, scaleMass, scaleMesh, scan, setBodyVelocity, setCenterOfMass, setDensity, setDynamic, setInertia, setInertia, setInertia, setInertia, setInertiaFromDensity, setInertiaFromMass, setInertiaMethod, setMass, setMesh, setMesh, setMeshFileName, setMeshFileTransform, setPose, setPose, setPosition, setRelativePoses, setRotation, setRotationalInertia, setState, setState, setSurfaceMesh, setSurfaceMesh, setVelocity, transformGeometry, transformGeometry, updateAttachmentPosStates, updateBounds, updatePose, write
 
Methods inherited from class artisynth.core.mechmodels.Frame
addExternalForce, addForce, addScaledExternalForce, addSolveBlocks, addTargetJacobian, computeAppliedWrench, computeAppliedWrench, computePointVelocity, drawAxes, getAxisLength, getBodyForce, getBodyVelocity, getBodyVelState, getExternalForce, getForce, getForce, getFrameDamping, getFrameDampingMode, getJacobianType, getMoment, getOrientation, getPose, getPose, getPosition, getRotaryDamping, getRotaryDampingMode, getRotation, getSelection, getState, getState, getTargetActivity, getTargetOrientation, getTargetPos, getTargetPose, getTargetPosition, getTargetVel, getTargetVelocity, getTracables, getTracingProbe, getTransForce, getVelocity, getVelocity, getWorldVelState, resetTargets, setAxisLength, setExternalForce, setForce, setFrameDamping, setFrameDampingMode, setOrientation, setRotaryDamping, setRotaryDampingMode, setTargetActivity, setTargetOrientation, setTargetPos, setTargetPose, setTargetPosition, setTargetVel, setTargetVelocity, setVelocity, velocityLimitExceeded
 
Methods inherited from class artisynth.core.mechmodels.DynamicMechComponentBase
addMasterAttachment, getAttachment, getMasterAttachments, getSolveIndex, hasState, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setSolveIndex
 
Methods inherited from class artisynth.core.modelbase.RenderableComponentBase
getRenderHints, getRenderProps, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderProps
 
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, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, 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.ModelComponent
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, 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
 
Methods inherited from interface artisynth.core.mechmodels.DynamicMechComponent
addMasterAttachment, checkFlag, clearFlag, getAttachment, getMasterAttachments, getSolveIndex, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setFlag, setSolveIndex
 

Field Detail

myProps

public static PropertyList myProps
Constructor Detail

BeamBody

public BeamBody(PolygonalMesh mesh,
                double density,
                double len,
                double E)
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 DeformableBody
Returns:
static information for all exported properties

getStiffness

public double getStiffness()

setStiffness

public void setStiffness(double E)

setMaterial

public void setMaterial(FemMaterial mat)
Overrides:
setMaterial in class DeformableBody

numElasticCoords

public int numElasticCoords()
Specified by:
numElasticCoords in class DeformableBody

updateStiffnessMatrix

public void updateStiffnessMatrix()
Specified by:
updateStiffnessMatrix in class DeformableBody

computeStiffnessFromIntegration

public void computeStiffnessFromIntegration()

computeStiffnessMatrix

public void computeStiffnessMatrix()

getShape

public void getShape(Vector3d shp,
                     int i,
                     Vector3d pos0)
Specified by:
getShape in class DeformableBody

getDShape

public void getDShape(Matrix3d Dshp,
                      int i,
                      Vector3d pos0)
Specified by:
getDShape in class DeformableBody

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 RigidBody
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.