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.ISortableDraw, org.jzy3d.plot3d.primitives.selectable.Selectable

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

Field Summary
protected  float alpha
           
protected  CellIndex cellIndex
           
protected  org.jzy3d.maths.Grid grid
           
protected  ICellHighlightColorTransform highlightColorTransform
           
protected  Highlighter highlighter
           
protected  org.jzy3d.maths.PolygonArray[][] lastCellProjection
           
protected  org.jzy3d.maths.Coord3d[][] lastNodeProjection
           
protected  org.jzy3d.colors.ColorMapper mapper
           
protected  int nI
           
protected  int nJ
           
protected  org.jzy3d.colors.Color pointColor
           
protected  boolean pointDisplayed
           
protected  float pointSize
           
protected  Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<Integer,Integer>> quadMap
           
 
Fields inherited from class org.jzy3d.plot3d.primitives.AbstractComposite
color, components, detailedToString, transform
 
Fields inherited from class org.jzy3d.plot3d.primitives.AbstractWireframeable
facestatus, wfcolor, wfstatus, wfwidth
 
Fields inherited from class org.jzy3d.plot3d.primitives.AbstractDrawable
bbox, boundingBoxColor, boundingBoxDisplayed, displayed, hasListeners, legend, legendDisplayed, listeners, transformBefore
 
Constructor Summary
CompositeInteractiveSurface(org.jzy3d.maths.Grid grid)
           
 
Method Summary
protected  Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<Integer,Integer>> buildQuadMap(CellIndex index)
          Allows retrieving a reference to the input point (i,j) to which each quad is attached.
 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()
           
 org.jzy3d.maths.Polygon2d getHull2d()
           
 org.jzy3d.maths.PolygonArray[][] getLastCellProjection()
           
 org.jzy3d.maths.Coord3d[][] getLastNodeProjection()
           
 List<org.jzy3d.maths.Coord3d> getLastProjection()
           
 int getNI()
           
 int getNJ()
           
 org.jzy3d.maths.Coord3d[][] getNodeAnchors()
           
 org.jzy3d.colors.Color getPointColor()
           
 float getPointSize()
           
 Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<Integer,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()
           
protected  void rebuildDrawables()
           
 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)
          Set the wireframe color.
 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, applyGeometryTransform, clear, draw, get, getColor, getDrawables, getTransform, isDetailedToString, remove, setColor, setDetailedToString, setDisplayed, setFaceDisplayed, setTransform, setTransformBefore, setWireframeDisplayed, setWireframeWidth, size, toString, toString, updateBounds
 
Methods inherited from class org.jzy3d.plot3d.primitives.AbstractWireframeable
getFaceDisplayed, getWireframeColor, getWireframeDisplayed, getWireframeWidth
 
Methods inherited from class org.jzy3d.plot3d.primitives.AbstractDrawable
addDrawableListener, call, call, callWithAlphaFactor, dispose, doDrawBounds, doTransform, fireDrawableChanged, fireDrawableChanged, getBarycentre, getBoundingBoxColor, getDistance, getLegend, getLongestDistance, getShortestDistance, getTransformBefore, hasLegend, isBoundingBoxDisplayed, isDisplayed, isLegendDisplayed, negative, removeDrawableListener, setBoundingBoxColor, setBoundingBoxDisplayed, setLegend, setLegendDisplayed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.jzy3d.surfedit.surface.IInteractiveSurface
getFaceDisplayed, getWireframeColor, getWireframeDisplayed, getWireframeWidth, setFaceDisplayed, setWireframeDisplayed, setWireframeWidth
 

Field Detail

nI

protected int nI

nJ

protected int nJ

grid

protected org.jzy3d.maths.Grid grid

cellIndex

protected CellIndex cellIndex

highlighter

protected Highlighter highlighter

mapper

protected org.jzy3d.colors.ColorMapper mapper

highlightColorTransform

protected ICellHighlightColorTransform highlightColorTransform

alpha

protected float alpha

pointColor

protected org.jzy3d.colors.Color pointColor

pointSize

protected float pointSize

pointDisplayed

protected boolean pointDisplayed

quadMap

protected Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<Integer,Integer>> quadMap

lastNodeProjection

protected org.jzy3d.maths.Coord3d[][] lastNodeProjection

lastCellProjection

protected org.jzy3d.maths.PolygonArray[][] lastCellProjection
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

rebuildDrawables

protected void rebuildDrawables()

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.selectable.Selectable

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)
Description copied from interface: IInteractiveSurface
Set the wireframe color.

Specified by:
setWireframeColor in interface IInteractiveSurface
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 Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<Integer,Integer>> getQuadMap()

getHull2d

public org.jzy3d.maths.Polygon2d getHull2d()
Specified by:
getHull2d in interface org.jzy3d.plot3d.primitives.selectable.Selectable

getLastProjection

public List<org.jzy3d.maths.Coord3d> getLastProjection()
Specified by:
getLastProjection in interface org.jzy3d.plot3d.primitives.selectable.Selectable

buildQuadMap

protected Map<org.jzy3d.maths.PolygonArray,org.jzy3d.maths.Pair<Integer,Integer>> buildQuadMap(CellIndex index)
Allows retrieving a reference to the input point (i,j) to which each quad is attached.



Copyright © 2014. All rights reserved.