com.jzy3d.surfedit.surface.composite
Class CompositeInteractiveSurface

java.lang.Object
  extended by org.jzy3d.plot3d.primitives.AbstractDrawable
      extended by org.jzy3d.plot3d.primitives.AbstractWireframeable
          extended by org.jzy3d.plot3d.primitives.AbstractComposite
              extended by com.jzy3d.surfedit.surface.composite.CompositeInteractiveSurface
All Implemented Interfaces:
IInteractiveSurface, org.jzy3d.colors.IMultiColorable, org.jzy3d.colors.ISingleColorable, org.jzy3d.plot3d.primitives.IGLRenderer, org.jzy3d.plot3d.primitives.interactive.IInteractive, org.jzy3d.plot3d.primitives.ISortableDraw, org.jzy3d.plot3d.primitives.IWireframeable

public class CompositeInteractiveSurface
extends org.jzy3d.plot3d.primitives.AbstractComposite
implements IInteractiveSurface

An interactive surface implementation relying on drawable composition. In other word, this surface can be used in a scene with multiple translucent objects.

Author:
Martin Pernollet

Constructor Summary
CompositeInteractiveSurface(org.jzy3d.maths.Grid grid)
           
 
Method Summary
 float getAlpha()
           
 org.jzy3d.maths.BoundingBox3d getBounds()
           
 org.jzy3d.maths.PolygonArray[][] getCellAnchors()
           
 CellIndex getCellIndex()
           
 org.jzy3d.colors.ColorMapper getColorMapper()
           
 org.jzy3d.maths.Grid getGrid()
           
 ICellHighlightColorTransform getHighlightColorTransform()
           
 Highlighter getHighlighter()
           
 java.awt.Polygon getHull2d()
           
 org.jzy3d.maths.PolygonArray[][] getLastCellProjection()
           
 org.jzy3d.maths.Coord3d[][] getLastNodeProjection()
           
 java.util.List<org.jzy3d.maths.Coord3d> getLastProjection()
           
 int getNI()
           
 int getNJ()
           
 org.jzy3d.maths.Coord3d[][] getNodeAnchors()
           
 org.jzy3d.colors.Color getPointColor()
           
 float getPointSize()
           
 java.util.Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<java.lang.Integer,java.lang.Integer>> getQuadMap()
           
 float getZ(int i, int j)
           
 void incrementZ(int i, int j, float offset)
          rebuild should be called to have the surface tesselation updated.
 boolean isPointDisplayed()
           
 void project(javax.media.opengl.GL gl, javax.media.opengl.glu.GLU glu, org.jzy3d.plot3d.rendering.view.Camera cam)
           
 void rebuild()
           
 void resetLastCellProjection()
           
 void resetLastNodeProjection()
           
 void setAlpha(float alpha)
           
 void setColorMapper(org.jzy3d.colors.ColorMapper mapper)
           
 void setData(org.jzy3d.maths.Grid grid)
           
 void setHighlightColorTransform(ICellHighlightColorTransform highlightColorTransform)
           
 void setPointColor(org.jzy3d.colors.Color pointColor)
           
 void setPointDisplayed(boolean pointDisplayed)
           
 void setPointWidth(float pointSize)
           
 void setWireframeColor(org.jzy3d.colors.Color c)
           
 void setZ(int i, int j, float z)
          rebuild should be called to have the surface tesselation updated.
 
Methods inherited from class org.jzy3d.plot3d.primitives.AbstractComposite
add, add, canBeSplitted, clear, draw, get, getColor, getDrawables, getTransform, isDetailedToString, remove, setColor, setDetailedToString, setDisplayed, setFaceDisplayed, setTransform, setWireframeDisplayed, setWireframeWidth, size, toString, toString
 
Methods inherited from class org.jzy3d.plot3d.primitives.AbstractWireframeable
getFaceDisplayed, getWireframeColor, getWireframeDisplayed, getWireframeWidth
 
Methods inherited from class org.jzy3d.plot3d.primitives.AbstractDrawable
addDrawableListener, dispose, getBarycentre, getDistance, getFace, getLongestDistance, getShortestDistance, hasFace, isDisplayed, isFace2dDisplayed, removeDrawableListener, setLegend, setLegendDisplayed
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jzy3d.plot3d.primitives.IWireframeable
getFaceDisplayed, getWireframeColor, getWireframeDisplayed, getWireframeWidth, setFaceDisplayed, setWireframeDisplayed, setWireframeWidth
 

Constructor Detail

CompositeInteractiveSurface

public CompositeInteractiveSurface(org.jzy3d.maths.Grid grid)
Method Detail

setData

public void setData(org.jzy3d.maths.Grid grid)
Specified by:
setData in interface IInteractiveSurface

getBounds

public org.jzy3d.maths.BoundingBox3d getBounds()
Overrides:
getBounds in class org.jzy3d.plot3d.primitives.AbstractComposite

getZ

