org.jzy3d.plot3d.primitives.enlightables
Class EnlightableSphere

java.lang.Object
  extended by org.jzy3d.plot3d.primitives.AbstractDrawable
      extended by org.jzy3d.plot3d.primitives.AbstractWireframeable
          extended by org.jzy3d.plot3d.primitives.enlightables.Enlightable
              extended by org.jzy3d.plot3d.primitives.enlightables.EnlightableSphere
All Implemented Interfaces:
ISingleColorable, IGLRenderer, ISortableDraw, IWireframeable

public class EnlightableSphere
extends Enlightable
implements ISingleColorable

A Sphere allows rendering a sphere.
The position and shape of a Sphere3d is defined through its setData() method. Moreover, a Sphere3d is Wireframeable3d and support only one color that is defined trough its setColor() method.

Author:
Martin Pernollet

Constructor Summary
EnlightableSphere()
          Initialize a black sphere at the origin with a radius of 10, and slicing of 15.
EnlightableSphere(Coord3d position, float radius, int slicing, Color color)
          Initialize a sphere with the given parameters.
 
Method Summary
 void draw(javax.media.opengl.GL gl, javax.media.opengl.glu.GLU glu, Camera cam)
          Call OpenGL routines for rendering the object.
 Color getColor()
          Get the color.
 void setColor(Color color)
          Set the color.
 void setData(Coord3d position, float radius, float height, int slices, int stacks)
          Set the sphere data.
 void setPosition(Coord3d position)
          Set the position of the Sphere and the dimensions of its boundingbox.
 void setSlicing(int verticalWires, int horizontalWires)
          Set the sphere slicing parameters, i.e. the subtlety of the circle estimation.
 void setVolume(float radius)
          Set the radius of the sphere, and the dimensions of its boundingbox.
 java.lang.String toString(int depth)
           
 
Methods inherited from class org.jzy3d.plot3d.primitives.enlightables.Enlightable
getMaterialAmbiantReflection, getMaterialDiffuseReflection, getMaterialEmission, getMaterialShininess, getMaterialSpecularReflection, setMaterialAmbiantReflection, setMaterialDiffuseReflection, setMaterialEmission, setMaterialShininess, setMaterialSpecularReflection
 
Methods inherited from class org.jzy3d.plot3d.primitives.AbstractWireframeable
getFaceDisplayed, getWireframeColor, getWireframeDisplayed, getWireframeWidth, setFaceDisplayed, setWireframeColor, setWireframeDisplayed, setWireframeWidth
 
Methods inherited from class org.jzy3d.plot3d.primitives.AbstractDrawable
addDrawableListener, dispose, getBarycentre, getBounds, getDistance, getFace, getLongestDistance, getShortestDistance, getTransform, hasFace, isDisplayed, isFace2dDisplayed, removeDrawableListener, setDisplayed, setLegend, setLegendDisplayed, setTransform, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EnlightableSphere

public EnlightableSphere()
Initialize a black sphere at the origin with a radius of 10, and slicing of 15.


EnlightableSphere

public EnlightableSphere(Coord3d position,
                         float radius,
                         int slicing,
                         Color color)
Initialize a sphere with the given parameters.

Method Detail

draw

public void draw(javax.media.opengl.GL gl,
                 javax.media.opengl.glu.GLU glu,
                 Camera cam)
Description copied from class: AbstractDrawable
Call OpenGL routines for rendering the object.

Specified by:
draw in interface IGLRenderer
Specified by:
draw in class AbstractDrawable
Parameters:
gl - GL context
glu - GLU context
cam - a reference to a shooting Camera.

setData

public void setData(Coord3d position,
                    float radius,
                    float height,
                    int slices,
                    int stacks)
Set the sphere data.

Parameters:
position - sphere position (may be handled differently in future version)
radius - radius of the sphere
slices - number of vertical slices (i.e. wireframes)
stacks - number of horizontal stacks (i.e. wireframes)

setPosition

public void setPosition(Coord3d position)
Set the position of the Sphere and the dimensions of its boundingbox. Note that this position will be use to translate the object before drawing it (meaning a glTranslate(position) is performed right after the Translate.execute).

Parameters:
position -

setVolume

public void setVolume(float radius)
Set the radius of the sphere, and the dimensions of its boundingbox.

Parameters:
radius - sphere radius

setSlicing

public void setSlicing(int verticalWires,
                       int horizontalWires)
Set the sphere slicing parameters, i.e. the subtlety of the circle estimation.

Parameters:
verticalWires - number of vertical slices
horizontalWires - number of horizontal slices

setColor

public void setColor(Color color)
Description copied from interface: ISingleColorable
Set the color.

Specified by:
setColor in interface ISingleColorable
Parameters:
color - the color

getColor

public Color getColor()
Description copied from interface: ISingleColorable
Get the color.

Specified by:
getColor in interface ISingleColorable
Returns:
color the color.

toString

public java.lang.String toString(int depth)
Overrides:
toString in class AbstractDrawable