org::scilab::modules::renderer::utils::MarkDrawing::CircleMarkDrawer Class Reference

Inheritance diagram for org::scilab::modules::renderer::utils::MarkDrawing::CircleMarkDrawer:

Inheritance graph
[legend]
Collaboration diagram for org::scilab::modules::renderer::utils::MarkDrawing::CircleMarkDrawer:

Collaboration graph
[legend]

Public Member Functions

 CircleMarkDrawer ()
void drawMark (GL gl, double[] backColor, double[] frontColor)

Static Private Attributes

static final int NB_SLICES = 64

Detailed Description

Class specialized in drawing circle marks
Author:
Jean-Baptiste Silvy

Definition at line 23 of file CircleMarkDrawer.java.


Constructor & Destructor Documentation

org::scilab::modules::renderer::utils::MarkDrawing::CircleMarkDrawer::CircleMarkDrawer (  )  [inline]

Default constructor

Definition at line 31 of file CircleMarkDrawer.java.

00031                                   {
00032                 super();
00033         }


Member Function Documentation

void org::scilab::modules::renderer::utils::MarkDrawing::CircleMarkDrawer::drawMark ( GL  gl,
double[]  backColor,
double[]  frontColor 
) [inline, virtual]

Draw a circle

Parameters:
gl OpenGL pipeline to use
backColor RGB color of mark background
frontColor RGB color of mark foreground

Implements org::scilab::modules::renderer::utils::MarkDrawing::MarkDrawingStrategy.

Reimplemented in org::scilab::modules::renderer::utils::MarkDrawing::StarMarkDrawer.

Definition at line 41 of file CircleMarkDrawer.java.

References i, and NB_SLICES.

00041                                                                              {
00042                 // disk
00043                 gl.glColor3d(backColor[0], backColor[1], backColor[2]);
00044                 GLU glu = new GLU();
00045                 glu.gluDisk(glu.gluNewQuadric(), 0.0, 1.0, NB_SLICES, 1);
00046                 
00047                 
00048                 // circle
00049                 gl.glColor3d(frontColor[0], frontColor[1], frontColor[2]);
00050                 gl.glBegin(GL.GL_LINE_LOOP);
00051                 for (int i = 0; i < NB_SLICES; i++) {
00052                         double angle = 2.0 * Math.PI * i / NB_SLICES;
00053                         gl.glVertex3d(Math.cos(angle), Math.sin(angle), 0.0);
00054                 }
00055                 gl.glEnd();
00056                 
00057 
00058         }


Field Documentation

number of slice for the circle

Definition at line 26 of file CircleMarkDrawer.java.

Referenced by drawMark().


The documentation for this class was generated from the following file:

Generated on Tue Sep 9 18:30:07 2008 for Scilab [trunk] by  doxygen 1.5.5