maspack.render
Interface GLRenderable

All Known Subinterfaces:
Dragger3d, DrawTool, GLSelectable, Renderable, RenderableComponent, RenderableLine, RenderablePoint
All Known Implementing Classes:
AABB, AABBTree, ArticulatedBeamBody, ArticulatedDemo, ArticulatedFem, AttachDemo, AttachedBeamDemo, AuxMaterialBundle, AuxMaterialBundleList, AuxMaterialElementDesc, AuxMaterialElementDescList, AxialSpring, AxialSpringList, BeamBody, BlockTest, BVNode, BVTree, CollisionHandler, CollisionHandlerGeneric, CollisionHandlerList, CollisionHandlerOld, CollisionManager, ColorBar, ColoredFemBeam3d, CompliantConstraintDemo, ConstrainedParticle, ConstrainedTranslator3d, ConstrainerBase, ControllerBase, ControllerMonitorBase, ConvexPolygon2d, CoupledSolveDemo, CutPlaneProbe, DeformableBody, DoubleArmDemo, Dragger3dBase, DrawToolBase, DynamicMechComponentBase, EditableMesh, EditablePolygonalMesh, Elaston, FaceComponent, FaceList, FallingSkull, Fem3dBlock, FemBeam3d, FemBeamMech, FemCollision, FemDisplayProbe, FemElement, FemElement3d, FemElement3dList, FemFrictionBeam, FemMarker, FemMesh, FemMeshBase, FemModel, FemModel3d, FemMuscleArm, FemMuscleDemo, FemMuscleModel, FemNode, FemNode3d, FemSingleTet, FemSkinDemo, FemSphere, FishDemo, FixedMesh, Frame, FrameMarker, FrameSpring, FrameSpringDemo, FreehandTool, FullPlanarJoint, GLHSVShaderTest, GLRenderableBase, GLRenderableHolder, Hex3dBlock, HexBeam3d, HexElement, HexFrame, HexIncompress, HexSheet, HudPrintStream, HydrostatDemo, HydrostatInvDemo, HydrostatModel, HydrostatTubeDemo, ImagePlaneProbe, Jack3d, JointBase, LaymanBowl, LaymanDemo, LaymanModel, LightComponent, LockingDemo, LumbarSpringDemo, Marker, MarkerPlanarConnector, MassSpringDemo, MechModel, MechModelCollide, MechModelDemo, MechSystemBase, MeshBase, MeshCollisionViewer, MeshComponent, MeshComponentList, MeshIntersectingProbe, MeshThicken.Region, MFreeAuxMaterialBundle, MFreeAuxMaterialBundleList, MFreeAuxMaterialElementDesc, MFreeAuxMaterialElementDescList, MFreeElement3d, MFreeElement3dList, MFreeHermiteNode3d, MFreeModel3d, MFreeMuscleBundle, MFreeMuscleBundleList, MFreeMuscleElementDesc, MFreeMuscleElementDescList, MFreeMuscleModel, MFreeNode3d, MonitorBase, MultiMuscleDemo, MultiPointMuscle, MultiPointMuscleVia, MultiPointSpring, MultiPointSpringList, MultiSpringDemo, Muscle, MuscleArm, MuscleBundle, MuscleBundleList, MuscleElementDesc, MuscleElementDescList, NagataDistanceTest, NetDemo, NURBSCurve2d, NURBSCurve3d, NURBSCurveBase, NURBSMesh, NURBSObject, NURBSSurface, OBB, OBBTree, Particle, ParticleConstraint, ParticleMeshConstraint, ParticlePlaneConstraint, PlanarConnector, PlanarConnectorDemo, PlanarPoint, PlaneConstrainedFem, Point, PointForce, PointForceDemo, PointList, PointMesh, PointModel, PointModel1d, PointModel2d, PointModel3d, PointSpringBase, PointSpringList, PointToPointMuscle, PointTracingProbe, Polygon2d, PolygonalMesh, PolylineMesh, PuddleDemo, PullController, PuppetDemo, PyramidElement, QuadFishDemo, QuadhexElement, QuadpyramidElement, QuadtetElement, QuadwedgeElement, RenderableBase, RenderableComponentBase, RenderableComponentList, RenderableCompositeBase, RenderableModelBase, RenderableModelBaseOld, RevoluteJoint, RigidBody, RigidBodyCollision, RigidBodyConnector, RigidBodyContact, RigidBodyDemo, RigidCompositeBody, RigidMeshComponent, RigidTentacle, RobustCube, RollPitchJoint, RollPitchJointDemo, RootModel, RotatableScaler3d, Rotator3d, Scaler3d, SegmentedPlanarConnector, SegmentedPlaneDemo, SelfCollision, SheetDemo, SignedDistanceGrid, SignedDistanceGridCell, SimpleCollide, SingleHex, SinglePyramid, SingleQuadhex, SingleQuadpyramid, SingleQuadtet, SingleQuadwedge, SingleTet, SingleWedge, SkinDemo, SkinMesh, SkinMeshBase, SkullParticles, SoftPlaneCollider, SolidJoint, SphericalJoint, SphericalJointBase, SphericalJointDemo, SphericalRpyJoint, SplineTool, SpongeDemo, SpongeModel, SpringMeshDemo, SurfaceMeshCollider.ContactInfoRenderer, TargetFrame, TargetPoint, Tentacle, TetBeam3d, TetElement, TextComponent2d, TextComponent3d, TextComponentBase, TextLabeller3d, TracingProbe, TrackingController, Translator3d, Transrotator3d, VectorTracingProbe, VertexComponent, VertexList, ViscousBeam, WedgeElement

public interface GLRenderable


Field Summary
static int TRANSLUCENT
          A rendering hint that suggests the object should be rendered with transparency enabled
static int TWO_DIMENSIONAL
          A rendering hint that suggests the object should be rendered at the end (in the foreground), after clip planes (e.g.
 
Method Summary
 int getRenderHints()
          Returns a bit code giving rendering hints about this renderable.
 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 updateBounds(Point3d pmin, Point3d pmax)
          Update the minimum and maximum points for this object.
 

Field Detail

TRANSLUCENT

static final int TRANSLUCENT
A rendering hint that suggests the object should be rendered with transparency enabled

See Also:
Constant Field Values

TWO_DIMENSIONAL

static final int TWO_DIMENSIONAL
A rendering hint that suggests the object should be rendered at the end (in the foreground), after clip planes (e.g. 2D renderables)

See Also:
Constant Field Values
Method Detail

prerender

void prerender(RenderList list)
Prepare for rendering, and potentially add itself to a list to be drawn by a GLRenderer.

Parameters:
list -

render

void render(GLRenderer renderer,
            int flags)
Render this object using Open GL via the JOGL.

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.

updateBounds

void updateBounds(Point3d pmin,
                  Point3d pmax)
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.

Parameters:
pmin - minimum point
pmax - maximum point

getRenderHints

int getRenderHints()
Returns a bit code giving rendering hints about this renderable. Current bit codes include TRANSLUCENT.

Returns:
bit code of rendering hints.