35 #define DEFAULTINCREMENT 100
113 T* temp = this->
Data;
123 if (this->
Data == (T*)
'\0')
127 memcpy((
void*)this->
Data, (
void*)temp, oldSize *
sizeof(T));
138 this->
Used = newSize;
148 return (index > this->
Used) ?
192 void*
operator new(
size_t n)
197 void operator delete(
void *)
211 # ************************************************** \n\
212 # * VRML 2.0 Parser \n\
213 # * Copyright (C) 1996 Silicon Graphics, Inc. \n\
215 # * Author(s) : Gavin Bell \n\
216 # * Daniel Woods (first port) \n\
217 # ************************************************** \n\
219 # Definitions for all of the nodes built-in to the spec. \n\
220 # Taken almost directly from the VRML 2.0 final spec: \n\
223 eventIn MFNode addChildren \n\
224 eventIn MFNode removeChildren \n\
225 exposedField MFNode children [] \n\
226 exposedField SFString description \"\" \n\
227 exposedField MFString parameter [] \n\
228 exposedField MFString url [] \n\
229 field SFVec3f bboxCenter 0.0 0.0 0.0 \n\
230 field SFVec3f bboxSize -1.0 -1.0 -1.0 \n\
233 PROTO Appearance [ \n\
234 exposedField SFNode material NULL \n\
235 exposedField SFNode texture NULL \n\
236 exposedField SFNode textureTransform NULL \n\
239 PROTO AudioClip [ \n\
240 exposedField SFString description \"\" \n\
241 exposedField SFBool loop FALSE \n\
242 exposedField SFFloat pitch 1.0 \n\
243 exposedField SFTime startTime 0 \n\
244 exposedField SFTime stopTime 0 \n\
245 exposedField MFString url [] \n\
246 eventOut SFTime duration_changed \n\
247 eventOut SFBool isActive \n\
250 PROTO Background [ \n\
251 eventIn SFBool set_bind \n\
252 exposedField MFFloat groundAngle [] \n\
253 exposedField MFColor groundColor [] \n\
254 exposedField MFString backUrl [] \n\
255 exposedField MFString bottomUrl [] \n\
256 exposedField MFString frontUrl [] \n\
257 exposedField MFString leftUrl [] \n\
258 exposedField MFString rightUrl [] \n\
259 exposedField MFString topUrl [] \n\
260 exposedField MFFloat skyAngle [] \n\
261 exposedField MFColor skyColor [ 0 0 0 ] \n\
262 eventOut SFBool isBound \n\
264 "PROTO Billboard [ \n\
265 eventIn MFNode addChildren \n\
266 eventIn MFNode removeChildren \n\
267 exposedField SFVec3f axisOfRotation 0 1 0 \n\
268 exposedField MFNode children [] \n\
269 field SFVec3f bboxCenter 0 0 0 \n\
270 field SFVec3f bboxSize -1 -1 -1 \n\
274 field SFVec3f size 2 2 2 \n\
277 PROTO Collision [ \n\
278 eventIn MFNode addChildren \n\
279 eventIn MFNode removeChildren \n\
280 exposedField MFNode children [] \n\
281 exposedField SFBool collide TRUE \n\
282 field SFVec3f bboxCenter 0 0 0 \n\
283 field SFVec3f bboxSize -1 -1 -1 \n\
284 field SFNode proxy NULL \n\
285 eventOut SFTime collideTime \n\
289 exposedField MFColor color [] \n\
292 PROTO ColorInterpolator [ \n\
293 eventIn SFFloat set_fraction \n\
294 exposedField MFFloat key [] \n\
295 exposedField MFColor keyValue [] \n\
296 eventOut SFColor value_changed \n\
300 field SFFloat bottomRadius 1 \n\
301 field SFFloat height 2 \n\
302 field SFBool side TRUE \n\
303 field SFBool bottom TRUE \n\
306 PROTO Coordinate [ \n\
307 exposedField MFVec3f point [] \n\
310 PROTO CoordinateInterpolator [ \n\
311 eventIn SFFloat set_fraction \n\
312 exposedField MFFloat key [] \n\
313 exposedField MFVec3f keyValue [] \n\
314 eventOut MFVec3f value_changed \n\
318 field SFBool bottom TRUE \n\
319 field SFFloat height 2 \n\
320 field SFFloat radius 1 \n\
321 field SFBool side TRUE \n\
322 field SFBool top TRUE \n\
325 PROTO CylinderSensor [ \n\
326 exposedField SFBool autoOffset TRUE \n\
327 exposedField SFFloat diskAngle 0.262 \n\
328 exposedField SFBool enabled TRUE \n\
329 exposedField SFFloat maxAngle -1 \n\
330 exposedField SFFloat minAngle 0 \n\
331 exposedField SFFloat offset 0 \n\
332 eventOut SFBool isActive \n\
333 eventOut SFRotation rotation_changed \n\
334 eventOut SFVec3f trackPoint_changed \n\
336 "PROTO DirectionalLight [ \n\
337 exposedField SFFloat ambientIntensity 0 \n\
338 exposedField SFColor color 1 1 1 \n\
339 exposedField SFVec3f direction 0 0 -1 \n\
340 exposedField SFFloat intensity 1 \n\
341 exposedField SFBool on TRUE \n\
344 PROTO ElevationGrid [ \n\
345 eventIn MFFloat set_height \n\
346 exposedField SFNode color NULL \n\
347 exposedField SFNode normal NULL \n\
348 exposedField SFNode texCoord NULL \n\
349 field SFBool ccw TRUE \n\
350 field SFBool colorPerVertex TRUE \n\
351 field SFFloat creaseAngle 0 \n\
352 field MFFloat height [] \n\
353 field SFBool normalPerVertex TRUE \n\
354 field SFBool solid TRUE \n\
355 field SFInt32 xDimension 0 \n\
356 field SFFloat xSpacing 0.0 \n\
357 field SFInt32 zDimension 0 \n\
358 field SFFloat zSpacing 0.0 \n\
362 PROTO Extrusion [ \n\
363 eventIn MFVec2f set_crossSection \n\
364 eventIn MFRotation set_orientation \n\
365 eventIn MFVec2f set_scale \n\
366 eventIn MFVec3f set_spine \n\
367 field SFBool beginCap TRUE \n\
368 field SFBool ccw TRUE \n\
369 field SFBool convex TRUE \n\
370 field SFFloat creaseAngle 0 \n\
371 field MFVec2f crossSection [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ] \n\
372 field SFBool endCap TRUE \n\
373 field MFRotation orientation 0 0 1 0 \n\
374 field MFVec2f scale 1 1 \n\
375 field SFBool solid TRUE \n\
376 field MFVec3f spine [ 0 0 0, 0 1 0 ] \n\
380 exposedField SFColor color 1 1 1 \n\
381 exposedField SFString fogType \"LINEAR\" \n\
382 exposedField SFFloat visibilityRange 0 \n\
383 eventIn SFBool set_bind \n\
384 eventOut SFBool isBound \n\
386 "PROTO FontStyle [ \n\
387 field SFString family \"SERIF\" \n\
388 field SFBool horizontal TRUE \n\
389 field MFString justify \"BEGIN\" \n\
390 field SFString language \"\" \n\
391 field SFBool leftToRight TRUE \n\
392 field SFFloat size 1.0 \n\
393 field SFFloat spacing 1.0 \n\
394 field SFString style \"PLAIN\" \n\
395 field SFBool topToBottom TRUE \n\
399 eventIn MFNode addChildren \n\
400 eventIn MFNode removeChildren \n\
401 exposedField MFNode children [] \n\
402 field SFVec3f bboxCenter 0 0 0 \n\
403 field SFVec3f bboxSize -1 -1 -1 \n\
406 PROTO ImageTexture [ \n\
407 exposedField MFString url [] \n\
408 field SFBool repeatS TRUE \n\
409 field SFBool repeatT TRUE \n\
412 PROTO IndexedFaceSet [ \n\
413 eventIn MFInt32 set_colorIndex \n\
414 eventIn MFInt32 set_coordIndex \n\
415 eventIn MFInt32 set_normalIndex \n\
416 eventIn MFInt32 set_texCoordIndex \n\
417 exposedField SFNode color NULL \n\
418 exposedField SFNode coord NULL \n\
419 exposedField SFNode normal NULL \n\
420 exposedField SFNode texCoord NULL \n\
421 field SFBool ccw TRUE \n\
422 field MFInt32 colorIndex [] \n\
423 field SFBool colorPerVertex TRUE \n\
424 field SFBool convex TRUE \n\
425 field MFInt32 coordIndex [] \n\
426 field SFFloat creaseAngle 0 \n\
427 field MFInt32 normalIndex [] \n\
428 field SFBool normalPerVertex TRUE \n\
429 field SFBool solid TRUE \n\
430 field MFInt32 texCoordIndex [] \n\
433 PROTO IndexedLineSet [ \n\
434 eventIn MFInt32 set_colorIndex \n\
435 eventIn MFInt32 set_coordIndex \n\
436 exposedField SFNode color NULL \n\
437 exposedField SFNode coord NULL \n\
438 field MFInt32 colorIndex [] \n\
439 field SFBool colorPerVertex TRUE \n\
440 field MFInt32 coordIndex [] \n\
443 exposedField MFString url [] \n\
444 field SFVec3f bboxCenter 0 0 0 \n\
445 field SFVec3f bboxSize -1 -1 -1 \n\
448 exposedField MFNode level [] \n\
449 field SFVec3f center 0 0 0 \n\
450 field MFFloat range [] \n\
454 exposedField SFFloat ambientIntensity 0.2 \n\
455 exposedField SFColor diffuseColor 0.8 0.8 0.8 \n\
456 exposedField SFColor emissiveColor 0 0 0 \n\
457 exposedField SFFloat shininess 0.2 \n\
458 exposedField SFColor specularColor 0 0 0 \n\
459 exposedField SFFloat transparency 0 \n\
462 PROTO MovieTexture [ \n\
463 exposedField SFBool loop FALSE \n\
464 exposedField SFFloat speed 1 \n\
465 exposedField SFTime startTime 0 \n\
466 exposedField SFTime stopTime 0 \n\
467 exposedField MFString url [] \n\
468 field SFBool repeatS TRUE \n\
469 field SFBool repeatT TRUE \n\
470 eventOut SFFloat duration_changed \n\
471 eventOut SFBool isActive \n\
474 PROTO NavigationInfo [ \n\
475 eventIn SFBool set_bind \n\
476 exposedField MFFloat avatarSize [ 0.25, 1.6, 0.75 ] \n\
477 exposedField SFBool headlight TRUE \n\
478 exposedField SFFloat speed 1.0 \n\
479 exposedField MFString type \"WALK\" \n\
480 exposedField SFFloat visibilityLimit 0.0 \n\
481 eventOut SFBool isBound \n\
485 exposedField MFVec3f vector [] \n\
488 PROTO NormalInterpolator [ \n\
489 eventIn SFFloat set_fraction \n\
490 exposedField MFFloat key [] \n\
491 exposedField MFVec3f keyValue [] \n\
492 eventOut MFVec3f value_changed \n\
495 PROTO OrientationInterpolator [ \n\
496 eventIn SFFloat set_fraction \n\
497 exposedField MFFloat key [] \n\
498 exposedField MFRotation keyValue [] \n\
499 eventOut SFRotation value_changed \n\
502 PROTO PixelTexture [ \n\
503 exposedField SFImage image 0 0 0 \n\
504 field SFBool repeatS TRUE \n\
505 field SFBool repeatT TRUE \n\
507 "PROTO PlaneSensor [ \n\
508 exposedField SFBool autoOffset TRUE \n\
509 exposedField SFBool enabled TRUE \n\
510 exposedField SFVec2f maxPosition -1 -1 \n\
511 exposedField SFVec2f minPosition 0 0 \n\
512 exposedField SFVec3f offset 0 0 0 \n\
513 eventOut SFBool isActive \n\
514 eventOut SFVec3f trackPoint_changed \n\
515 eventOut SFVec3f translation_changed \n\
518 PROTO PointLight [ \n\
519 exposedField SFFloat ambientIntensity 0 \n\
520 exposedField SFVec3f attenuation 1 0 0 \n\
521 exposedField SFColor color 1 1 1 \n\
522 exposedField SFFloat intensity 1 \n\
523 exposedField SFVec3f location 0 0 0 \n\
524 exposedField SFBool on TRUE \n\
525 exposedField SFFloat radius 100 \n\
529 exposedField SFNode color NULL \n\
530 exposedField SFNode coord NULL \n\
533 PROTO PositionInterpolator [ \n\
534 eventIn SFFloat set_fraction \n\
535 exposedField MFFloat key [] \n\
536 exposedField MFVec3f keyValue [] \n\
537 eventOut SFVec3f value_changed \n\
540 PROTO ProximitySensor [ \n\
541 exposedField SFVec3f center 0 0 0 \n\
542 exposedField SFVec3f size 0 0 0 \n\
543 exposedField SFBool enabled TRUE \n\
544 eventOut SFBool isActive \n\
545 eventOut SFVec3f position_changed \n\
546 eventOut SFRotation orientation_changed \n\
547 eventOut SFTime enterTime \n\
548 eventOut SFTime exitTime \n\
550 "PROTO ScalarInterpolator [ \n\
551 eventIn SFFloat set_fraction \n\
552 exposedField MFFloat key [] \n\
553 exposedField MFFloat keyValue [] \n\
554 eventOut SFFloat value_changed \n\
558 exposedField MFString url [ ] \n\
559 field SFBool directOutput FALSE \n\
560 field SFBool mustEvaluate FALSE \n\
564 field SFNode appearance NULL \n\
565 field SFNode geometry NULL \n\
569 exposedField SFVec3f direction 0 0 1 \n\
570 exposedField SFFloat intensity 1 \n\
571 exposedField SFVec3f location 0 0 0 \n\
572 exposedField SFFloat maxBack 10 \n\
573 exposedField SFFloat maxFront 10 \n\
574 exposedField SFFloat minBack 1 \n\
575 exposedField SFFloat minFront 1 \n\
576 exposedField SFFloat priority 0 \n\
577 exposedField SFNode source NULL \n\
578 field SFBool spatialize TRUE \n\
582 field SFFloat radius 1 \n\
585 PROTO SphereSensor [ \n\
586 exposedField SFBool autoOffset TRUE \n\
587 exposedField SFBool enabled TRUE \n\
588 exposedField SFRotation offset 0 1 0 0 \n\
589 eventOut SFBool isActive \n\
590 eventOut SFRotation rotation_changed \n\
591 eventOut SFVec3f trackPoint_changed \n\
594 PROTO SpotLight [ \n\
595 exposedField SFFloat ambientIntensity 0 \n\
596 exposedField SFVec3f attenuation 1 0 0 \n\
597 exposedField SFFloat beamWidth 1.570796 \n\
598 exposedField SFColor color 1 1 1 \n\
599 exposedField SFFloat cutOffAngle 0.785398 \n\
600 exposedField SFVec3f direction 0 0 -1 \n\
601 exposedField SFFloat intensity 1 \n\
602 exposedField SFVec3f location 0 0 0 \n\
603 exposedField SFBool on TRUE \n\
604 exposedField SFFloat radius 100 \n\
608 exposedField MFNode choice [] \n\
609 exposedField SFInt32 whichChoice -1 \n\
613 exposedField MFString string [] \n\
614 field SFNode fontStyle NULL \n\
615 field MFFloat length [] \n\
616 field SFFloat maxExtent 0.0 \n\
618 "PROTO TextureCoordinate [ \n\
619 exposedField MFVec2f point [] \n\
621 PROTO TextureTransform [ \n\
622 exposedField SFVec2f center 0 0 \n\
623 exposedField SFFloat rotation 0 \n\
624 exposedField SFVec2f scale 1 1 \n\
625 exposedField SFVec2f translation 0 0 \n\
628 PROTO TimeSensor [ \n\
629 exposedField SFTime cycleInterval 1 \n\
630 exposedField SFBool enabled TRUE \n\
631 exposedField SFBool loop FALSE \n\
632 exposedField SFTime startTime 0 \n\
633 exposedField SFTime stopTime 0 \n\
634 eventOut SFTime cycleTime \n\
635 eventOut SFFloat fraction_changed \n\
636 eventOut SFBool isActive \n\
637 eventOut SFTime time \n\
640 PROTO TouchSensor [ \n\
641 exposedField SFBool enabled TRUE \n\
642 eventOut SFVec3f hitNormal_changed \n\
643 eventOut SFVec3f hitPoint_changed \n\
644 eventOut SFVec2f hitTexCoord_changed \n\
645 eventOut SFBool isActive \n\
646 eventOut SFBool isOver \n\
647 eventOut SFTime touchTime \n\
650 PROTO Transform [ \n\
651 eventIn MFNode addChildren \n\
652 eventIn MFNode removeChildren \n\
653 exposedField SFVec3f center 0 0 0 \n\
654 exposedField MFNode children [] \n\
655 exposedField SFRotation rotation 0 0 1 0 \n\
656 exposedField SFVec3f scale 1 1 1 \n\
657 exposedField SFRotation scaleOrientation 0 0 1 0 \n\
658 exposedField SFVec3f translation 0 0 0 \n\
659 field SFVec3f bboxCenter 0 0 0 \n\
660 field SFVec3f bboxSize -1 -1 -1 \n\
663 PROTO Viewpoint [ \n\
664 eventIn SFBool set_bind \n\
665 exposedField SFFloat fieldOfView 0.785398 \n\
666 exposedField SFBool jump TRUE \n\
667 exposedField SFRotation orientation 0 0 1 0 \n\
668 exposedField SFVec3f position 0 0 10 \n\
669 field SFString description \"\" \n\
670 eventOut SFTime bindTime \n\
671 eventOut SFBool isBound \n\
673 "PROTO VisibilitySensor [ \n\
674 exposedField SFVec3f center 0 0 0 \n\
675 exposedField SFBool enabled TRUE \n\
676 exposedField SFVec3f size 0 0 0 \n\
677 eventOut SFTime enterTime \n\
678 eventOut SFTime exitTime \n\
679 eventOut SFBool isActive \n\
682 PROTO WorldInfo [ \n\
683 field MFString info [] \n\
684 field SFString title \"\" \n\
static const char standardNodes[][2042]
static char * StrDup(const char *str)
char * StringDup(const char *str)
void * AllocateMemory(size_t n)
static void * AllocateMemory(size_t n)
T & operator[](int index)
vtkVRMLVectorType< T > & operator+=(T datum)
void Reserve(int newSize)
replacement for malloc/free and new/delete
vtkVRMLVectorType(int usenew=0)