VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkVRML.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkVRML.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /* ======================================================================
16 
17  Importer based on BNF Yacc and Lex parser definition from:
18 
19  **************************************************
20  * VRML 2.0 Parser
21  * Copyright (C) 1996 Silicon Graphics, Inc.
22  *
23  * Author(s) : Gavin Bell
24  * Daniel Woods (first port)
25  **************************************************
26 
27  Ported to VTK By: Thomas D. Citriniti
28  Rensselaer Polytechnic Institute
29  citrit@rpi.edu
30 
31 =======================================================================*/
32 #ifndef _VTKVRML_H_
33 #define _VTKVRML_H_
34 
35 #define DEFAULTINCREMENT 100
36 
37 #include "vtkIOImportModule.h" // For export macro
38 #include "vtkHeap.h"
39 
40 #include <new>
41 
42 // Use a user-managed heap to remove memory leaks
43 // This code must come before "#include vtkVRML.h" because
44 // it uses the functions below.
46 {
47  static void Initialize();
48  static void *AllocateMemory(size_t n);
49  static void CleanUp();
50  static char* StrDup(const char *str);
51  static vtkHeap *Heap;
52 };
53 
54 
55 
56 template <class T>
58 {
59 protected:
60  T *Data;
61  int Allocated;
62  int Used;
63 public:
64  void Init()
65  {
66  Allocated=DEFAULTINCREMENT;
67  if (!this->UseNew)
68  {
70  void* mem = vtkVRMLAllocator::AllocateMemory(Allocated*sizeof(T));
71  Data=new(mem) T[Allocated];
72  }
73  else
74  {
75  Data = new T[Allocated];
76  }
77  Used=0;
78  }
80  {
81  this->UseNew = 0;
82  this->Init();
83  }
84  vtkVRMLVectorType(int usenew) : UseNew(usenew)
85  {
86  this->Init();
87  }
89  {
90  if (this->UseNew)
91  {
92  delete[] Data;
93  }
94  }
95  void Reserve(int newSize)
96  {
97  T *temp;
98  int oldSize;
99  if(newSize >= Allocated)
100  {
101  oldSize=Allocated;
102  Allocated=newSize+DEFAULTINCREMENT;
103  temp=Data;
104  if (!this->UseNew)
105  {
106  void* mem = vtkVRMLAllocator::AllocateMemory(Allocated*sizeof(T));
107  Data=new(mem) T[Allocated];
108  }
109  else
110  {
111  Data=new T[Allocated];
112  }
113  if(Data==(T *)'\0')
114  {
115  return;
116  }
117  memcpy((void*)Data, (void*)temp, oldSize*sizeof(T));
118  if (this->UseNew)
119  {
120  delete[] temp;
121  }
122  }
123  }
124 
125  void Demand(int newSize)
126  {
127  Reserve(newSize);
128  Used=newSize;
129  }
130  int Count(void) const
131  {
132  return Used;
133  }
134  T& Get(int index) const
135  {
136  if (index > Used)
137  return Data[Used-1];
138  return Data[index];
139  }
141  {
142  if (index > Used)
143  Demand(index);
144  return Data[index];
145  }
146  operator T*() const
147  {
148  return Data;
149  }
151  {
152  Reserve(Used+1);
153  Data[Used]=datum;
154  Used++;
155  return *this;
156  }
157  void Push(T datum)
158  {
159  Reserve(Used+1);
160  Data[Used]=datum;
161  Used++;
162  }
163  T& Pop()
164  {
165  Used--;
166  return Data[Used];
167  }
168  T& Top()
169  {
170  return Data[Used-1];
171  }
172 
173  void* operator new(size_t n)
174  {
176  }
177 
178  void operator delete(void *)
179  {
180  }
181 
182  int UseNew;
183 };
184 
185 static const char standardNodes[][2042] = {
186  "#VRML V2.0 utf8 \n\
187 # \n\
188 # ************************************************** \n\
189 # * VRML 2.0 Parser \n\
190 # * Copyright (C) 1996 Silicon Graphics, Inc. \n\
191 # * \n\
192 # * Author(s) : Gavin Bell \n\
193 # * Daniel Woods (first port) \n\
194 # ************************************************** \n\
195 # \n\
196 # Definitions for all of the nodes built-in to the spec. \n\
197 # Taken almost directly from the VRML 2.0 final spec: \n\
198  \n\
199 PROTO Anchor [ \n\
200  eventIn MFNode addChildren \n\
201  eventIn MFNode removeChildren \n\
202  exposedField MFNode children [] \n\
203  exposedField SFString description \"\" \n\
204  exposedField MFString parameter [] \n\
205  exposedField MFString url [] \n\
206  field SFVec3f bboxCenter 0.0 0.0 0.0 \n\
207  field SFVec3f bboxSize -1.0 -1.0 -1.0 \n\
208 ] { } \n\
209  \n\
210 PROTO Appearance [ \n\
211  exposedField SFNode material NULL \n\
212  exposedField SFNode texture NULL \n\
213  exposedField SFNode textureTransform NULL \n\
214 ] { } \n\
215  \n\
216 PROTO AudioClip [ \n\
217  exposedField SFString description \"\" \n\
218  exposedField SFBool loop FALSE \n\
219  exposedField SFFloat pitch 1.0 \n\
220  exposedField SFTime startTime 0 \n\
221  exposedField SFTime stopTime 0 \n\
222  exposedField MFString url [] \n\
223  eventOut SFTime duration_changed \n\
224  eventOut SFBool isActive \n\
225 ] { } \n\
226  \n\
227 PROTO Background [ \n\
228  eventIn SFBool set_bind \n\
229  exposedField MFFloat groundAngle [] \n\
230  exposedField MFColor groundColor [] \n\
231  exposedField MFString backUrl [] \n\
232  exposedField MFString bottomUrl [] \n\
233  exposedField MFString frontUrl [] \n\
234  exposedField MFString leftUrl [] \n\
235  exposedField MFString rightUrl [] \n\
236  exposedField MFString topUrl [] \n\
237  exposedField MFFloat skyAngle [] \n\
238  exposedField MFColor skyColor [ 0 0 0 ] \n\
239  eventOut SFBool isBound \n\
240 ] { }",
241  "PROTO Billboard [ \n\
242  eventIn MFNode addChildren \n\
243  eventIn MFNode removeChildren \n\
244  exposedField SFVec3f axisOfRotation 0 1 0 \n\
245  exposedField MFNode children [] \n\
246  field SFVec3f bboxCenter 0 0 0 \n\
247  field SFVec3f bboxSize -1 -1 -1 \n\
248 ] { } \n\
249  \n\
250 PROTO Box [ \n\
251  field SFVec3f size 2 2 2 \n\
252 ] { } \n\
253  \n\
254 PROTO Collision [ \n\
255  eventIn MFNode addChildren \n\
256  eventIn MFNode removeChildren \n\
257  exposedField MFNode children [] \n\
258  exposedField SFBool collide TRUE \n\
259  field SFVec3f bboxCenter 0 0 0 \n\
260  field SFVec3f bboxSize -1 -1 -1 \n\
261  field SFNode proxy NULL \n\
262  eventOut SFTime collideTime \n\
263 ] { } \n\
264  \n\
265 PROTO Color [ \n\
266  exposedField MFColor color [] \n\
267 ] { } \n\
268  \n\
269 PROTO ColorInterpolator [ \n\
270  eventIn SFFloat set_fraction \n\
271  exposedField MFFloat key [] \n\
272  exposedField MFColor keyValue [] \n\
273  eventOut SFColor value_changed \n\
274 ] { } \n\
275  \n\
276 PROTO Cone [ \n\
277  field SFFloat bottomRadius 1 \n\
278  field SFFloat height 2 \n\
279  field SFBool side TRUE \n\
280  field SFBool bottom TRUE \n\
281 ] { } \n\
282  \n\
283 PROTO Coordinate [ \n\
284  exposedField MFVec3f point [] \n\
285 ] { } \n\
286  \n\
287 PROTO CoordinateInterpolator [ \n\
288  eventIn SFFloat set_fraction \n\
289  exposedField MFFloat key [] \n\
290  exposedField MFVec3f keyValue [] \n\
291  eventOut MFVec3f value_changed \n\
292 ] { } \n\
293  \n\
294 PROTO Cylinder [ \n\
295  field SFBool bottom TRUE \n\
296  field SFFloat height 2 \n\
297  field SFFloat radius 1 \n\
298  field SFBool side TRUE \n\
299  field SFBool top TRUE \n\
300 ] { } \n\
301  \n\
302 PROTO CylinderSensor [ \n\
303  exposedField SFBool autoOffset TRUE \n\
304  exposedField SFFloat diskAngle 0.262 \n\
305  exposedField SFBool enabled TRUE \n\
306  exposedField SFFloat maxAngle -1 \n\
307  exposedField SFFloat minAngle 0 \n\
308  exposedField SFFloat offset 0 \n\
309  eventOut SFBool isActive \n\
310  eventOut SFRotation rotation_changed \n\
311  eventOut SFVec3f trackPoint_changed \n\
312 ] { }",
313  "PROTO DirectionalLight [ \n\
314  exposedField SFFloat ambientIntensity 0 \n\
315  exposedField SFColor color 1 1 1 \n\
316  exposedField SFVec3f direction 0 0 -1 \n\
317  exposedField SFFloat intensity 1 \n\
318  exposedField SFBool on TRUE \n\
319 ] { } \n\
320  \n\
321 PROTO ElevationGrid [ \n\
322  eventIn MFFloat set_height \n\
323  exposedField SFNode color NULL \n\
324  exposedField SFNode normal NULL \n\
325  exposedField SFNode texCoord NULL \n\
326  field SFBool ccw TRUE \n\
327  field SFBool colorPerVertex TRUE \n\
328  field SFFloat creaseAngle 0 \n\
329  field MFFloat height [] \n\
330  field SFBool normalPerVertex TRUE \n\
331  field SFBool solid TRUE \n\
332  field SFInt32 xDimension 0 \n\
333  field SFFloat xSpacing 0.0 \n\
334  field SFInt32 zDimension 0 \n\
335  field SFFloat zSpacing 0.0 \n\
336  \n\
337 ] { } \n\
338  \n\
339 PROTO Extrusion [ \n\
340  eventIn MFVec2f set_crossSection \n\
341  eventIn MFRotation set_orientation \n\
342  eventIn MFVec2f set_scale \n\
343  eventIn MFVec3f set_spine \n\
344  field SFBool beginCap TRUE \n\
345  field SFBool ccw TRUE \n\
346  field SFBool convex TRUE \n\
347  field SFFloat creaseAngle 0 \n\
348  field MFVec2f crossSection [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ] \n\
349  field SFBool endCap TRUE \n\
350  field MFRotation orientation 0 0 1 0 \n\
351  field MFVec2f scale 1 1 \n\
352  field SFBool solid TRUE \n\
353  field MFVec3f spine [ 0 0 0, 0 1 0 ] \n\
354 ] { } \n\
355  \n\
356 PROTO Fog [ \n\
357  exposedField SFColor color 1 1 1 \n\
358  exposedField SFString fogType \"LINEAR\" \n\
359  exposedField SFFloat visibilityRange 0 \n\
360  eventIn SFBool set_bind \n\
361  eventOut SFBool isBound \n\
362 ] { }",
363  "PROTO FontStyle [ \n\
364  field SFString family \"SERIF\" \n\
365  field SFBool horizontal TRUE \n\
366  field MFString justify \"BEGIN\" \n\
367  field SFString language \"\" \n\
368  field SFBool leftToRight TRUE \n\
369  field SFFloat size 1.0 \n\
370  field SFFloat spacing 1.0 \n\
371  field SFString style \"PLAIN\" \n\
372  field SFBool topToBottom TRUE \n\
373 ] { } \n\
374  \n\
375 PROTO Group [ \n\
376  eventIn MFNode addChildren \n\
377  eventIn MFNode removeChildren \n\
378  exposedField MFNode children [] \n\
379  field SFVec3f bboxCenter 0 0 0 \n\
380  field SFVec3f bboxSize -1 -1 -1 \n\
381 ] { } \n\
382  \n\
383 PROTO ImageTexture [ \n\
384  exposedField MFString url [] \n\
385  field SFBool repeatS TRUE \n\
386  field SFBool repeatT TRUE \n\
387 ] { } \n\
388  \n\
389 PROTO IndexedFaceSet [ \n\
390  eventIn MFInt32 set_colorIndex \n\
391  eventIn MFInt32 set_coordIndex \n\
392  eventIn MFInt32 set_normalIndex \n\
393  eventIn MFInt32 set_texCoordIndex \n\
394  exposedField SFNode color NULL \n\
395  exposedField SFNode coord NULL \n\
396  exposedField SFNode normal NULL \n\
397  exposedField SFNode texCoord NULL \n\
398  field SFBool ccw TRUE \n\
399  field MFInt32 colorIndex [] \n\
400  field SFBool colorPerVertex TRUE \n\
401  field SFBool convex TRUE \n\
402  field MFInt32 coordIndex [] \n\
403  field SFFloat creaseAngle 0 \n\
404  field MFInt32 normalIndex [] \n\
405  field SFBool normalPerVertex TRUE \n\
406  field SFBool solid TRUE \n\
407  field MFInt32 texCoordIndex [] \n\
408 ] { } \n\
409  \n\
410 PROTO IndexedLineSet [ \n\
411  eventIn MFInt32 set_colorIndex \n\
412  eventIn MFInt32 set_coordIndex \n\
413  exposedField SFNode color NULL \n\
414  exposedField SFNode coord NULL \n\
415  field MFInt32 colorIndex [] \n\
416  field SFBool colorPerVertex TRUE \n\
417  field MFInt32 coordIndex [] \n\
418 ] { }",
419  "PROTO Inline [ \n\
420  exposedField MFString url [] \n\
421  field SFVec3f bboxCenter 0 0 0 \n\
422  field SFVec3f bboxSize -1 -1 -1 \n\
423 ] { } \n\
424 PROTO LOD [ \n\
425  exposedField MFNode level [] \n\
426  field SFVec3f center 0 0 0 \n\
427  field MFFloat range [] \n\
428 ] { } \n\
429  \n\
430 PROTO Material [ \n\
431  exposedField SFFloat ambientIntensity 0.2 \n\
432  exposedField SFColor diffuseColor 0.8 0.8 0.8 \n\
433  exposedField SFColor emissiveColor 0 0 0 \n\
434  exposedField SFFloat shininess 0.2 \n\
435  exposedField SFColor specularColor 0 0 0 \n\
436  exposedField SFFloat transparency 0 \n\
437 ] { } \n\
438  \n\
439 PROTO MovieTexture [ \n\
440  exposedField SFBool loop FALSE \n\
441  exposedField SFFloat speed 1 \n\
442  exposedField SFTime startTime 0 \n\
443  exposedField SFTime stopTime 0 \n\
444  exposedField MFString url [] \n\
445  field SFBool repeatS TRUE \n\
446  field SFBool repeatT TRUE \n\
447  eventOut SFFloat duration_changed \n\
448  eventOut SFBool isActive \n\
449 ] { } \n\
450  \n\
451 PROTO NavigationInfo [ \n\
452  eventIn SFBool set_bind \n\
453  exposedField MFFloat avatarSize [ 0.25, 1.6, 0.75 ] \n\
454  exposedField SFBool headlight TRUE \n\
455  exposedField SFFloat speed 1.0 \n\
456  exposedField MFString type \"WALK\" \n\
457  exposedField SFFloat visibilityLimit 0.0 \n\
458  eventOut SFBool isBound \n\
459 ] { } \n\
460  \n\
461 PROTO Normal [ \n\
462  exposedField MFVec3f vector [] \n\
463 ] { } \n\
464  \n\
465 PROTO NormalInterpolator [ \n\
466  eventIn SFFloat set_fraction \n\
467  exposedField MFFloat key [] \n\
468  exposedField MFVec3f keyValue [] \n\
469  eventOut MFVec3f value_changed \n\
470 ] { } \n\
471  \n\
472 PROTO OrientationInterpolator [ \n\
473  eventIn SFFloat set_fraction \n\
474  exposedField MFFloat key [] \n\
475  exposedField MFRotation keyValue [] \n\
476  eventOut SFRotation value_changed \n\
477 ] { } \n\
478  \n\
479 PROTO PixelTexture [ \n\
480  exposedField SFImage image 0 0 0 \n\
481  field SFBool repeatS TRUE \n\
482  field SFBool repeatT TRUE \n\
483 ] { }",
484  "PROTO PlaneSensor [ \n\
485  exposedField SFBool autoOffset TRUE \n\
486  exposedField SFBool enabled TRUE \n\
487  exposedField SFVec2f maxPosition -1 -1 \n\
488  exposedField SFVec2f minPosition 0 0 \n\
489  exposedField SFVec3f offset 0 0 0 \n\
490  eventOut SFBool isActive \n\
491  eventOut SFVec3f trackPoint_changed \n\
492  eventOut SFVec3f translation_changed \n\
493 ] { } \n\
494  \n\
495 PROTO PointLight [ \n\
496  exposedField SFFloat ambientIntensity 0 \n\
497  exposedField SFVec3f attenuation 1 0 0 \n\
498  exposedField SFColor color 1 1 1 \n\
499  exposedField SFFloat intensity 1 \n\
500  exposedField SFVec3f location 0 0 0 \n\
501  exposedField SFBool on TRUE \n\
502  exposedField SFFloat radius 100 \n\
503 ] { } \n\
504  \n\
505 PROTO PointSet [ \n\
506  exposedField SFNode color NULL \n\
507  exposedField SFNode coord NULL \n\
508 ] { } \n\
509  \n\
510 PROTO PositionInterpolator [ \n\
511  eventIn SFFloat set_fraction \n\
512  exposedField MFFloat key [] \n\
513  exposedField MFVec3f keyValue [] \n\
514  eventOut SFVec3f value_changed \n\
515 ] { } \n\
516  \n\
517 PROTO ProximitySensor [ \n\
518  exposedField SFVec3f center 0 0 0 \n\
519  exposedField SFVec3f size 0 0 0 \n\
520  exposedField SFBool enabled TRUE \n\
521  eventOut SFBool isActive \n\
522  eventOut SFVec3f position_changed \n\
523  eventOut SFRotation orientation_changed \n\
524  eventOut SFTime enterTime \n\
525  eventOut SFTime exitTime \n\
526 ] { }",
527  "PROTO ScalarInterpolator [ \n\
528  eventIn SFFloat set_fraction \n\
529  exposedField MFFloat key [] \n\
530  exposedField MFFloat keyValue [] \n\
531  eventOut SFFloat value_changed \n\
532 ] { } \n\
533  \n\
534 PROTO Script [ \n\
535  exposedField MFString url [ ] \n\
536  field SFBool directOutput FALSE \n\
537  field SFBool mustEvaluate FALSE \n\
538 ] { } \n\
539  \n\
540 PROTO Shape [ \n\
541  field SFNode appearance NULL \n\
542  field SFNode geometry NULL \n\
543 ] { } \n\
544  \n\
545 PROTO Sound [ \n\
546  exposedField SFVec3f direction 0 0 1 \n\
547  exposedField SFFloat intensity 1 \n\
548  exposedField SFVec3f location 0 0 0 \n\
549  exposedField SFFloat maxBack 10 \n\
550  exposedField SFFloat maxFront 10 \n\
551  exposedField SFFloat minBack 1 \n\
552  exposedField SFFloat minFront 1 \n\
553  exposedField SFFloat priority 0 \n\
554  exposedField SFNode source NULL \n\
555  field SFBool spatialize TRUE \n\
556 ] { } \n\
557  \n\
558 PROTO Sphere [ \n\
559  field SFFloat radius 1 \n\
560 ] { } \n\
561  \n\
562 PROTO SphereSensor [ \n\
563  exposedField SFBool autoOffset TRUE \n\
564  exposedField SFBool enabled TRUE \n\
565  exposedField SFRotation offset 0 1 0 0 \n\
566  eventOut SFBool isActive \n\
567  eventOut SFRotation rotation_changed \n\
568  eventOut SFVec3f trackPoint_changed \n\
569 ] { } \n\
570  \n\
571 PROTO SpotLight [ \n\
572  exposedField SFFloat ambientIntensity 0 \n\
573  exposedField SFVec3f attenuation 1 0 0 \n\
574  exposedField SFFloat beamWidth 1.570796 \n\
575  exposedField SFColor color 1 1 1 \n\
576  exposedField SFFloat cutOffAngle 0.785398 \n\
577  exposedField SFVec3f direction 0 0 -1 \n\
578  exposedField SFFloat intensity 1 \n\
579  exposedField SFVec3f location 0 0 0 \n\
580  exposedField SFBool on TRUE \n\
581  exposedField SFFloat radius 100 \n\
582 ] { } \n\
583  \n\
584 PROTO Switch [ \n\
585  exposedField MFNode choice [] \n\
586  exposedField SFInt32 whichChoice -1 \n\
587 ] { } \n\
588  \n\
589 PROTO Text [ \n\
590  exposedField MFString string [] \n\
591  field SFNode fontStyle NULL \n\
592  field MFFloat length [] \n\
593  field SFFloat maxExtent 0.0 \n\
594 ] { }",
595  "PROTO TextureCoordinate [ \n\
596  exposedField MFVec2f point [] \n\
597 ] { } \n\
598 PROTO TextureTransform [ \n\
599  exposedField SFVec2f center 0 0 \n\
600  exposedField SFFloat rotation 0 \n\
601  exposedField SFVec2f scale 1 1 \n\
602  exposedField SFVec2f translation 0 0 \n\
603 ] { } \n\
604  \n\
605 PROTO TimeSensor [ \n\
606  exposedField SFTime cycleInterval 1 \n\
607  exposedField SFBool enabled TRUE \n\
608  exposedField SFBool loop FALSE \n\
609  exposedField SFTime startTime 0 \n\
610  exposedField SFTime stopTime 0 \n\
611  eventOut SFTime cycleTime \n\
612  eventOut SFFloat fraction_changed \n\
613  eventOut SFBool isActive \n\
614  eventOut SFTime time \n\
615 ] { } \n\
616  \n\
617 PROTO TouchSensor [ \n\
618  exposedField SFBool enabled TRUE \n\
619  eventOut SFVec3f hitNormal_changed \n\
620  eventOut SFVec3f hitPoint_changed \n\
621  eventOut SFVec2f hitTexCoord_changed \n\
622  eventOut SFBool isActive \n\
623  eventOut SFBool isOver \n\
624  eventOut SFTime touchTime \n\
625 ] { } \n\
626  \n\
627 PROTO Transform [ \n\
628  eventIn MFNode addChildren \n\
629  eventIn MFNode removeChildren \n\
630  exposedField SFVec3f center 0 0 0 \n\
631  exposedField MFNode children [] \n\
632  exposedField SFRotation rotation 0 0 1 0 \n\
633  exposedField SFVec3f scale 1 1 1 \n\
634  exposedField SFRotation scaleOrientation 0 0 1 0 \n\
635  exposedField SFVec3f translation 0 0 0 \n\
636  field SFVec3f bboxCenter 0 0 0 \n\
637  field SFVec3f bboxSize -1 -1 -1 \n\
638 ] { } \n\
639  \n\
640 PROTO Viewpoint [ \n\
641  eventIn SFBool set_bind \n\
642  exposedField SFFloat fieldOfView 0.785398 \n\
643  exposedField SFBool jump TRUE \n\
644  exposedField SFRotation orientation 0 0 1 0 \n\
645  exposedField SFVec3f position 0 0 10 \n\
646  field SFString description \"\" \n\
647  eventOut SFTime bindTime \n\
648  eventOut SFBool isBound \n\
649 ] { }",
650  "PROTO VisibilitySensor [ \n\
651  exposedField SFVec3f center 0 0 0 \n\
652  exposedField SFBool enabled TRUE \n\
653  exposedField SFVec3f size 0 0 0 \n\
654  eventOut SFTime enterTime \n\
655  eventOut SFTime exitTime \n\
656  eventOut SFBool isActive \n\
657 ] { } \n\
658  \n\
659 PROTO WorldInfo [ \n\
660  field MFString info [] \n\
661  field SFString title \"\" \n\
662 ] { }",""
663 };
664 #endif
665 // VTK-HeaderTest-Exclude: vtkVRML.h
static const char standardNodes[][2042]
Definition: vtkVRML.h:185
GLuint index
Definition: vtkgl.h:11983
vtkVRMLVectorType(int usenew)
Definition: vtkVRML.h:84
#define DEFAULTINCREMENT
Definition: vtkVRML.h:35
static char * StrDup(const char *str)
static void * AllocateMemory(size_t n)
T & Get(int index) const
Definition: vtkVRML.h:134
T & operator[](int index)
Definition: vtkVRML.h:140
static void CleanUp()
vtkVRMLVectorType< T > & operator+=(T datum)
Definition: vtkVRML.h:150
int Count(void) const
Definition: vtkVRML.h:130
void Reserve(int newSize)
Definition: vtkVRML.h:95
void Push(T datum)
Definition: vtkVRML.h:157
static void Initialize()
replacement for malloc/free and new/delete
Definition: vtkHeap.h:52
static vtkHeap * Heap
Definition: vtkVRML.h:51
GLclampd n
Definition: vtkgl.h:14370
#define VTKIOIMPORT_EXPORT
~vtkVRMLVectorType(void)
Definition: vtkVRML.h:88
void Demand(int newSize)
Definition: vtkVRML.h:125