doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
splines.h
Go to the documentation of this file.
1 /*
2 ===========================================================================
3 
4 Doom 3 GPL Source Code
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
6 
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
8 
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13 
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
21 
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
23 
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25 
26 ===========================================================================
27 */
28 
29 #ifndef __SPLINES_H__
30 #define __SPLINES_H__
31 
32 extern void glBox(idVec4 &color, idVec3 &point, float size);
33 extern void glLabeledPoint(idVec4 &color, idVec3 &point, float size, const char *label);
34 
35 
37 public:
40 
41  virtual int numPoints() { return 0; }
42  virtual void addPoint( const float x, const float y, const float z ) {}
43  virtual void addPoint( const idVec3 &v ) {}
44  virtual void removePoint( int index ) {}
45  virtual idVec3 * getPoint( int index ) { return NULL; }
46 
47  int numSelectedPoints() { return selectedPoints.Num(); }
48  idVec3 * getSelectedPoint( int index );
49  int selectPointByRay( const idVec3 &origin, const idVec3 &direction, bool single );
50  int isPointSelected( int index );
51  int selectPoint( int index, bool single );
52  void selectAll();
53  void deselectAll();
54  virtual void updateSelection( const idVec3 &move );
55  void drawSelection();
56 
57 protected:
59 };
60 
61 
62 class idSplineList {
63  friend class idCamera;
64 
65 public:
66 
68  idSplineList( const char *p ) { clear(); name = p; }
70 
71  void clearControl();
72  void clearSpline();
73  void parse( idParser *src );
74  void write( idFile *f, const char *name );
75 
76  void clear();
77  void initPosition( long startTime, long totalTime );
78  const idVec3 * getPosition( long time );
79 
80  void draw( bool editMode );
81  void addToRenderer();
82 
83  void setSelectedPoint( idVec3 *p );
85 
86  void addPoint( const idVec3 &v ) { controlPoints.Append(new idVec3(v) ); dirty = true; }
87  void addPoint( float x, float y, float z ) { controlPoints.Append(new idVec3(x, y, z)); dirty = true; }
88 
89  void updateSelection(const idVec3 &move);
90  void startEdit() { editMode = true; }
91  void stopEdit() { editMode = false; }
92  void buildSpline();
93  void setGranularity( float f ) { granularity = f; }
94  float getGranularity() { return granularity; }
95 
96  int numPoints() { return controlPoints.Num(); }
97  idVec3 * getPoint(int index) { assert(index >= 0 && index < controlPoints.Num()); return controlPoints[index]; }
98  idVec3 * getSegmentPoint(int index) { assert(index >= 0 && index < splinePoints.Num()); return splinePoints[index]; }
99  void setSegmentTime(int index, int time) { assert(index >= 0 && index < splinePoints.Num()); splineTime[index] = time; }
100  int getSegmentTime(int index) { assert(index >= 0 && index < splinePoints.Num()); return splineTime[index]; }
101  void addSegmentTime(int index, int time) { assert(index >= 0 && index < splinePoints.Num()); splineTime[index] += time; }
102  float totalDistance();
103 
104  int getActiveSegment() { return activeSegment; }
105  void setActiveSegment( int i ) { /* assert(i >= 0 && (splinePoints.Num() > 0 && i < splinePoints.Num())); */ activeSegment = i; }
106  int numSegments() { return splinePoints.Num(); }
107 
108  void setColors(idVec4 &path, idVec4 &segment, idVec4 &control, idVec4 &active);
109 
110  const char * getName() { return name.c_str(); }
111  void setName( const char *p ) { name = p; }
112 
113  bool validTime();
114  void setTime( long t ) { time = t; }
115  void setBaseTime( long t ) { baseTime = t; }
116 
117 protected:
119  float calcSpline(int step, float tension);
125  float granularity;
126  bool editMode;
127  bool dirty;
129  long baseTime;
130  long time;
131 };
132 
133 // time in milliseconds
134 // velocity where 1.0 equal rough walking speed
135 struct idVelocity {
136  idVelocity( long start, long duration, float s ) { startTime = start; time = duration; speed = s; }
137  long startTime;
138  long time;
139  float speed;
140 };
141 
142 // can either be a look at or origin position for a camera
144 public:
145 
146  idCameraPosition() { time = 0; name = "position"; }
147  idCameraPosition( const char *p ) { name = p; }
148  idCameraPosition( long t ) { time = t; }
149  virtual ~idCameraPosition() { clear(); }
150 
151  // this can be done with RTTI syntax but i like the derived classes setting a type
152  // makes serialization a bit easier to see
153  //
155  FIXED = 0x00,
159  };
160 
161  virtual void clearVelocities();
162  virtual void clear() { editMode = false; time = 5000; clearVelocities(); }
163  virtual void start( long t ) { startTime = t; }
164  long getTime() { return time; }
165  virtual void setTime(long t) { time = t; }
166  float getVelocity( long t );
167  float getBaseVelocity() { return baseVelocity; }
168  void addVelocity( long start, long duration, float speed ) { velocities.Append(new idVelocity(start, duration, speed)); }
169  virtual const idVec3 *getPosition( long t ) { return NULL; }
170  virtual void draw( bool editMode ) {};
171  virtual void parse( idParser *src ) {};
172  virtual void write( idFile *f, const char *name);
173  virtual bool parseToken( const idStr &key, idParser *src );
174  const char * getName() { return name.c_str(); }
175  void setName( const char *p ) { name = p; }
176  virtual void startEdit() { editMode = true; }
177  virtual void stopEdit() { editMode = false; }
178  virtual void draw() {};
179  const char * typeStr() { return positionStr[static_cast<int>(type)]; }
180  void calcVelocity( float distance ) { float secs = (float)time / 1000; baseVelocity = distance / secs; }
181 
182 protected:
183  static const char * positionStr[POSITION_COUNT];
184  long startTime;
185  long time;
188  bool editMode;
191 };
192 
194 public:
195 
199 
201 
202  virtual void addPoint( const idVec3 &v ) { pos = v; }
203  virtual void addPoint( const float x, const float y, const float z ) { pos.Set(x, y, z); }
204  virtual const idVec3 *getPosition( long t ) { return &pos; }
205  void parse( idParser *src );
206  void write( idFile *f, const char *name );
207  virtual int numPoints() { return 1; }
208  virtual idVec3 * getPoint( int index ) { assert( index == 0 ); return &pos; }
209  virtual void draw( bool editMode ) { glLabeledPoint(colorBlue, pos, (editMode) ? 5 : 3, "Fixed point"); }
210 
211 protected:
213 };
214 
216 public:
220 
222 
223  virtual const idVec3 *getPosition(long t);
224  void parse( idParser *src );
225  void write( idFile *f, const char *name );
226  virtual int numPoints() { return 2; }
227  virtual idVec3 * getPoint( int index );
228  virtual void addPoint( const float x, const float y, const float z );
229  virtual void addPoint( const idVec3 &v );
230  virtual void draw( bool editMode );
231  virtual void start( long t );
232 
233 protected:
234  bool first;
237  long lastTime;
238  float distSoFar;
239 };
240 
242 public:
243 
245  idSplinePosition( long time ) : idCameraPosition( time ) { init(); }
247 
249  virtual void start( long t );
250  virtual const idVec3 *getPosition( long t );
252  void parse( idParser *src );
253  void write( idFile *f, const char *name );
254  virtual int numPoints() { return target.numPoints(); }
255  virtual idVec3 * getPoint( int index ) { return target.getPoint(index); }
256  virtual void addPoint( const idVec3 &v ) { target.addPoint( v ); }
257  virtual void draw( bool editMode ) { target.draw( editMode ); }
259 
260 protected:
262  long lastTime;
263  float distSoFar;
264 };
265 
266 class idCameraFOV {
267 public:
268  idCameraFOV() { time = 0; fov = 90; }
269  idCameraFOV( int v ) { time = 0; fov = v; }
270  idCameraFOV( int s, int e, long t ) { startFOV = s; endFOV = e; time = t; }
272 
273  void SetFOV( float f ) { fov = f; }
274  float GetFOV( long t );
275  void start( long t ) { startTime = t; }
276  void reset( float startfov, float endfov, int start, int len );
277  void parse( idParser *src );
278  void write( idFile *f, const char *name );
279 
280 protected:
281  float fov;
282  float startFOV;
283  float endFOV;
285  int time;
286  int length;
287 };
288 
290 public:
291  enum eventType {
292  EVENT_NA = 0x00,
307  };
308 
310  idCameraEvent( eventType t, const char *param, long n ) { type = t; paramStr = param; time = n; }
312 
313  eventType getType() { return type; }
314  const char * typeStr() { return eventStr[static_cast<int>(type)]; }
315  const char * getParam() { return paramStr.c_str(); }
316  long getTime() { return time; }
317  void setTime(long n) { time = n; }
318  void parse( idParser *src );
319  void write( idFile *f, const char *name );
320  void setTriggered( bool b ) { triggered = b; }
321  bool getTriggered() { return triggered; }
322 
323  static const char * eventStr[EVENT_COUNT];
324 
325 protected:
328  long time;
329  bool triggered;
330 
331 };
332 
333 class idCameraDef {
334 public:
337 
338  void clear();
340  void addEvent( idCameraEvent::eventType t, const char *param, long time );
341  void addEvent( idCameraEvent *event );
342  static int sortEvents( const void *p1, const void *p2 );
343  int numEvents() { return events.Num(); }
344  idCameraEvent * getEvent(int index) { assert(index >= 0 && index < events.Num()); return events[index]; }
345  void parse( idParser *src );
346  bool load( const char *filename );
347  void save( const char *filename );
348  void buildCamera();
349 
350  void addTarget( const char *name, idCameraPosition::positionType type );
351 
354  int numTargets() { return targetPositions.Num(); }
355  void setActiveTargetByName(const char *name);
356  void setActiveTarget( int index );
357  void setRunning( bool b ) { cameraRunning = b; }
358  void setBaseTime( float f ) { baseTime = f; }
359  float getBaseTime() { return baseTime; }
360  float getTotalTime() { return totalTime; }
361  void startCamera( long t );
362  void stopCamera() { cameraRunning = true; }
363  void getActiveSegmentInfo(int segment, idVec3 &origin, idVec3 &direction, float *fv);
364  bool getCameraInfo(long time, idVec3 &origin, idVec3 &direction, float *fv);
365  void draw( bool editMode );
366  int numPoints();
367  const idVec3 * getPoint( int index );
368  void stopEdit();
369  void startEdit( bool camera );
370  bool waitEvent( int index );
371  const char * getName() { return name.c_str(); }
372  void setName( const char *p ) { name = p; }
374 
376 
377 protected:
387  float totalTime;
388  float baseTime;
389  long startTime;
390 
392  bool editMode;
393 };
394 
395 extern bool g_splineMode;
396 
397 extern idCameraDef *g_splineList;
398 
399 #endif /* !__SPLINES_H__ */
virtual int numPoints()
Definition: splines.h:207
byte color[4]
Definition: MegaTexture.cpp:54
void clearControl()
Definition: splines.cpp:276
void stopEdit()
Definition: splines.h:91
float getTotalTime()
Definition: splines.h:360
bool editMode
Definition: splines.h:392
void calcVelocity(float distance)
Definition: splines.h:180
void setBaseTime(long t)
Definition: splines.h:115
float calcSpline(int step, float tension)
Definition: splines.cpp:556
virtual const idVec3 * getPosition(long t)
Definition: splines.h:169
assert(prefInfo.fullscreenBtn)
const char * typeStr()
Definition: splines.h:314
virtual void parse(idParser *src)
Definition: splines.h:171
float fov
Definition: splines.h:281
idVec3 lastDirection
Definition: splines.h:380
virtual int numPoints()
Definition: splines.h:41
void updateSelection(const idVec3 &move)
Definition: splines.cpp:571
int numPoints()
Definition: splines.cpp:879
static const char * positionStr[POSITION_COUNT]
Definition: splines.h:183
int numPoints()
Definition: splines.h:96
int numTargets()
Definition: splines.h:354
virtual bool parseToken(const idStr &key, idParser *src)
Definition: splines.cpp:1541
void stopCamera()
Definition: splines.h:362
float baseVelocity
Definition: splines.h:190
void addSegmentTime(int index, int time)
Definition: splines.h:101
static int sortEvents(const void *p1, const void *p2)
Definition: splines.cpp:1359
const GLdouble * v
Definition: glext.h:2936
idCameraFOV fov
Definition: splines.h:385
float GetFOV(long t)
Definition: splines.cpp:1778
void stopEdit()
Definition: splines.cpp:903
long startTime
Definition: splines.h:137
virtual idVec3 * getPoint(int index)
Definition: splines.h:255
void setActiveTargetByName(const char *name)
Definition: splines.cpp:838
idList< idVelocity * > velocities
Definition: splines.h:189
void startEdit()
Definition: splines.h:90
void Set(const float x, const float y, const float z)
Definition: Vector.h:409
~idSplineList()
Definition: splines.h:69
GLenum GLint GLint y
Definition: glext.h:2849
virtual void addPoint(const idVec3 &v)
Definition: splines.h:256
GLfloat param
Definition: glext.h:3038
GLenum GLsizei n
Definition: glext.h:3705
~idCameraEvent()
Definition: splines.h:311
idCameraPosition * startNewCamera(idCameraPosition::positionType type)
Definition: splines.cpp:777
const char * getName()
Definition: splines.h:371
void clear()
Definition: splines.cpp:300
int isPointSelected(int index)
Definition: splines.cpp:179
int currentCameraPosition
Definition: splines.h:379
void setName(const char *p)
Definition: splines.h:111
bool cameraEdit
Definition: splines.h:391
virtual idVec3 * getPoint(int index)
Definition: splines.cpp:1606
idSplineList()
Definition: splines.h:67
virtual void removePoint(int index)
Definition: splines.h:44
virtual void draw(bool editMode)
Definition: splines.h:209
int time
Definition: splines.h:285
Definition: Vector.h:316
case const float
Definition: Callbacks.cpp:62
void addControlPoint(idVec3 &v)
Definition: splines.h:251
bool editMode
Definition: splines.h:126
int length
Definition: splines.h:286
int selectPointByRay(const idVec3 &origin, const idVec3 &direction, bool single)
Definition: splines.cpp:143
idSplineList target
Definition: splines.h:261
virtual void draw()
Definition: splines.h:178
void addTarget(const char *name, idCameraPosition::positionType type)
Definition: splines.cpp:794
static const char * eventStr[EVENT_COUNT]
Definition: splines.h:323
idVec3 * getSelectedPoint(int index)
Definition: splines.cpp:234
bool g_splineMode
GLuint GLuint GLsizei GLenum type
Definition: glext.h:2845
long time
Definition: splines.h:138
~idCameraDef()
Definition: splines.h:336
GLdouble s
Definition: glext.h:2935
GLuint src
Definition: glext.h:5390
GLenum GLsizei len
Definition: glext.h:3472
int activeTarget
Definition: splines.h:386
float endFOV
Definition: splines.h:283
void addVelocity(long start, long duration, float speed)
Definition: splines.h:168
idVec4 activeColor
Definition: splines.h:124
void parse(idParser *src)
Definition: splines.cpp:682
idVelocity(long start, long duration, float s)
Definition: splines.h:136
void setActiveSegment(int i)
Definition: splines.h:105
void buildSpline()
Definition: splines.cpp:405
GLenum GLint x
Definition: glext.h:2849
int i
Definition: process.py:33
virtual void start(long t)
Definition: splines.h:163
void setTime(long t)
Definition: splines.h:114
idSplinePosition(long time)
Definition: splines.h:245
void parse(idParser *src)
Definition: splines.cpp:1443
void addEvent(idCameraEvent::eventType t, const char *param, long time)
Definition: splines.cpp:1388
float totalDistance()
Definition: splines.cpp:490
void write(idFile *f, const char *name)
Definition: splines.cpp:1757
virtual const idVec3 * getPosition(long t)
Definition: splines.cpp:1965
idVec3 * getPoint(int index)
Definition: splines.h:97
void setActiveTarget(int index)
Definition: splines.cpp:852
float getGranularity()
Definition: splines.h:94
virtual int numPoints()
Definition: splines.h:254
idVec3 * getSelectedPoint()
Definition: splines.h:84
void parse(idParser *src)
Definition: splines.cpp:1928
idCameraPosition(const char *p)
Definition: splines.h:147
void glBox(idVec4 &color, idVec3 &point, float size)
Definition: splines.cpp:61
void setGranularity(float f)
Definition: splines.h:93
void parse(idParser *src)
Definition: splines.cpp:1811
idVec4 controlColor
Definition: splines.h:124
Definition: File.h:50
virtual const idVec3 * getPosition(long t)
Definition: splines.cpp:1678
float baseTime
Definition: splines.h:388
void start(long t)
Definition: splines.h:275
const idVec3 * getPosition(long time)
Definition: splines.cpp:601
virtual void addPoint(const idVec3 &v)
Definition: splines.h:43
virtual void addPoint(const float x, const float y, const float z)
Definition: splines.cpp:1619
virtual void addPoint(const idVec3 &v)
Definition: splines.h:202
bool waitEvent(int index)
Definition: splines.cpp:1064
GLuint index
Definition: glext.h:3476
void reset(float startfov, float endfov, int start, int len)
Definition: splines.cpp:1799
void save(const char *filename)
Definition: splines.cpp:1330
idList< idVec3 * > controlPoints
Definition: splines.h:120
Definition: Vector.h:808
void startCamera(long t)
Definition: splines.cpp:1223
bool validTime()
Definition: splines.cpp:331
idStr paramStr
Definition: splines.h:327
GLuint GLuint end
Definition: glext.h:2845
void setColors(idVec4 &path, idVec4 &segment, idVec4 &control, idVec4 &active)
Definition: splines.cpp:319
idList< double > splineTime
Definition: splines.h:122
void clearSpline()
Definition: splines.cpp:288
void init()
Definition: splines.h:200
void clear()
Definition: splines.cpp:751
int selectPoint(int index, bool single)
Definition: splines.cpp:194
#define NULL
Definition: Lib.h:88
idList< idCameraEvent * > events
Definition: splines.h:384
long startTime
Definition: splines.h:389
long getTime()
Definition: splines.h:316
void write(idFile *f, const char *name)
Definition: splines.cpp:1895
idCameraPosition * cameraPosition
Definition: splines.h:382
void setBaseTime(float f)
Definition: splines.h:358
virtual const idVec3 * getPosition(long t)
Definition: splines.h:204
void setTriggered(bool b)
Definition: splines.h:320
static idCameraPosition * newFromType(idCameraPosition::positionType t)
Definition: splines.cpp:1398
const char * path
Definition: sws.c:117
float getBaseVelocity()
Definition: splines.h:167
virtual void addPoint(const float x, const float y, const float z)
Definition: splines.h:203
float speed
Definition: splines.h:139
bool load(const char *filename)
Definition: splines.cpp:1307
idVec4 pathColor
Definition: splines.h:124
virtual void draw(bool editMode)
Definition: splines.h:257
virtual void draw(bool editMode)
Definition: splines.h:170
void setName(const char *p)
Definition: splines.h:175
long time
Definition: splines.h:130
virtual void updateSelection(const idVec3 &move)
Definition: splines.h:258
idCameraFOV()
Definition: splines.h:268
idCameraDef()
Definition: splines.h:335
void startEdit(bool camera)
Definition: splines.cpp:917
virtual void updateSelection(const idVec3 &move)
Definition: splines.cpp:244
idCameraFOV(int s, int e, long t)
Definition: splines.h:270
const char * getName()
Definition: splines.h:174
int numEvents()
Definition: splines.h:343
idCameraPosition * getActiveTarget()
Definition: splines.cpp:813
int getActiveSegment()
Definition: splines.h:104
virtual void clearVelocities()
Definition: splines.cpp:1513
idSplineList(const char *p)
Definition: splines.h:68
float getVelocity(long t)
Definition: splines.cpp:1526
void buildCamera()
Definition: splines.cpp:1081
eventType getType()
Definition: splines.h:313
void getActiveSegmentInfo(int segment, idVec3 &origin, idVec3 &direction, float *fv)
Definition: splines.cpp:948
void parse(idParser *src)
Definition: splines.cpp:1869
idVec3 * getSegmentPoint(int index)
Definition: splines.h:98
eventType type
Definition: splines.h:326
GLubyte GLubyte b
Definition: glext.h:4662
idCameraEvent * getEvent(int index)
Definition: splines.h:344
void setSegmentTime(int index, int time)
Definition: splines.h:99
void write(idFile *f, const char *name)
Definition: splines.cpp:1847
const char * getName()
Definition: splines.h:110
idCameraPosition(long t)
Definition: splines.h:148
void addPoint(float x, float y, float z)
Definition: splines.h:87
virtual idVec3 * getPoint(int index)
Definition: splines.h:45
virtual void clear()
Definition: splines.h:162
virtual ~idCameraPosition()
Definition: splines.h:149
int Append(const type &obj)
Definition: List.h:646
bool cameraRunning
Definition: splines.h:381
int getSegmentTime(int index)
Definition: splines.h:100
void setName(const char *p)
Definition: splines.h:372
void parse(idParser *src)
Definition: splines.cpp:1728
float getBaseTime()
Definition: splines.h:359
virtual idVec3 * getPoint(int index)
Definition: splines.h:208
const idVec3 * getPoint(int index)
Definition: splines.cpp:891
idInterpolatedPosition(idVec3 start, idVec3 end, long time)
Definition: splines.h:218
void glLabeledPoint(idVec4 &color, idVec3 &point, float size, const char *label)
Definition: splines.cpp:42
void setTime(long n)
Definition: splines.h:317
void setSelectedPoint(idVec3 *p)
Definition: splines.cpp:583
tuple f
Definition: idal.py:89
float distSoFar
Definition: splines.h:263
int activeSegment
Definition: splines.h:128
bool getTriggered()
Definition: splines.h:321
int Num(void) const
Definition: List.h:265
idList< int > selectedPoints
Definition: splines.h:58
const GLcharARB * name
Definition: glext.h:3629
bool triggered
Definition: splines.h:329
void initPosition(long startTime, long totalTime)
Definition: splines.cpp:518
GLsizeiptr size
Definition: glext.h:3112
void draw(bool editMode)
Definition: splines.cpp:430
void parse(idParser *src)
Definition: splines.cpp:1239
virtual void start(long t)
Definition: splines.cpp:1915
const char * getParam()
Definition: splines.h:315
Definition: Str.h:116
virtual int numPoints()
Definition: splines.h:226
bool getCameraInfo(long time, idVec3 &origin, idVec3 &direction, float *fv)
Definition: splines.cpp:989
bool dirty
Definition: splines.h:127
virtual void write(idFile *f, const char *name)
Definition: splines.cpp:1583
idFixedPosition(idVec3 p)
Definition: splines.h:197
idStr name
Definition: splines.h:118
float startFOV
Definition: splines.h:282
idCameraFOV(int v)
Definition: splines.h:269
const char * c_str(void) const
Definition: Str.h:487
void setRunning(bool b)
Definition: splines.h:357
virtual void addPoint(const float x, const float y, const float z)
Definition: splines.h:42
idVec3 pos
Definition: splines.h:212
idList< idCameraPosition * > targetPositions
Definition: splines.h:383
idVec3 * selected
Definition: splines.h:123
idCameraEvent(eventType t, const char *param, long n)
Definition: splines.h:310
virtual void start(long t)
Definition: splines.cpp:1664
void draw(bool editMode)
Definition: splines.cpp:862
idVec4 segmentColor
Definition: splines.h:124
void SetFOV(float f)
Definition: splines.h:273
GLint * first
Definition: glext.h:3036
void write(idFile *f, const char *name)
Definition: splines.cpp:726
float granularity
Definition: splines.h:125
int startTime
Definition: splines.h:284
long baseTime
Definition: splines.h:129
int numSelectedPoints()
Definition: splines.h:47
GLfloat GLfloat p
Definition: glext.h:4674
const char * typeStr()
Definition: splines.h:179
idCameraDef * g_splineList
Definition: splines.cpp:35
GLdouble GLdouble z
Definition: glext.h:3067
void Zero(void)
Definition: Vector.h:415
void write(idFile *f, const char *name)
Definition: splines.cpp:1481
~idCameraFOV()
Definition: splines.h:271
idStr name
Definition: splines.h:378
virtual void setTime(long t)
Definition: splines.h:165
GLuint start
Definition: glext.h:2845
idList< idVec3 * > splinePoints
Definition: splines.h:121
float totalTime
Definition: splines.h:387
idVec4 colorBlue
Definition: Lib.cpp:119
virtual void stopEdit()
Definition: splines.h:177
void write(idFile *f, const char *name)
Definition: splines.cpp:1953
idCameraPosition * getPositionObj()
Definition: splines.cpp:936
virtual void startEdit()
Definition: splines.h:176
positionType type
Definition: splines.h:186
int numSegments()
Definition: splines.h:106
long getTime()
Definition: splines.h:164
void addToRenderer()
Definition: splines.cpp:345
void addPoint(const idVec3 &v)
Definition: splines.h:86
GLdouble GLdouble t
Definition: glext.h:2943
void Clear(void)
Definition: List.h:184