Public Methods | |
Engine () | |
~Engine () | |
void | drawFace (INDEX_FACE iface, SCENE *s) |
void | drawObject (INDEX_OBJECT iobject, SCENE *s) |
void | drawSuperVolume (SVOLUME v, SCENE *s) |
void | drawScene (SCENE *s) |
void | display (int) |
void | startTimer (void) |
void | stopTimer (const char *msg) |
int | loadFile (const char *fileName) |
void | setOrthoProjection (double x1, double y1, double x2, double y2) |
void | xyzview (int param) |
Data Fields | |
Lighting * | lighting |
takes care of the light model | |
Figures * | figures |
helps with some figures like axis and BBox | |
Mouse * | mouse |
an instance of mouse taking the mouse actions | |
int | axisSize |
size of the 3 axis | |
bool | drawAxis |
draw axis ON/OFF | |
bool | drawEdges |
draw the edges ON/OFF | |
bool | drawMaterial |
draw material ON/OFF | |
bool | drawBoundingBox |
draw BB ON/OFF | |
bool | drawSpot |
draw spots ON/OFF | |
bool | ready |
scene display is ready ? If not, some actions are skipped | |
SCENE * | scene |
OBJECT describing the scene. | |
Private Attributes | |
TessPoly * | tessPoly |
structure used for tesselation | |
timeb | tstart |
the start time of an event |
|
Engine constructor. Constructs TessPoly, Lighting, Figures and Mouse objects Inits the others parameters |
|
Engine Destructor Frees scene and destroys TessPoly |
|
Main display function Clears the current buffer, sets the Projection/Perspective mode According to parameters, draws BBos, Axis and spots
|
|
Drawing a single face
|
|
Draws the objects of the structure SCENE
|
|
Draws an instance of strucure SCENE
|
|
Handles the super volumes of the structure SCENE
|
|
Adds a file containing a 3D modelisation in the dat format to the scene or just loads it, allocating the scene object by the way
|
|
Sets the orthogonal projection on a rectangle in world coordinates Note that aspect ratio is conserved.
|
|
Gets starting time of an event |
|
Displays the duration since last call to startTimer
|
|
Sets the view to perspective or 3 types of orthogonal projection 0 : OXZ plane projection with perspective 1 : OXZ plane projection 2 : OXY plane projection 3 : OYZ plane projection
|
|
size of the 3 axis
|
|
draw axis ON/OFF
|
|
draw BB ON/OFF
|
|
draw the edges ON/OFF
|
|
draw material ON/OFF
|
|
draw spots ON/OFF
|
|
helps with some figures like axis and BBox
|
|
takes care of the light model
|
|
an instance of mouse taking the mouse actions
|
|
scene display is ready ? If not, some actions are skipped
|
|
OBJECT describing the scene.
|
|
structure used for tesselation
|
|
the start time of an event
|