Class CubePortrayal3D

java.lang.Object
sim.portrayal3d.SimplePortrayal3D
sim.portrayal3d.simple.CubePortrayal3D
All Implemented Interfaces:
Portrayal, Portrayal3D

public class CubePortrayal3D extends SimplePortrayal3D
Portrays objects as a cube 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). Objects portrayed by this portrayal are selectable.
  • Constructor Details

    • CubePortrayal3D

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

      public CubePortrayal3D(double scale)
      Constructs a CubePortrayal3D with a default (flat opaque white) appearance and the given scale.
    • CubePortrayal3D

      public CubePortrayal3D(Color color)
      Constructs a CubePortrayal3D with a flat opaque appearance of the given color and a scale of 1.0.
    • CubePortrayal3D

      public CubePortrayal3D(Color color, double scale)
      Constructs a CubePortrayal3D with a flat opaque appearance of the given color and the given scale.
    • CubePortrayal3D

      public CubePortrayal3D(Image image)
      Constructs a CubePortrayal3D with the given (opaque) image and a scale of 1.0.
    • CubePortrayal3D

      public CubePortrayal3D(Image image, double scale)
      Constructs a CubePortrayal3D with the given (opaque) image and scale.
    • CubePortrayal3D

      public CubePortrayal3D(javax.media.j3d.Appearance appearance, boolean generateTextureCoordinates, double scale)
      Constructs a CubePortrayal3D 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 Details

    • getModel

      public javax.media.j3d.TransformGroup getModel(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 field portrayal and display will have already been set if it exists, else it will be null.

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