sim.portrayal3d.simple
Class CylinderPortrayal3D

java.lang.Object
  extended by sim.portrayal3d.SimplePortrayal3D
      extended by sim.portrayal3d.simple.CylinderPortrayal3D
All Implemented Interfaces:
java.io.Serializable, Portrayal, Portrayal3D

public class CylinderPortrayal3D
extends SimplePortrayal3D

Portrays objects as a cylinder of the specified color or appearance (flat opaque white by default) which fills the region from (-0.5*scale,-0.5*scale,-0.5*scale) to (0.5*scale,0.5*scale,0.5*scale). The axis of the cylinder runs along the Y axis. Objects portrayed by this portrayal are selectable.

See Also:
Serialized Form

Field Summary
 javax.media.j3d.Appearance appearance
           
 boolean generateNormals
           
 boolean generateTextureCoordinates
           
 float scale
           
 
Fields inherited from class sim.portrayal3d.SimplePortrayal3D
DEFAULT_APPEARANCE, parentPortrayal
 
Constructor Summary
CylinderPortrayal3D()
          Constructs a CylinderPortrayal3D with a default (flat opaque white) appearance and a scale of 1.0.
CylinderPortrayal3D(javax.media.j3d.Appearance appearance, boolean generateNormals, boolean generateTextureCoordinates, float scale)
          Constructs a CylinderPortrayal3D with the given appearance and scale, plus whether or not to generate normals or texture coordinates.
CylinderPortrayal3D(java.awt.Color color)
          Constructs a CylinderPortrayal3D with a flat opaque appearance of the given color and a scale of 1.0.
CylinderPortrayal3D(java.awt.Color color, float scale)
          Constructs a CylinderPortrayal3D with a flat opaque appearance of the given color and the given scale.
CylinderPortrayal3D(float scale)
          Constructs a CylinderPortrayal3D with a default (flat opaque white) appearance and the given scale.
CylinderPortrayal3D(java.awt.Image image)
          Constructs a CylinderPortrayal3D with the given (opaque) image and a scale of 1.0.
CylinderPortrayal3D(java.awt.Image image, float scale)
          Constructs a CylinderPortrayal3D with the given (opaque) image and scale.
 
Method Summary
 javax.media.j3d.TransformGroup getModel(java.lang.Object obj, javax.media.j3d.TransformGroup j3dModel)
          Provides a TransformGroup which defines the node(s) to place in the scenegraph.
 
Methods inherited from class sim.portrayal3d.SimplePortrayal3D
appearanceForColor, appearanceForImage, clearPickableFlags, getInspector, getName, getStatus, polygonAttributes, setParentPortrayal, setPickableFlags, setPickableFlags, setSelected
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scale

public float scale

appearance

public javax.media.j3d.Appearance appearance

generateNormals

public boolean generateNormals

generateTextureCoordinates

public boolean generateTextureCoordinates
Constructor Detail

CylinderPortrayal3D

public CylinderPortrayal3D()
Constructs a CylinderPortrayal3D with a default (flat opaque white) appearance and a scale of 1.0.


CylinderPortrayal3D

public CylinderPortrayal3D(float scale)
Constructs a CylinderPortrayal3D with a default (flat opaque white) appearance and the given scale.


CylinderPortrayal3D

public CylinderPortrayal3D(java.awt.Color color)
Constructs a CylinderPortrayal3D with a flat opaque appearance of the given color and a scale of 1.0.


CylinderPortrayal3D

public CylinderPortrayal3D(java.awt.Color color,
                           float scale)
Constructs a CylinderPortrayal3D with a flat opaque appearance of the given color and the given scale.


CylinderPortrayal3D

public CylinderPortrayal3D(java.awt.Image image)
Constructs a CylinderPortrayal3D with the given (opaque) image and a scale of 1.0.


CylinderPortrayal3D

public CylinderPortrayal3D(java.awt.Image image,
                           float scale)
Constructs a CylinderPortrayal3D with the given (opaque) image and scale.


CylinderPortrayal3D

public CylinderPortrayal3D(javax.media.j3d.Appearance appearance,
                           boolean generateNormals,
                           boolean generateTextureCoordinates,
                           float scale)
Constructs a CylinderPortrayal3D with the given appearance and scale, plus whether or not to generate normals or texture coordinates. Without texture coordiantes, a texture will not be displayed.

Method Detail

getModel

public javax.media.j3d.TransformGroup getModel(java.lang.Object obj,
                                               javax.media.j3d.TransformGroup j3dModel)
Description copied from interface: Portrayal3D
Provides a TransformGroup which defines the node(s) to place in the scenegraph. This is the Portrayal3D equivalent of Portrayal2D's draw(object, graphics, drawinfo) method.

You should hang your model off of the TransformGroup provided. You should not transform that TransformGroup in any way -- it is used elsewhere. Instead if you wish to transform your model (rotate it etc.) you should add your own additional TransformGroup as necessary.

The provided TransformGroup can be null; in this case you need to create and return the outer TransformGroup for the object. If the provided TransformGroup is non-null, you should modify it and return the same.

SimplePortrayals should assume the following contract: at the point that getModel(...) is called, the parentPortrayal will have already been set if it exists, else it will be null.

Specified by:
getModel in interface Portrayal3D
Overrides:
getModel in class SimplePortrayal3D