sim.portrayal3d.grid.quad
Class MeshPortrayal

java.lang.Object
  extended bysim.portrayal3d.grid.quad.QuadPortrayal
      extended bysim.portrayal3d.grid.quad.MeshPortrayal
All Implemented Interfaces:
Portrayal, java.io.Serializable

public class MeshPortrayal
extends QuadPortrayal

A QuadPortrayal which relates grid locations with intersections on a mesh (like positions on a Go board, coloring and changing the Z location of the intersections.

Bug in MeshPortrayal. It appears that if values in MeshPortrayals cause "bends" in the angle of the underlying squares that are too severe (we've seen over 45 degrees), then when Java3D tries to pick the square you've double-clicked on, the "bent" squares will insist on being included in the pick collection. We believe this to be a bug in Sun's Java3D code. You'll see this happen when you double-click on a MeshPortrayal and the wrong-coordinate object pops up.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class sim.portrayal3d.grid.quad.QuadPortrayal
QuadPortrayal.DoubleFilter, QuadPortrayal.Filter, QuadPortrayal.IntFilter
 
Field Summary
 float[] tmpColor
           
 float[] tmpCoords
           
 
Fields inherited from class sim.portrayal3d.grid.quad.QuadPortrayal
colorDispenser, zScale
 
Constructor Summary
MeshPortrayal(ColorMap colorDispenser)
           
MeshPortrayal(ColorMap colorDispenser, float zScale)
           
 
Method Summary
 Int2D getCellForIntersection(com.sun.j3d.utils.picking.PickIntersection pi, Grid2D field)
           
 void setData(ValueGridCellInfo gridCell, float[] coordinates, float[] colors, int quadIndex, int gridWidth, int gridHeight)
           
 
Methods inherited from class sim.portrayal3d.grid.quad.QuadPortrayal
getInspector, getName, getStatus, setSelected
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tmpCoords

public float[] tmpCoords

tmpColor

public float[] tmpColor
Constructor Detail

MeshPortrayal

public MeshPortrayal(ColorMap colorDispenser)

MeshPortrayal

public MeshPortrayal(ColorMap colorDispenser,
                     float zScale)
Method Detail

setData

public void setData(ValueGridCellInfo gridCell,
                    float[] coordinates,
                    float[] colors,
                    int quadIndex,
                    int gridWidth,
                    int gridHeight)
Specified by:
setData in class QuadPortrayal

getCellForIntersection

public Int2D getCellForIntersection(com.sun.j3d.utils.picking.PickIntersection pi,
                                    Grid2D field)
Overrides:
getCellForIntersection in class QuadPortrayal