summaryrefslogtreecommitdiffstats
path: root/tools/globalcode/utility/GLExt.h
blob: ae62a4fed3f7976094fb274f795af0c9bba6c0e8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
#ifndef _GLEXT_H
#define _GLEXT_H
//-----------------------------------------------------------------------------
// Copyright (C) 2001 Radical Entertainment Ltd.  All rights reserved.
//
// GLExt.h
//
// Description: Functions that do drawing using the OpenGL API. 
//
// Modification History:
//  + Created Aug 21, 2001 -- bkusy 
//  + grossly modified by Cary Brisebois
//-----------------------------------------------------------------------------

//----------------------------------------
// System Includes
//----------------------------------------

//----------------------------------------
// Project Includes
//----------------------------------------

//----------------------------------------
// Forward References
//----------------------------------------
class MPoint;

//----------------------------------------
// Constants, Typedefs and Statics
//----------------------------------------

class GLExt
{
public:
    static void drawCamera3D( double scale, double tx = 0.0f,
                                            double ty = 0.0f,
                                            double tz = 0.0f,
                                            float width = 1.0f );

    static void drawCrossHair3D( double scale, double tx = 0.0f,
                                               double ty = 0.0f,
                                               double tz = 0.0f,
                                               float width = 1.0f );

    static void drawCrossHair3D( double scale, 
                                 const MPoint& p,
                                 float width = 1.0f );


    static void drawPyramid( double scale, double tx = 0.0f, 
                                           double ty = 0.0f,
                                           double tz = 0.0f,
                                           float width = 1.0f );

    static void drawPyramid( double scale, 
                             const MPoint& p0,
                             float width = 1.0f );

    static void drawLine( double x0, double y0, double z0, 
                          double x1, double y1, double z1,
                          float width = 1.0f );

    static void drawLine( const MPoint& p0, 
                          const MPoint& p1, 
                          float width = 1.0f );

    static void drawArrow( const MPoint& p0, 
                           const MPoint& p1,
                           float width = 1.0f,
                           float scale = 6.0f );

    static void drawBox( double x0, double y0, double z0, 
                         double x1, double y1, double z1,
                         float width = 1.0f );       

    static void drawBox( const MPoint& p0, 
                         const MPoint& p1,
                         float width = 1.0f );

    static void drawSphere( double scale, double tx = 0, 
                            double ty = 0, double tz = 0,
                            float width = 1.0f );

    static void drawSphere( double scale, 
                            const MPoint& p,
                            float width = 1.0f );
    
    static void drawXZPlane( double xscale,
                             double yscale,
                             double zscale, 
                             double x0, 
                             double z0,
                             double x1, 
                             double z1, 
                             double y,
                             float width = 1.0f
                           );

    static void drawXZPlane( double xscale,
                             double yscale,
                             double zscale, 
                             const MPoint& v0, 
                             const MPoint& v1,
                             float width = 1.0f 
                           );
    static void drawP( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawStickMan( double scale, 
                              double tx = 0, 
                              double ty = 0, 
                              double tz = 0, 
                              float width = 1.0f );

    static void drawCar( double scale, 
                         double tx = 0, 
                         double ty = 0, 
                         double tz = 0, 
                         float width = 1.0f );

    static void drawA( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawD( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawE( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawS( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawCross( double scale, 
                           double tx = 0, 
                           double ty = 0, 
                           double tz = 0, 
                           float width = 1.0f );

    static void drawLBolt( double scale, 
                           double tx = 0, 
                           double ty = 0, 
                           double tz = 0, 
                           float width = 1.0f );

    static void drawI( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawW( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawM( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width = 1.0f );

    static void drawC( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width  = 1.0f );

    static void drawO( double scale, 
                       double tx = 0, 
                       double ty = 0, 
                       double tz = 0, 
                       float width  = 1.0f );
};

#endif