Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Hybrid/vtkVRML.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef _VTKVRML_H_
00034 #define _VTKVRML_H_
00035
00036 #define DEFAULTINCREMENT 100
00037
00038 #include "vtkHeap.h"
00039
00040 #ifdef VTK_USE_ANSI_STDLIB
00041 #include <new>
00042 #else
00043 #include <new.h>
00044 #endif
00045
00046 #if defined(__BORLANDC__) && (__BORLANDC__<0x0560)
00047
00048 void* operator new[](unsigned int,void *v)
00049 {
00050 return v;
00051 }
00052 #endif
00053
00054
00055
00056
00057 struct vtkVRMLAllocator
00058 {
00059 static void Initialize();
00060 static void *AllocateMemory(size_t n);
00061 static void CleanUp();
00062 static char* StrDup(const char *str);
00063 static vtkHeap *Heap;
00064 };
00065
00066
00067
00068 template <class T>
00069 class VTK_HYBRID_EXPORT vtkVRMLVectorType
00070 {
00071 protected:
00072 T *Data;
00073 int Allocated;
00074 int Used;
00075 public:
00076 void Init()
00077 {
00078 Allocated=DEFAULTINCREMENT;
00079 if (!this->UseNew)
00080 {
00081 vtkVRMLAllocator::Initialize();
00082 void* mem = vtkVRMLAllocator::AllocateMemory(Allocated*sizeof(T));
00083 Data=new(mem) T[Allocated];
00084 }
00085 else
00086 {
00087 Data = new T[Allocated];
00088 }
00089 Used=0;
00090 }
00091 vtkVRMLVectorType()
00092 {
00093 this->UseNew = 0;
00094 this->Init();
00095 }
00096 vtkVRMLVectorType(int usenew) : UseNew(usenew)
00097 {
00098 this->Init();
00099 }
00100 ~vtkVRMLVectorType(void)
00101 {
00102 if (this->UseNew)
00103 {
00104 delete[] Data;
00105 }
00106 }
00107 void Reserve(int newSize)
00108 {
00109 T *temp;
00110 int oldSize;
00111 if(newSize >= Allocated)
00112 {
00113 oldSize=Allocated;
00114 Allocated=newSize+DEFAULTINCREMENT;
00115 temp=Data;
00116 if (!this->UseNew)
00117 {
00118 void* mem = vtkVRMLAllocator::AllocateMemory(Allocated*sizeof(T));
00119 Data=new(mem) T[Allocated];
00120 }
00121 else
00122 {
00123 Data=new T[Allocated];
00124 }
00125 if(Data==(T *)'\0')
00126 {
00127 return;
00128 }
00129 memcpy((void*)Data, (void*)temp, oldSize*sizeof(T));
00130 if (this->UseNew)
00131 {
00132 delete[] temp;
00133 }
00134 }
00135 }
00136
00137 void Demand(int newSize)
00138 {
00139 Reserve(newSize);
00140 Used=newSize;
00141 }
00142 int Count(void) const
00143 {
00144 return Used;
00145 }
00146 T& Get(int index) const
00147 {
00148 if (index > Used)
00149 return Data[Used-1];
00150 return Data[index];
00151 }
00152 T& operator[](int index)
00153 {
00154 if (index > Used)
00155 Demand(index);
00156 return Data[index];
00157 }
00158 operator T*() const
00159 {
00160 return Data;
00161 }
00162 vtkVRMLVectorType<T>& operator+=(T datum)
00163 {
00164 Reserve(Used+1);
00165 Data[Used]=datum;
00166 Used++;
00167 return *this;
00168 }
00169 void Push(T datum)
00170 {
00171 Reserve(Used+1);
00172 Data[Used]=datum;
00173 Used++;
00174 }
00175 T& Pop()
00176 {
00177 Used--;
00178 return Data[Used];
00179 }
00180 T& Top()
00181 {
00182 return Data[Used-1];
00183 }
00184
00185 void* operator new(size_t n)
00186 {
00187 return vtkVRMLAllocator::AllocateMemory(n);
00188 }
00189
00190 void operator delete(void *)
00191 {
00192 }
00193
00194 int UseNew;
00195 };
00196
00197 static const char standardNodes[][2042] = {
00198 "#VRML V2.0 utf8 \n\
00199 # \n\
00200 # ************************************************** \n\
00201 # * VRML 2.0 Parser \n\
00202 # * Copyright (C) 1996 Silicon Graphics, Inc. \n\
00203 # * \n\
00204 # * Author(s) : Gavin Bell \n\
00205 # * Daniel Woods (first port) \n\
00206 # ************************************************** \n\
00207 # \n\
00208 # Definitions for all of the nodes built-in to the spec. \n\
00209 # Taken almost directly from the VRML 2.0 final spec: \n\
00210 \n\
00211 PROTO Anchor [ \n\
00212 eventIn MFNode addChildren \n\
00213 eventIn MFNode removeChildren \n\
00214 exposedField MFNode children [] \n\
00215 exposedField SFString description \"\" \n\
00216 exposedField MFString parameter [] \n\
00217 exposedField MFString url [] \n\
00218 field SFVec3f bboxCenter 0.0 0.0 0.0 \n\
00219 field SFVec3f bboxSize -1.0 -1.0 -1.0 \n\
00220 ] { } \n\
00221 \n\
00222 PROTO Appearance [ \n\
00223 exposedField SFNode material NULL \n\
00224 exposedField SFNode texture NULL \n\
00225 exposedField SFNode textureTransform NULL \n\
00226 ] { } \n\
00227 \n\
00228 PROTO AudioClip [ \n\
00229 exposedField SFString description \"\" \n\
00230 exposedField SFBool loop FALSE \n\
00231 exposedField SFFloat pitch 1.0 \n\
00232 exposedField SFTime startTime 0 \n\
00233 exposedField SFTime stopTime 0 \n\
00234 exposedField MFString url [] \n\
00235 eventOut SFTime duration_changed \n\
00236 eventOut SFBool isActive \n\
00237 ] { } \n\
00238 \n\
00239 PROTO Background [ \n\
00240 eventIn SFBool set_bind \n\
00241 exposedField MFFloat groundAngle [] \n\
00242 exposedField MFColor groundColor [] \n\
00243 exposedField MFString backUrl [] \n\
00244 exposedField MFString bottomUrl [] \n\
00245 exposedField MFString frontUrl [] \n\
00246 exposedField MFString leftUrl [] \n\
00247 exposedField MFString rightUrl [] \n\
00248 exposedField MFString topUrl [] \n\
00249 exposedField MFFloat skyAngle [] \n\
00250 exposedField MFColor skyColor [ 0 0 0 ] \n\
00251 eventOut SFBool isBound \n\
00252 ] { }",
00253 "PROTO Billboard [ \n\
00254 eventIn MFNode addChildren \n\
00255 eventIn MFNode removeChildren \n\
00256 exposedField SFVec3f axisOfRotation 0 1 0 \n\
00257 exposedField MFNode children [] \n\
00258 field SFVec3f bboxCenter 0 0 0 \n\
00259 field SFVec3f bboxSize -1 -1 -1 \n\
00260 ] { } \n\
00261 \n\
00262 PROTO Box [ \n\
00263 field SFVec3f size 2 2 2 \n\
00264 ] { } \n\
00265 \n\
00266 PROTO Collision [ \n\
00267 eventIn MFNode addChildren \n\
00268 eventIn MFNode removeChildren \n\
00269 exposedField MFNode children [] \n\
00270 exposedField SFBool collide TRUE \n\
00271 field SFVec3f bboxCenter 0 0 0 \n\
00272 field SFVec3f bboxSize -1 -1 -1 \n\
00273 field SFNode proxy NULL \n\
00274 eventOut SFTime collideTime \n\
00275 ] { } \n\
00276 \n\
00277 PROTO Color [ \n\
00278 exposedField MFColor color [] \n\
00279 ] { } \n\
00280 \n\
00281 PROTO ColorInterpolator [ \n\
00282 eventIn SFFloat set_fraction \n\
00283 exposedField MFFloat key [] \n\
00284 exposedField MFColor keyValue [] \n\
00285 eventOut SFColor value_changed \n\
00286 ] { } \n\
00287 \n\
00288 PROTO Cone [ \n\
00289 field SFFloat bottomRadius 1 \n\
00290 field SFFloat height 2 \n\
00291 field SFBool side TRUE \n\
00292 field SFBool bottom TRUE \n\
00293 ] { } \n\
00294 \n\
00295 PROTO Coordinate [ \n\
00296 exposedField MFVec3f point [] \n\
00297 ] { } \n\
00298 \n\
00299 PROTO CoordinateInterpolator [ \n\
00300 eventIn SFFloat set_fraction \n\
00301 exposedField MFFloat key [] \n\
00302 exposedField MFVec3f keyValue [] \n\
00303 eventOut MFVec3f value_changed \n\
00304 ] { } \n\
00305 \n\
00306 PROTO Cylinder [ \n\
00307 field SFBool bottom TRUE \n\
00308 field SFFloat height 2 \n\
00309 field SFFloat radius 1 \n\
00310 field SFBool side TRUE \n\
00311 field SFBool top TRUE \n\
00312 ] { } \n\
00313 \n\
00314 PROTO CylinderSensor [ \n\
00315 exposedField SFBool autoOffset TRUE \n\
00316 exposedField SFFloat diskAngle 0.262 \n\
00317 exposedField SFBool enabled TRUE \n\
00318 exposedField SFFloat maxAngle -1 \n\
00319 exposedField SFFloat minAngle 0 \n\
00320 exposedField SFFloat offset 0 \n\
00321 eventOut SFBool isActive \n\
00322 eventOut SFRotation rotation_changed \n\
00323 eventOut SFVec3f trackPoint_changed \n\
00324 ] { }",
00325 "PROTO DirectionalLight [ \n\
00326 exposedField SFFloat ambientIntensity 0 \n\
00327 exposedField SFColor color 1 1 1 \n\
00328 exposedField SFVec3f direction 0 0 -1 \n\
00329 exposedField SFFloat intensity 1 \n\
00330 exposedField SFBool on TRUE \n\
00331 ] { } \n\
00332 \n\
00333 PROTO ElevationGrid [ \n\
00334 eventIn MFFloat set_height \n\
00335 exposedField SFNode color NULL \n\
00336 exposedField SFNode normal NULL \n\
00337 exposedField SFNode texCoord NULL \n\
00338 field SFBool ccw TRUE \n\
00339 field SFBool colorPerVertex TRUE \n\
00340 field SFFloat creaseAngle 0 \n\
00341 field MFFloat height [] \n\
00342 field SFBool normalPerVertex TRUE \n\
00343 field SFBool solid TRUE \n\
00344 field SFInt32 xDimension 0 \n\
00345 field SFFloat xSpacing 0.0 \n\
00346 field SFInt32 zDimension 0 \n\
00347 field SFFloat zSpacing 0.0 \n\
00348 \n\
00349 ] { } \n\
00350 \n\
00351 PROTO Extrusion [ \n\
00352 eventIn MFVec2f set_crossSection \n\
00353 eventIn MFRotation set_orientation \n\
00354 eventIn MFVec2f set_scale \n\
00355 eventIn MFVec3f set_spine \n\
00356 field SFBool beginCap TRUE \n\
00357 field SFBool ccw TRUE \n\
00358 field SFBool convex TRUE \n\
00359 field SFFloat creaseAngle 0 \n\
00360 field MFVec2f crossSection [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ] \n\
00361 field SFBool endCap TRUE \n\
00362 field MFRotation orientation 0 0 1 0 \n\
00363 field MFVec2f scale 1 1 \n\
00364 field SFBool solid TRUE \n\
00365 field MFVec3f spine [ 0 0 0, 0 1 0 ] \n\
00366 ] { } \n\
00367 \n\
00368 PROTO Fog [ \n\
00369 exposedField SFColor color 1 1 1 \n\
00370 exposedField SFString fogType \"LINEAR\" \n\
00371 exposedField SFFloat visibilityRange 0 \n\
00372 eventIn SFBool set_bind \n\
00373 eventOut SFBool isBound \n\
00374 ] { }",
00375 "PROTO FontStyle [ \n\
00376 field SFString family \"SERIF\" \n\
00377 field SFBool horizontal TRUE \n\
00378 field MFString justify \"BEGIN\" \n\
00379 field SFString language \"\" \n\
00380 field SFBool leftToRight TRUE \n\
00381 field SFFloat size 1.0 \n\
00382 field SFFloat spacing 1.0 \n\
00383 field SFString style \"PLAIN\" \n\
00384 field SFBool topToBottom TRUE \n\
00385 ] { } \n\
00386 \n\
00387 PROTO Group [ \n\
00388 eventIn MFNode addChildren \n\
00389 eventIn MFNode removeChildren \n\
00390 exposedField MFNode children [] \n\
00391 field SFVec3f bboxCenter 0 0 0 \n\
00392 field SFVec3f bboxSize -1 -1 -1 \n\
00393 ] { } \n\
00394 \n\
00395 PROTO ImageTexture [ \n\
00396 exposedField MFString url [] \n\
00397 field SFBool repeatS TRUE \n\
00398 field SFBool repeatT TRUE \n\
00399 ] { } \n\
00400 \n\
00401 PROTO IndexedFaceSet [ \n\
00402 eventIn MFInt32 set_colorIndex \n\
00403 eventIn MFInt32 set_coordIndex \n\
00404 eventIn MFInt32 set_normalIndex \n\
00405 eventIn MFInt32 set_texCoordIndex \n\
00406 exposedField SFNode color NULL \n\
00407 exposedField SFNode coord NULL \n\
00408 exposedField SFNode normal NULL \n\
00409 exposedField SFNode texCoord NULL \n\
00410 field SFBool ccw TRUE \n\
00411 field MFInt32 colorIndex [] \n\
00412 field SFBool colorPerVertex TRUE \n\
00413 field SFBool convex TRUE \n\
00414 field MFInt32 coordIndex [] \n\
00415 field SFFloat creaseAngle 0 \n\
00416 field MFInt32 normalIndex [] \n\
00417 field SFBool normalPerVertex TRUE \n\
00418 field SFBool solid TRUE \n\
00419 field MFInt32 texCoordIndex [] \n\
00420 ] { } \n\
00421 \n\
00422 PROTO IndexedLineSet [ \n\
00423 eventIn MFInt32 set_colorIndex \n\
00424 eventIn MFInt32 set_coordIndex \n\
00425 exposedField SFNode color NULL \n\
00426 exposedField SFNode coord NULL \n\
00427 field MFInt32 colorIndex [] \n\
00428 field SFBool colorPerVertex TRUE \n\
00429 field MFInt32 coordIndex [] \n\
00430 ] { }",
00431 "PROTO Inline [ \n\
00432 exposedField MFString url [] \n\
00433 field SFVec3f bboxCenter 0 0 0 \n\
00434 field SFVec3f bboxSize -1 -1 -1 \n\
00435 ] { } \n\
00436 PROTO LOD [ \n\
00437 exposedField MFNode level [] \n\
00438 field SFVec3f center 0 0 0 \n\
00439 field MFFloat range [] \n\
00440 ] { } \n\
00441 \n\
00442 PROTO Material [ \n\
00443 exposedField SFFloat ambientIntensity 0.2 \n\
00444 exposedField SFColor diffuseColor 0.8 0.8 0.8 \n\
00445 exposedField SFColor emissiveColor 0 0 0 \n\
00446 exposedField SFFloat shininess 0.2 \n\
00447 exposedField SFColor specularColor 0 0 0 \n\
00448 exposedField SFFloat transparency 0 \n\
00449 ] { } \n\
00450 \n\
00451 PROTO MovieTexture [ \n\
00452 exposedField SFBool loop FALSE \n\
00453 exposedField SFFloat speed 1 \n\
00454 exposedField SFTime startTime 0 \n\
00455 exposedField SFTime stopTime 0 \n\
00456 exposedField MFString url [] \n\
00457 field SFBool repeatS TRUE \n\
00458 field SFBool repeatT TRUE \n\
00459 eventOut SFFloat duration_changed \n\
00460 eventOut SFBool isActive \n\
00461 ] { } \n\
00462 \n\
00463 PROTO NavigationInfo [ \n\
00464 eventIn SFBool set_bind \n\
00465 exposedField MFFloat avatarSize [ 0.25, 1.6, 0.75 ] \n\
00466 exposedField SFBool headlight TRUE \n\
00467 exposedField SFFloat speed 1.0 \n\
00468 exposedField MFString type \"WALK\" \n\
00469 exposedField SFFloat visibilityLimit 0.0 \n\
00470 eventOut SFBool isBound \n\
00471 ] { } \n\
00472 \n\
00473 PROTO Normal [ \n\
00474 exposedField MFVec3f vector [] \n\
00475 ] { } \n\
00476 \n\
00477 PROTO NormalInterpolator [ \n\
00478 eventIn SFFloat set_fraction \n\
00479 exposedField MFFloat key [] \n\
00480 exposedField MFVec3f keyValue [] \n\
00481 eventOut MFVec3f value_changed \n\
00482 ] { } \n\
00483 \n\
00484 PROTO OrientationInterpolator [ \n\
00485 eventIn SFFloat set_fraction \n\
00486 exposedField MFFloat key [] \n\
00487 exposedField MFRotation keyValue [] \n\
00488 eventOut SFRotation value_changed \n\
00489 ] { } \n\
00490 \n\
00491 PROTO PixelTexture [ \n\
00492 exposedField SFImage image 0 0 0 \n\
00493 field SFBool repeatS TRUE \n\
00494 field SFBool repeatT TRUE \n\
00495 ] { }",
00496 "PROTO PlaneSensor [ \n\
00497 exposedField SFBool autoOffset TRUE \n\
00498 exposedField SFBool enabled TRUE \n\
00499 exposedField SFVec2f maxPosition -1 -1 \n\
00500 exposedField SFVec2f minPosition 0 0 \n\
00501 exposedField SFVec3f offset 0 0 0 \n\
00502 eventOut SFBool isActive \n\
00503 eventOut SFVec3f trackPoint_changed \n\
00504 eventOut SFVec3f translation_changed \n\
00505 ] { } \n\
00506 \n\
00507 PROTO PointLight [ \n\
00508 exposedField SFFloat ambientIntensity 0 \n\
00509 exposedField SFVec3f attenuation 1 0 0 \n\
00510 exposedField SFColor color 1 1 1 \n\
00511 exposedField SFFloat intensity 1 \n\
00512 exposedField SFVec3f location 0 0 0 \n\
00513 exposedField SFBool on TRUE \n\
00514 exposedField SFFloat radius 100 \n\
00515 ] { } \n\
00516 \n\
00517 PROTO PointSet [ \n\
00518 exposedField SFNode color NULL \n\
00519 exposedField SFNode coord NULL \n\
00520 ] { } \n\
00521 \n\
00522 PROTO PositionInterpolator [ \n\
00523 eventIn SFFloat set_fraction \n\
00524 exposedField MFFloat key [] \n\
00525 exposedField MFVec3f keyValue [] \n\
00526 eventOut SFVec3f value_changed \n\
00527 ] { } \n\
00528 \n\
00529 PROTO ProximitySensor [ \n\
00530 exposedField SFVec3f center 0 0 0 \n\
00531 exposedField SFVec3f size 0 0 0 \n\
00532 exposedField SFBool enabled TRUE \n\
00533 eventOut SFBool isActive \n\
00534 eventOut SFVec3f position_changed \n\
00535 eventOut SFRotation orientation_changed \n\
00536 eventOut SFTime enterTime \n\
00537 eventOut SFTime exitTime \n\
00538 ] { }",
00539 "PROTO ScalarInterpolator [ \n\
00540 eventIn SFFloat set_fraction \n\
00541 exposedField MFFloat key [] \n\
00542 exposedField MFFloat keyValue [] \n\
00543 eventOut SFFloat value_changed \n\
00544 ] { } \n\
00545 \n\
00546 PROTO Script [ \n\
00547 exposedField MFString url [ ] \n\
00548 field SFBool directOutput FALSE \n\
00549 field SFBool mustEvaluate FALSE \n\
00550 ] { } \n\
00551 \n\
00552 PROTO Shape [ \n\
00553 field SFNode appearance NULL \n\
00554 field SFNode geometry NULL \n\
00555 ] { } \n\
00556 \n\
00557 PROTO Sound [ \n\
00558 exposedField SFVec3f direction 0 0 1 \n\
00559 exposedField SFFloat intensity 1 \n\
00560 exposedField SFVec3f location 0 0 0 \n\
00561 exposedField SFFloat maxBack 10 \n\
00562 exposedField SFFloat maxFront 10 \n\
00563 exposedField SFFloat minBack 1 \n\
00564 exposedField SFFloat minFront 1 \n\
00565 exposedField SFFloat priority 0 \n\
00566 exposedField SFNode source NULL \n\
00567 field SFBool spatialize TRUE \n\
00568 ] { } \n\
00569 \n\
00570 PROTO Sphere [ \n\
00571 field SFFloat radius 1 \n\
00572 ] { } \n\
00573 \n\
00574 PROTO SphereSensor [ \n\
00575 exposedField SFBool autoOffset TRUE \n\
00576 exposedField SFBool enabled TRUE \n\
00577 exposedField SFRotation offset 0 1 0 0 \n\
00578 eventOut SFBool isActive \n\
00579 eventOut SFRotation rotation_changed \n\
00580 eventOut SFVec3f trackPoint_changed \n\
00581 ] { } \n\
00582 \n\
00583 PROTO SpotLight [ \n\
00584 exposedField SFFloat ambientIntensity 0 \n\
00585 exposedField SFVec3f attenuation 1 0 0 \n\
00586 exposedField SFFloat beamWidth 1.570796 \n\
00587 exposedField SFColor color 1 1 1 \n\
00588 exposedField SFFloat cutOffAngle 0.785398 \n\
00589 exposedField SFVec3f direction 0 0 -1 \n\
00590 exposedField SFFloat intensity 1 \n\
00591 exposedField SFVec3f location 0 0 0 \n\
00592 exposedField SFBool on TRUE \n\
00593 exposedField SFFloat radius 100 \n\
00594 ] { } \n\
00595 \n\
00596 PROTO Switch [ \n\
00597 exposedField MFNode choice [] \n\
00598 exposedField SFInt32 whichChoice -1 \n\
00599 ] { } \n\
00600 \n\
00601 PROTO Text [ \n\
00602 exposedField MFString string [] \n\
00603 field SFNode fontStyle NULL \n\
00604 field MFFloat length [] \n\
00605 field SFFloat maxExtent 0.0 \n\
00606 ] { }",
00607 "PROTO TextureCoordinate [ \n\
00608 exposedField MFVec2f point [] \n\
00609 ] { } \n\
00610 PROTO TextureTransform [ \n\
00611 exposedField SFVec2f center 0 0 \n\
00612 exposedField SFFloat rotation 0 \n\
00613 exposedField SFVec2f scale 1 1 \n\
00614 exposedField SFVec2f translation 0 0 \n\
00615 ] { } \n\
00616 \n\
00617 PROTO TimeSensor [ \n\
00618 exposedField SFTime cycleInterval 1 \n\
00619 exposedField SFBool enabled TRUE \n\
00620 exposedField SFBool loop FALSE \n\
00621 exposedField SFTime startTime 0 \n\
00622 exposedField SFTime stopTime 0 \n\
00623 eventOut SFTime cycleTime \n\
00624 eventOut SFFloat fraction_changed \n\
00625 eventOut SFBool isActive \n\
00626 eventOut SFTime time \n\
00627 ] { } \n\
00628 \n\
00629 PROTO TouchSensor [ \n\
00630 exposedField SFBool enabled TRUE \n\
00631 eventOut SFVec3f hitNormal_changed \n\
00632 eventOut SFVec3f hitPoint_changed \n\
00633 eventOut SFVec2f hitTexCoord_changed \n\
00634 eventOut SFBool isActive \n\
00635 eventOut SFBool isOver \n\
00636 eventOut SFTime touchTime \n\
00637 ] { } \n\
00638 \n\
00639 PROTO Transform [ \n\
00640 eventIn MFNode addChildren \n\
00641 eventIn MFNode removeChildren \n\
00642 exposedField SFVec3f center 0 0 0 \n\
00643 exposedField MFNode children [] \n\
00644 exposedField SFRotation rotation 0 0 1 0 \n\
00645 exposedField SFVec3f scale 1 1 1 \n\
00646 exposedField SFRotation scaleOrientation 0 0 1 0 \n\
00647 exposedField SFVec3f translation 0 0 0 \n\
00648 field SFVec3f bboxCenter 0 0 0 \n\
00649 field SFVec3f bboxSize -1 -1 -1 \n\
00650 ] { } \n\
00651 \n\
00652 PROTO Viewpoint [ \n\
00653 eventIn SFBool set_bind \n\
00654 exposedField SFFloat fieldOfView 0.785398 \n\
00655 exposedField SFBool jump TRUE \n\
00656 exposedField SFRotation orientation 0 0 1 0 \n\
00657 exposedField SFVec3f position 0 0 10 \n\
00658 field SFString description \"\" \n\
00659 eventOut SFTime bindTime \n\
00660 eventOut SFBool isBound \n\
00661 ] { }",
00662 "PROTO VisibilitySensor [ \n\
00663 exposedField SFVec3f center 0 0 0 \n\
00664 exposedField SFBool enabled TRUE \n\
00665 exposedField SFVec3f size 0 0 0 \n\
00666 eventOut SFTime enterTime \n\
00667 eventOut SFTime exitTime \n\
00668 eventOut SFBool isActive \n\
00669 ] { } \n\
00670 \n\
00671 PROTO WorldInfo [ \n\
00672 field MFString info [] \n\
00673 field SFString title \"\" \n\
00674 ] { }",""
00675 };
00676 #endif