public float getZ(int i,
                  int j)
Specified by:
getZ in interface IInteractiveSurface

incrementZ

public void incrementZ(int i,
                       int j,
                       float offset)
rebuild should be called to have the surface tesselation updated.

Specified by:
incrementZ in interface IInteractiveSurface

setZ

public void setZ(int i,
                 int j,
                 float z)
rebuild should be called to have the surface tesselation updated.

Specified by:
setZ in interface IInteractiveSurface

rebuild

public void rebuild()
Specified by:
rebuild in interface IInteractiveSurface

project

public void project(javax.media.opengl.GL gl,
                    javax.media.opengl.glu.GLU glu,
                    org.jzy3d.plot3d.rendering.view.Camera cam)
Specified by:
project in interface org.jzy3d.plot3d.primitives.interactive.IInteractive

getLastNodeProjection

public org.jzy3d.maths.Coord3d[][] getLastNodeProjection()
Specified by:
getLastNodeProjection in interface IInteractiveSurface

getLastCellProjection

public org.jzy3d.maths.PolygonArray[][] getLastCellProjection()
Specified by:
getLastCellProjection in interface IInteractiveSurface

resetLastCellProjection

public void resetLastCellProjection()
Specified by:
resetLastCellProjection in interface IInteractiveSurface

resetLastNodeProjection

public void resetLastNodeProjection()
Specified by:
resetLastNodeProjection in interface IInteractiveSurface

setWireframeColor

public void setWireframeColor(org.jzy3d.colors.Color c)
Specified by:
setWireframeColor in interface org.jzy3d.plot3d.primitives.IWireframeable
Overrides:
setWireframeColor in class org.jzy3d.plot3d.primitives.AbstractComposite

getHighlighter

public Highlighter getHighlighter()
Specified by:
getHighlighter in interface IInteractiveSurface

getHighlightColorTransform

public ICellHighlightColorTransform getHighlightColorTransform()
Specified by:
getHighlightColorTransform in interface IInteractiveSurface

setHighlightColorTransform

public void setHighlightColorTransform(ICellHighlightColorTransform highlightColorTransform)
Specified by:
setHighlightColorTransform in interface IInteractiveSurface

getColorMapper

public org.jzy3d.colors.ColorMapper getColorMapper()
Specified by:
getColorMapper in interface org.jzy3d.colors.IMultiColorable
Overrides:
getColorMapper in class org.jzy3d.plot3d.primitives.AbstractComposite

setColorMapper

public void setColorMapper(org.jzy3d.colors.ColorMapper mapper)
Specified by:
setColorMapper in interface org.jzy3d.colors.IMultiColorable
Overrides:
setColorMapper in class org.jzy3d.plot3d.primitives.AbstractComposite

getPointColor

public org.jzy3d.colors.Color getPointColor()
Specified by:
getPointColor in interface IInteractiveSurface

setPointColor

public void setPointColor(org.jzy3d.colors.Color pointColor)
Specified by:
setPointColor in interface IInteractiveSurface

getPointSize

public float getPointSize()
Specified by:
getPointSize in interface IInteractiveSurface

setPointWidth

public void setPointWidth(float pointSize)
Specified by:
setPointWidth in interface IInteractiveSurface

isPointDisplayed

public boolean isPointDisplayed()
Specified by:
isPointDisplayed in interface IInteractiveSurface

setPointDisplayed

public void setPointDisplayed(boolean pointDisplayed)
Specified by:
setPointDisplayed in interface IInteractiveSurface

getAlpha

public float getAlpha()
Specified by:
getAlpha in interface IInteractiveSurface

setAlpha

public void setAlpha(float alpha)
Specified by:
setAlpha in interface IInteractiveSurface

getCellAnchors

public org.jzy3d.maths.PolygonArray[][] getCellAnchors()
Specified by:
getCellAnchors in interface IInteractiveSurface

getNodeAnchors

public org.jzy3d.maths.Coord3d[][] getNodeAnchors()
Specified by:
getNodeAnchors in interface IInteractiveSurface

getGrid

public org.jzy3d.maths.Grid getGrid()
Specified by:
getGrid in interface IInteractiveSurface

getCellIndex

public CellIndex getCellIndex()
Specified by:
getCellIndex in interface IInteractiveSurface

getNI

public int getNI()
Specified by:
getNI in interface IInteractiveSurface

getNJ

public int getNJ()
Specified by:
getNJ in interface IInteractiveSurface

getQuadMap

public java.util.Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<java.lang.Integer,java.lang.Integer>> getQuadMap()

getHull2d

public java.awt.Polygon getHull2d()
Specified by:
getHull2d in interface org.jzy3d.plot3d.primitives.interactive.IInteractive

getLastProjection

public java.util.List<org.jzy3d.maths.Coord3d> getLastProjection()
Specified by:
getLastProjection in interface org.jzy3d.plot3d.primitives.interactive.IInteractive