Files | |
file | ogl.h |
Class Ogl: a virtual (window system-independent) OpenGL object. | |
Classes | |
struct | sOgl |
Class Ogl: Definition. More... | |
Typedefs | |
typedef struct sOgl | Ogl |
Declaration of the Ogl class as the Ogl structure. | |
Functions | |
Ogl * | Ogl_ctor (int frameMode, int orthoMode) |
Construct an Ogl object. | |
void | Ogl_dtor (Ogl **thee) |
Ogl object destructor. | |
void | Ogl_initBegin (Ogl *thee) |
Initialize the OpenGL context. | |
void | Ogl_initEnd (Ogl *thee) |
Initialize the OpenGL context. | |
void | Ogl_beginList (Ogl *thee, int list, int show) |
Make a generic display list. | |
void | Ogl_endList (Ogl *thee) |
Make a generic display list. | |
void | Ogl_addListObject (Ogl *thee, int type, int numPV, float vx[][3], float c[4], float r, char text[]) |
Make a generic display list. | |
void | Ogl_reshape (Ogl *thee, int w, int h) |
The main 3D==>2D Projection function. | |
void | Ogl_display (Ogl *thee) |
Main OpenGL display driver. | |
int | Ogl_lightModeOnOff (Ogl *thee) |
Some simple callback routines to manipulate the object. | |
int | Ogl_orthoModeOnOff (Ogl *thee) |
Some simple callback routines to manipulate the object. | |
int | Ogl_frameModeOnOff (Ogl *thee) |
Some simple callback routines to manipulate the object. | |
int | Ogl_ballModeOnOff (Ogl *thee) |
Some simple callback routines to manipulate the object. | |
int | Ogl_bboxModeOnOff (Ogl *thee) |
Some simple callback routines to manipulate the object. | |
int | Ogl_listModeOnOff (Ogl *thee, int list) |
Some simple callback routines to manipulate the object. | |
int | Ogl_isList (Ogl *thee, int list) |
Some simple callback routines to manipulate the object. | |
int | Ogl_isListOn (Ogl *thee, int list) |
Some simple callback routines to manipulate the object. | |
void | Ogl_setMouseMode (Ogl *thee, int value) |
Primary rotation/scaling/translation routines. | |
void | Ogl_mouseDown (Ogl *thee, int x, int y) |
Primary rotation/scaling/translation routines. | |
void | Ogl_mouseUp (Ogl *thee, int x, int y) |
Primary rotation/scaling/translation routines. | |
void | Ogl_mouseMotion (Ogl *thee, int x, int y) |
Primary rotation/scaling/translation routines. | |
int | Ogl_spin (Ogl *thee) |
Primary rotation/scaling/translation routines. | |
void | Ogl_resetPos (Ogl *thee) |
Some simple callback routines to manipulate the object. |
void Ogl_addListObject | ( | Ogl * | thee, | |
int | type, | |||
int | numPV, | |||
float | vx[][3], | |||
float | c[4], | |||
float | r, | |||
char | text[] | |||
) |
Make a generic display list.
thee | Pointer to the Ogl object. | |
type | index for type options type==0 ==> edges (a line strip) type==1 ==> filled polygon type==3 ==> text type==4 ==> 2-sphere (coarse resolution) type==5 ==> 2-sphere (medium resolution) type==6 ==> 2-sphere (fine resolution) | |
numPV | number of different point/line/polygon | |
vx | vertex coordinates | |
c | parameter array | |
r | coeficient to scale vertex coordinates. | |
text | text char array |
int Ogl_ballModeOnOff | ( | Ogl * | thee | ) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. |
int Ogl_bboxModeOnOff | ( | Ogl * | thee | ) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. |
void Ogl_beginList | ( | Ogl * | thee, | |
int | list, | |||
int | show | |||
) |
Make a generic display list.
thee | Pointer to the Ogl object. | |
list | index for list options. | |
show | index for displaying the list or not. |
Ogl* Ogl_ctor | ( | int | frameMode, | |
int | orthoMode | |||
) |
Construct an Ogl object.
frameMode | frame (0=centered, 1=offset) | |
orthoMode | projection (0=perspect, 1=ortho) |
void Ogl_display | ( | Ogl * | thee | ) |
Main OpenGL display driver.
* Notes: We use the Z-buffer here for hidden line and hidden surface * removal. We just have to make sure that we get a visual * device with some Z-buffer bits, and that we don't mess up the * transformations so that the Z-axis points somewhere other than * positively straight at the eye. * * Frame codes: * * If "frameMode==0", we draw only the frame 4 lists (4-9), * centered in frame 1 show below, regardless of window shape. * * If "frameMode==1", we draw frame 1,2,3,4 lists (0-9), in the * appropriate frames. * * ._____._____._____. ._____._____._____. ._____._____....... * | | | | | | | . * | | | | 2 | | | . * | 1 | | 4 |_____| | ? |...... * | | | | | | | . * | | | | 3 | | | . * |_____._____._____| |_____._____|_____| |_____._____....... * * Display list codes: * * List Frame Type * * 0 1 non-rotating, non-lighted * 1 1 non-rotating, non-lighted * 2 2 non-rotating, non-lighted * 3 3 non-rotating, non-lighted * * 4 4 non-rotating, non-lighted * 5 4 rotating, non-lighted * 6 4 rotating, non-lighted * 7 4 rotating, lighted * 8 4 rotating, lighted * 9 4 non-rotating, lighted *
thee | Pointer to the Ogl object. |
void Ogl_dtor | ( | Ogl ** | thee | ) |
Ogl object destructor.
thee | Pointer to the Ogl object. |
void Ogl_endList | ( | Ogl * | thee | ) |
Make a generic display list.
thee | Pointer to the Ogl object. |
int Ogl_frameModeOnOff | ( | Ogl * | thee | ) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. |
void Ogl_initBegin | ( | Ogl * | thee | ) |
Initialize the OpenGL context.
thee | Pointer to the Ogl object. |
void Ogl_initEnd | ( | Ogl * | thee | ) |
Initialize the OpenGL context.
thee | Pointer to the Ogl object. |
int Ogl_isList | ( | Ogl * | thee, | |
int | list | |||
) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. | |
list | index for list options. |
int Ogl_isListOn | ( | Ogl * | thee, | |
int | list | |||
) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. | |
list | index for list options. |
int Ogl_lightModeOnOff | ( | Ogl * | thee | ) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. |
int Ogl_listModeOnOff | ( | Ogl * | thee, | |
int | list | |||
) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. | |
list | index for list options. |
void Ogl_mouseDown | ( | Ogl * | thee, | |
int | x, | |||
int | y | |||
) |
Primary rotation/scaling/translation routines.
thee | Pointer to the Ogl object. | |
x | width parameter | |
y | height parameter |
void Ogl_mouseMotion | ( | Ogl * | thee, | |
int | x, | |||
int | y | |||
) |
Primary rotation/scaling/translation routines.
thee | Pointer to the Ogl object. | |
x | width parameter | |
y | height parameter |
void Ogl_mouseUp | ( | Ogl * | thee, | |
int | x, | |||
int | y | |||
) |
Primary rotation/scaling/translation routines.
thee | Pointer to the Ogl object. | |
x | width parameter | |
y | height parameter |
int Ogl_orthoModeOnOff | ( | Ogl * | thee | ) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. |
void Ogl_resetPos | ( | Ogl * | thee | ) |
Some simple callback routines to manipulate the object.
thee | Pointer to the Ogl object. |
void Ogl_reshape | ( | Ogl * | thee, | |
int | w, | |||
int | h | |||
) |
The main 3D==>2D Projection function.
thee | Pointer to the Ogl object. | |
w | width of the plotbox | |
h | height of the plotbox |
void Ogl_setMouseMode | ( | Ogl * | thee, | |
int | value | |||
) |
Primary rotation/scaling/translation routines.
thee | Pointer to the Ogl object. | |
value | value of mouse (0=rotate, 1=scale, 2=translate) |
int Ogl_spin | ( | Ogl * | thee | ) |
Primary rotation/scaling/translation routines.
thee | Pointer to the Ogl object. |