sim.portrayal3d.simple
Class WireFrameBoxPortrayal3D

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

public class WireFrameBoxPortrayal3D
extends SimplePortrayal3D

A SimplePortrayal3D which draws an arbitrary wireframe box. Unlike most other SimplePortrayal3Ds, where you specify a scale, in WireFrameBoxPortrayal3D you specify actual coordinates for opposite corners of the box. This is because most uses of this portrayal is to draw a big box around your field's extent, and you need this capability to do so conveniently. Objects portrayed by a WireFrameBoxPortrayal3D are selectable.

Portions of this software is based on the file ColorCube.java, available as part of the Java3D Developer Kit examples, and falls under the license that came with that example. The license is listed at the end of this file. The remainder of the file falls under the standard license for this library.

See Also:
Serialized Form

Field Summary
 javax.media.j3d.Appearance appearance
           
 
Fields inherited from class sim.portrayal3d.SimplePortrayal3D
DEFAULT_APPEARANCE, parentPortrayal
 
Constructor Summary
WireFrameBoxPortrayal3D()
          Draws a white wireframe box from (-0.5,-0.5,-0.5) to (0.5,0.5,0.5)
WireFrameBoxPortrayal3D(double x, double y, double z, double x2, double y2, double z2)
          Draws a white wireframe box from (x,y,z) to (x2,y2,z2)
WireFrameBoxPortrayal3D(double x, double y, double z, double x2, double y2, double z2, javax.media.j3d.Appearance appearance)
          Draws a wireframe box from (x,y,z) to (x2,y2,z2) in the specified appearance.
WireFrameBoxPortrayal3D(double x, double y, double z, double x2, double y2, double z2, java.awt.Color color)
          Draws a wireframe box from (x,y,z) to (x2,y2,z2) in the specified color.
 
Method Summary
 javax.media.j3d.TransformGroup getModel(java.lang.Object obj, javax.media.j3d.TransformGroup tg)
          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

appearance

public javax.media.j3d.Appearance appearance
Constructor Detail

WireFrameBoxPortrayal3D

public WireFrameBoxPortrayal3D()
Draws a white wireframe box from (-0.5,-0.5,-0.5) to (0.5,0.5,0.5)


WireFrameBoxPortrayal3D

public WireFrameBoxPortrayal3D(double x,
                               double y,
                               double z,
                               double x2,
                               double y2,
                               double z2)
Draws a white wireframe box from (x,y,z) to (x2,y2,z2)


WireFrameBoxPortrayal3D

public WireFrameBoxPortrayal3D(double x,
                               double y,
                               double z,
                               double x2,
                               double y2,
                               double z2,
                               java.awt.Color color)
Draws a wireframe box from (x,y,z) to (x2,y2,z2) in the specified color.


WireFrameBoxPortrayal3D

public WireFrameBoxPortrayal3D(double x,
                               double y,
                               double z,
                               double x2,
                               double y2,
                               double z2,
                               javax.media.j3d.Appearance appearance)
Draws a wireframe box from (x,y,z) to (x2,y2,z2) in the specified appearance.

Method Detail

getModel

public javax.media.j3d.TransformGroup getModel(java.lang.Object obj,
                                               javax.media.j3d.TransformGroup tg)
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