fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / System / FileIO / WRL / OSGVRMLProtos.inl
blobbd7286ab40c6e5b81a03e91c96cf808d180f4598
2 void VRMLFile::createStandardPrototypes(void)
4 #ifdef OSG_DEBUG_VRML
5     VRMLNodeHelper::resetIndent();
6 #endif
8     preStandardProtos();
10 #if 0
11 PROTO Anchor [
12     eventIn      MFNode   addChildren
13     eventIn      MFNode   removeChildren
14     exposedField MFNode   children        []
15     exposedField SFString description     ""
16     exposedField MFString parameter       []
17     exposedField MFString url             []
18     field        SFVec3f  bboxCenter      0 0 0
19     field        SFVec3f  bboxSize        -1 -1 -1
20     ] { }
21 #endif
23  beginProto   ("Anchor");
24  {
25      beginEventInDecl     ("MFNode", Self::OSGmfNode, "addChildren");
26      endEventDecl         ();
28      beginEventInDecl     ("MFNode", Self::OSGmfNode, "removeChildren");
29      endEventDecl         ();
31      beginExposedFieldDecl("MFNode",   Self::OSGmfNode,   "children");
32      endExposedFieldDecl  ();
34      beginExposedFieldDecl("SFString", Self::OSGsfString, "description");
35      endExposedFieldDecl  ();
37      beginExposedFieldDecl("MFString", Self::OSGmfString, "parameter");
38      endExposedFieldDecl  ();
40      beginExposedFieldDecl("MFString", Self::OSGmfString, "url");
41      endExposedFieldDecl  ();
43      beginFieldDecl       ("SFVec3f",  Self::OSGsfVec3f, "bboxCenter");
44      addFieldValue        ("0 0 0");
45      endFieldDecl         ();
47      beginFieldDecl       ("SFVec3f",  Self::OSGsfVec3f, "bboxSize");
48      addFieldValue        ("-1 -1 -1");
49      endFieldDecl         ();
50  }
51  endProtoInterface();
52  endProto         ();
55 #if 0
56 PROTO Appearance [
57   exposedField SFNode material          NULL
58   exposedField SFNode texture           NULL
59   exposedField SFNode textureTransform  NULL
60 ] { }
61 #endif
63  beginProto("Appearance");
64  {
65      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "material");
66 //     addFieldValue         ("NULL");
67      endExposedFieldDecl  ();
69      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "texture");
70 //     addFieldValue         ("NULL");
71      endExposedFieldDecl  ();
73      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "textureTransform");
74 //     addFieldValue         ("NULL");
75      endExposedFieldDecl  ();
76  }
77  endProtoInterface();
78  endProto         ();
81 #if 0
82 PROTO AudioClip [
83   exposedField   SFString description  ""
84   exposedField   SFBool   loop         FALSE
85   exposedField   SFFloat  pitch        1.0
86   exposedField   SFTime   startTime    0
87   exposedField   SFTime   stopTime     0
88   exposedField   MFString url          []
89   eventOut       SFTime   duration_changed
90   eventOut       SFBool   isActive
91 ] { }
92 #endif
94  beginProto("AudioClip");
95  {
96      beginExposedFieldDecl("SFString", Self::OSGsfString, "description");
97      addFieldValue        ("");
98      endExposedFieldDecl  ();
100      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "loop");
101      addFieldValue        ("FALSE");
102      endExposedFieldDecl  ();
104      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "pitch");
105      addFieldValue        ("1.0");
106      endExposedFieldDecl  ();
108      beginExposedFieldDecl("SFTime", Self::OSGsfTime, "startTime");
109      addFieldValue        ("0");
110      endExposedFieldDecl  ();
112      beginExposedFieldDecl("SFTime", Self::OSGsfTime, "stopTime");
113      addFieldValue        ("0");
114      endExposedFieldDecl  ();
116      beginExposedFieldDecl("MFString", Self::OSGmfString, "url");
117      endExposedFieldDecl  ();
119      beginEventOutDecl      ("SFTime", Self::OSGsfTime, "duration_changed");
120      endEventDecl           ();
122      beginEventOutDecl      ("SFBool", Self::OSGsfBool, "isActive");
123      endEventDecl           ();
125  endProtoInterface();
126  endProto         ();
128 #if 0
129 PROTO Background [
130   eventIn      SFBool   set_bind
131   exposedField MFFloat  groundAngle  []
132   exposedField MFColor  groundColor  []
133   exposedField MFString backUrl      []
134   exposedField MFString bottomUrl    []
135   exposedField MFString frontUrl     []
136   exposedField MFString leftUrl      []
137   exposedField MFString rightUrl     []
138   exposedField MFString topUrl       []
139   exposedField MFFloat  skyAngle     []
140   exposedField MFColor  skyColor     [ 0 0 0  ]
141   eventOut     SFBool   isBound
142 ] { }
143 #endif
145  beginProto("Background");
147      beginEventInDecl       ("SFBool", Self::OSGsfBool, "set_bind");
148      endEventDecl           ();
150      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "groundAngle");
151      endExposedFieldDecl  ();
153      beginExposedFieldDecl("MFColor", Self::OSGmfColor, "groundColor");
154      endExposedFieldDecl  ();
156      beginExposedFieldDecl("MFString", Self::OSGmfString, "backUrl");
157      endExposedFieldDecl  ();
159      beginExposedFieldDecl("MFString", Self::OSGmfString, "bottomUrl");
160      endExposedFieldDecl  ();
162      beginExposedFieldDecl("MFString", Self::OSGmfString, "frontUrl");
163      endExposedFieldDecl  ();
165      beginExposedFieldDecl("MFString", Self::OSGmfString, "leftUrl");
166      endExposedFieldDecl  ();
168      beginExposedFieldDecl("MFString", Self::OSGmfString, "rightUrl");
169      endExposedFieldDecl  ();
171      beginExposedFieldDecl("MFString", Self::OSGmfString, "topUrl");
172      endExposedFieldDecl  ();
174      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "skyAngle");
175      endExposedFieldDecl  ();
177      beginExposedFieldDecl("MFColor", Self::OSGmfColor, "skyColor");
178      addFieldValue        ("0 0 0");
179      endExposedFieldDecl  ();
181      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isBound");
182      endEventDecl         ();
184  endProtoInterface();
185  endProto         ();
189 #if 0
190 PROTO Billboard [
191   eventIn      MFNode   addChildren
192   eventIn      MFNode   removeChildren
193   exposedField SFVec3f  axisOfRotation  0 1 0
194   exposedField MFNode   children        []
195   field        SFVec3f  bboxCenter      0 0 0
196   field        SFVec3f  bboxSize        -1 -1 -1
197 ] { }
198 #endif
200  beginProto("Billboard");
202      beginEventInDecl     ("MFNode", Self::OSGmfNode, "addChildren");
203      endEventDecl         ();
205      beginEventInDecl     ("MFNode", Self::OSGmfNode, "removeChildren");
206      endEventDecl         ();
208      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "axisOfRotation");
209      addFieldValue        ("0 1 0");
210      endExposedFieldDecl  ();
212      beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children");
213      endExposedFieldDecl  ();
215      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxCenter");
216      addFieldValue        ("0 0 0");
217      endFieldDecl         ();
219      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxSize");
220      addFieldValue        ("-1 -1 -1");
221      endFieldDecl         ();
223  endProtoInterface();
224  endProto         ();
227 #if 0
228 PROTO Box [
229   field    SFVec3f size  2 2 2
230 ] { }
231 #endif
233  beginProto("Box");
235      beginFieldDecl("SFVec3f", Self::OSGsfVec3f, "size");
236      addFieldValue ("2 2 2");
237      endFieldDecl  ();
239      beginFieldDecl("SFBool", Self::OSGsfBool, "invert");
240      addFieldValue ("FALSE");
241      endFieldDecl  ();
243  endProtoInterface();
244  endProto  ();
246 #if 0
247 PROTO Collision [
248   eventIn      MFNode   addChildren
249   eventIn      MFNode   removeChildren
250   exposedField MFNode   children        []
251   exposedField SFBool   collide         TRUE
252   field        SFVec3f  bboxCenter      0 0 0
253   field        SFVec3f  bboxSize        -1 -1 -1
254   field        SFNode   proxy           NULL
255   eventOut     SFTime   collideTime
256 ] { }
257 #endif
259  beginProto("Collision");
261      beginEventInDecl      ("MFNode", Self::OSGmfNode, "addChildren");
262      endEventDecl          ();
264      beginEventInDecl      ("MFNode", Self::OSGmfNode, "removeChildren");
265      endEventDecl          ();
267      beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children");
268      endExposedFieldDecl  ();
270      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "collide");
271      addFieldValue        ("TRUE");
272      endExposedFieldDecl  ();
274      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxCenter");
275      addFieldValue        ("0 0 0");
276      endFieldDecl         ();
278      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxSize");
279      addFieldValue        ("-1 -1 -1");
280      endFieldDecl         ();
282      beginFieldDecl       ("SFNode", Self::OSGsfNode, "proxy");
283      endFieldDecl         ();
285      beginEventOutDecl      ("SFTime", OSGsfTime, "collideTime");
286      endEventDecl           ();
288  endProtoInterface();
289  endProto  ();
291 #if 0
292 PROTO Color [
293   exposedField MFColor color     []
294 ] { }
295 #endif
297  beginProto("Color");
299      beginExposedFieldDecl("MFColor", Self::OSGmfColor, "color");
300      endExposedFieldDecl  ();
302  endProtoInterface();
303  endProto  ();
305 #if 0
306 PROTO ColorInterpolator [
307   eventIn      SFFloat set_fraction
308   exposedField MFFloat key       []
309   exposedField MFColor keyValue  []
310   eventOut     SFColor value_changed
311 ] { }
312 #endif
314  beginProto("ColorInterpolator");
316      beginEventInDecl     ("SFFloat", OSGsfFloat, "set_fraction");
317      endEventDecl         ();
319      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key");
320      endExposedFieldDecl  ();
322      beginExposedFieldDecl("MFColor", Self::OSGmfColor, "keyValue");
323      endExposedFieldDecl  ();
325      beginEventOutDecl    ("SFColor", Self::OSGsfColor, "value_changed");
326      endEventDecl         ();
328  endProtoInterface();
329  endProto  ();
331 #if 0
332 PROTO Cone [
333   field     SFFloat   bottomRadius 1
334   field     SFFloat   height       2
335   field     SFBool    side         TRUE
336   field     SFBool    bottom       TRUE
337 ] { }
338 #endif
340  beginProto("Cone");
342      beginFieldDecl("SFFloat", Self::OSGsfFloat, "bottomRadius");
343      addFieldValue ("1");
344      endFieldDecl  ();
346      beginFieldDecl("SFFloat", Self::OSGsfFloat, "height");
347      addFieldValue ("2");
348      endFieldDecl  ();
350      beginFieldDecl("SFBool", Self::OSGsfBool, "side");
351      addFieldValue ("TRUE");
352      endFieldDecl  ();
354      beginFieldDecl("SFBool", Self::OSGsfBool, "bottom");
355      addFieldValue ("TRUE");
356      endFieldDecl  ();
358  endProtoInterface();
359  endProto  ();
361 #if 0
362 PROTO Coordinate [
363   exposedField MFVec3f point  []
364 ] { }
365 #endif
367  beginProto("Coordinate");
369      beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "point");
370      endExposedFieldDecl  ();
372  endProtoInterface();
373  endProto  ();
375 #if 0
376 PROTO CoordinateInterpolator [
377   eventIn      SFFloat set_fraction
378   exposedField MFFloat key       []
379   exposedField MFVec3f keyValue  []
380   eventOut     MFVec3f value_changed
381 ] { }
382 #endif
384  beginProto("CoordinateInterpolator");
386      beginEventInDecl     ("SFFloat", Self::OSGsfFloat, "set_fraction");
387      endEventDecl         ();
389      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key");
390      endExposedFieldDecl  ();
392      beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "keyValue");
393      endExposedFieldDecl  ();
395      beginEventOutDecl    ("MFVec3f", Self::OSGmfVec3f, "value_changed");
396      endEventDecl         ();
398  endProtoInterface();
399  endProto  ();
401 #if 0
402 PROTO Cylinder [
403   field    SFBool    bottom  TRUE
404   field    SFFloat   height  2
405   field    SFFloat   radius  1
406   field    SFBool    side    TRUE
407   field    SFBool    top     TRUE
408 ] { }
409 #endif
411  beginProto("Cylinder");
413      beginFieldDecl("SFBool", Self::OSGsfBool, "bottom");
414      addFieldValue ("TRUE");
415      endFieldDecl  ();
417      beginFieldDecl("SFFloat", Self::OSGsfFloat, "height");
418      addFieldValue ("2");
419      endFieldDecl  ();
421      beginFieldDecl("SFFloat", Self::OSGsfFloat, "radius");
422      addFieldValue ("1");
423      endFieldDecl  ();
425      beginFieldDecl("SFBool", Self::OSGsfBool, "side");
426      addFieldValue ("TRUE");
427      endFieldDecl  ();
429      beginFieldDecl("SFBool", Self::OSGsfBool, "top");
430      addFieldValue ("TRUE");
431      endFieldDecl  ();
433  endProtoInterface();
434  endProto  ();
436 #if 0
437 PROTO CylinderSensor [
438   exposedField SFBool     autoOffset TRUE
439   exposedField SFFloat    diskAngle  0.262
440   exposedField SFBool     enabled    TRUE
441   exposedField SFFloat    maxAngle   -1
442   exposedField SFFloat    minAngle   0
443   exposedField SFFloat    offset     0
444   eventOut     SFBool     isActive
445   eventOut     SFRotation rotation_changed
446   eventOut     SFVec3f    trackPoint_changed
447 ] { }
448 #endif
450  beginProto("CylinderSensor");
452      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "autoOffset");
453      addFieldValue        ("TRUE");
454      endExposedFieldDecl  ();
456      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "diskAngle");
457      addFieldValue        ("0.262");
458      endExposedFieldDecl  ();
460      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled");
461      addFieldValue        ("TRUE");
462      endExposedFieldDecl  ();
464      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "maxAngle");
465      addFieldValue        ("-1");
466      endExposedFieldDecl  ();
468      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "minAngle");
469      addFieldValue        ("0");
470      endExposedFieldDecl  ();
472      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "offset");
473      addFieldValue        ("0");
474      endExposedFieldDecl  ();
476      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isActive");
477      endEventDecl         ();
479      beginEventOutDecl    ("SFRotation",
480                            Self::OSGsfRotation,
481                            "rotation_changed");
482      endEventDecl         ();
484      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "trackPoint_changed");
485      endEventDecl         ();
487  endProtoInterface();
488  endProto  ();
490 #if 0
491 PROTO DirectionalLight [
492   exposedField SFFloat ambientIntensity  0
493   exposedField SFColor color             1 1 1
494   exposedField SFVec3f direction         0 0 -1
495   exposedField SFFloat intensity         1
496   exposedField SFBool  on                TRUE
497 ] { }
498 #endif
500  beginProto("DirectionalLight");
502      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity");
503      addFieldValue        ("0");
504      endExposedFieldDecl  ();
506      beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color");
507      addFieldValue        ("1 1 1");
508      endExposedFieldDecl  ();
510      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "direction");
511      addFieldValue        ("0 0 -1");
512      endExposedFieldDecl  ();
514      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity");
515      addFieldValue        ("1");
516      endExposedFieldDecl  ();
518      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "on");
519      addFieldValue        ("TRUE");
520      endExposedFieldDecl  ();
522  endProtoInterface();
523  endProto  ();
525 #if 0
526 PROTO ElevationGrid [
527   eventIn      MFFloat  set_height
528   exposedField SFNode   color             NULL
529   exposedField SFNode   normal            NULL
530   exposedField SFNode   texCoord          NULL
531   field        SFBool   ccw               TRUE
532   field        SFBool   colorPerVertex    TRUE
533   field        SFFloat  creaseAngle       0
534   field        MFFloat  height            []
535   field        SFBool   normalPerVertex   TRUE
536   field        SFBool   solid             TRUE
537   field        SFInt32  xDimension        0
538   field        SFFloat  xSpacing          0.0
539   field        SFInt32  zDimension        0
540   field        SFFloat  zSpacing          0.0
542 ] { }
543 #endif
545  beginProto("ElevationGrid");
547      beginEventInDecl     ("MFFloat", Self::OSGmfFloat, "set_height");
548      endEventDecl         ();
550      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color");
551 //     addFieldValue        ("NULL");
552      endExposedFieldDecl  ();
554      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "normal");
555 //     addFieldValue        ("NULL");
556      endExposedFieldDecl  ();
558      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "texCoord");
559 //     addFieldValue        ("NULL");
560      endExposedFieldDecl  ();
562      beginFieldDecl       ("SFBool", Self::OSGsfBool, "ccw");
563      addFieldValue        ("TRUE");
564      endFieldDecl         ();
566      beginFieldDecl       ("SFBool", Self::OSGsfBool, "colorPerVertex");
567      addFieldValue        ("TRUE");
568      endFieldDecl         ();
570      beginFieldDecl       ("SFFloat", Self::OSGsfFloat, "creaseAngle");
571      addFieldValue        ("0");
572      endFieldDecl         ();
574      beginFieldDecl       ("MFFloat", Self::OSGmfFloat, "height");
575      endFieldDecl         ();
577      beginFieldDecl       ("SFBool", Self::OSGsfBool, "normalPerVertex");
578      addFieldValue        ("TRUE");
579      endFieldDecl         ();
581      beginFieldDecl       ("SFBool", Self::OSGsfBool, "solid");
582      addFieldValue        ("TRUE");
583      endFieldDecl         ();
585      beginFieldDecl       ("SFInt32", Self::OSGsfInt32, "xDimension");
586      addFieldValue        ("0");
587      endFieldDecl         ();
589      beginFieldDecl       ("SFFloat", Self::OSGsfFloat, "xSpacing");
590      addFieldValue        ("0.0");
591      endFieldDecl         ();
593      beginFieldDecl       ("SFInt32", Self::OSGsfInt32, "zDimension");
594      addFieldValue        ("0");
595      endFieldDecl         ();
597      beginFieldDecl       ("SFFloat", Self::OSGsfFloat, "zSpacing");
598      addFieldValue        ("0.0");
599      endFieldDecl         ();
601  endProtoInterface();
602  endProto  ();
604 #if 0
605 PROTO Extrusion [
606   eventIn MFVec2f    set_crossSection
607   eventIn MFRotation set_orientation
608   eventIn MFVec2f    set_scale
609   eventIn MFVec3f    set_spine
610   field   SFBool     beginCap         TRUE
611   field   SFBool     ccw              TRUE
612   field   SFBool     convex           TRUE
613   field   SFFloat    creaseAngle      0
614   field   MFVec2f    crossSection     [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ]
615   field   SFBool     endCap           TRUE
616   field   MFRotation orientation      0 0 1 0
617   field   MFVec2f    scale            1 1
618   field   SFBool     solid            TRUE
619   field   MFVec3f    spine            [ 0 0 0, 0 1 0 ]
620 ] { }
621 #endif
623  beginProto("Extrusion");
625      beginEventInDecl("MFVec2f", Self::OSGmfVec2f, "set_crossSection");
626      endEventDecl    ();
627      beginEventInDecl("MFRotation", Self::OSGmfRotation, "set_orientation");
628      endEventDecl    ();
630      beginEventInDecl("MFVec2f", Self::OSGmfVec2f, "set_scale");
631      endEventDecl    ();
633      beginEventInDecl("MFVec3f", Self::OSGmfVec3f, "set_spine");
634      endEventDecl    ();
636      beginFieldDecl("SFBool", Self::OSGsfBool, "beginCap");
637      addFieldValue ("TRUE");
638      endFieldDecl  ();
640      beginFieldDecl("SFBool", Self::OSGsfBool, "ccw");
641      addFieldValue ("TRUE");
642      endFieldDecl  ();
644      beginFieldDecl("SFBool", Self::OSGsfBool, "convex");
645      addFieldValue ("TRUE");
646      endFieldDecl  ();
648      beginFieldDecl("SFFloat", Self::OSGsfFloat, "creaseAngle");
649      addFieldValue ("0");
650      endFieldDecl  ();
652      beginFieldDecl("MFVec2f", Self::OSGmfVec2f, "crossSection");
653      endFieldDecl  ();
655      beginFieldDecl("SFBool", Self::OSGsfBool, "endCap");
656      addFieldValue ("TRUE");
657      endFieldDecl  ();
659      beginFieldDecl("MFRotation", Self::OSGmfRotation, "orientation");
660      endFieldDecl  ();
662      beginFieldDecl("MFVec2f", Self::OSGmfVec2f, "scale");
663      endFieldDecl  ();
665      beginFieldDecl("SFBool", Self::OSGsfBool, "solid");
666      addFieldValue ("TRUE");
667      endFieldDecl  ();
669      beginFieldDecl("MFVec3f", Self::OSGmfVec3f, "spine");
670      endFieldDecl  ();
672  endProtoInterface();
673  endProto  ();
675 #if 0
676 PROTO Fog [
677   exposedField SFColor  color            1 1 1
678   exposedField SFString fogType          "LINEAR"
679   exposedField SFFloat  visibilityRange  0
680   eventIn      SFBool   set_bind
681   eventOut     SFBool   isBound
682 ] { }
683 #endif
685  beginProto("Fog");
687      beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color");
688      addFieldValue        ("1 1 1");
689      endExposedFieldDecl  ();
691      beginExposedFieldDecl("SFString", Self::OSGsfString, "fogType");
692      addFieldValue        ("LINEAR");
693      endExposedFieldDecl  ();
695      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "visibilityRange");
696      addFieldValue        ("0");
697      endExposedFieldDecl  ();
699      beginEventInDecl     ("SFBool", Self::OSGsfBool, "set_bind");
700      endEventDecl         ();
702      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isBound");
703      endEventDecl         ();
705  endProtoInterface();
706  endProto  ();
708 #if 0
709 PROTO FontStyle [
710   field SFString family     "SERIF"
711   field SFBool   horizontal  TRUE
712   field MFString justify     "BEGIN"
713   field SFString language    ""
714   field SFBool   leftToRight TRUE
715   field SFFloat  size       1.0
716   field SFFloat  spacing     1.0
717   field SFString style       "PLAIN"
718   field SFBool   topToBottom TRUE
719 ] { }
720 #endif
722  beginProto("FontStyle");
724      beginFieldDecl("SFString", Self::OSGsfString, "family");
725      addFieldValue ("SERIF");
726      endFieldDecl  ();
728      beginFieldDecl("SFBool", Self::OSGsfBool, "horizontal");
729      addFieldValue ("TRUE");
730      endFieldDecl  ();
732      beginFieldDecl("MFString", Self::OSGmfString, "justify");
733      addFieldValue ("BEGIN");
734      endFieldDecl  ();
736      beginFieldDecl("SFString", Self::OSGsfString, "language");
737      addFieldValue ("");
738      endFieldDecl  ();
740      beginFieldDecl("SFBool", Self::OSGsfBool, "leftToRight");
741      addFieldValue ("TRUE");
742      endFieldDecl  ();
744      beginFieldDecl("SFFloat", Self::OSGsfFloat, "size");
745      addFieldValue ("1.0");
746      endFieldDecl  ();
748      beginFieldDecl("SFFloat", Self::OSGsfFloat, "spacing");
749      addFieldValue ("1.0");
750      endFieldDecl  ();
752      beginFieldDecl("SFString", Self::OSGsfString, "style");
753      addFieldValue ("PLAIN");
754      endFieldDecl  ();
756      beginFieldDecl("SFBool", Self::OSGsfBool, "topToBottom");
757      addFieldValue ("TRUE");
758      endFieldDecl  ();
760  endProtoInterface();
761  endProto   ();
763 #if 0
764 PROTO Group [
765   eventIn      MFNode  addChildren
766   eventIn      MFNode  removeChildren
767   exposedField MFNode  children   []
768   field        SFVec3f bboxCenter 0 0 0
769   field        SFVec3f bboxSize   -1 -1 -1
770 ] { }
771 #endif
773  beginProto("Group");
775      beginEventInDecl     ("MFNode", Self::OSGmfNode, "addChildren");
776      endEventDecl         ();
778      beginEventInDecl     ("MFNode", Self::OSGmfNode, "removeChildren");
779      endEventDecl         ();
781      beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children");
782      endExposedFieldDecl  ();
784      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxCenter");
785      addFieldValue        ("0 0 0");
786      endFieldDecl         ();
788      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxSize");
789      addFieldValue        ("-1 -1 -1");
790      endFieldDecl         ();
792  endProtoInterface();
793  endProto  ();
795 #if 0
796 PROTO ImageTexture [
797   exposedField MFString url     []
798   field        SFBool   repeatS TRUE
799   field        SFBool   repeatT TRUE
800 ] { }
801 #endif
803  beginProto("ImageTexture");
805      beginExposedFieldDecl("MFString", Self::OSGmfString, "url");
806      endExposedFieldDecl  ();
808      beginFieldDecl       ("SFBool", Self::OSGsfBool, "repeatS");
809      addFieldValue        ("TRUE");
810      endFieldDecl         ();
812      beginFieldDecl       ("SFBool", Self::OSGsfBool, "repeatT");
813      addFieldValue        ("TRUE");
814      endFieldDecl         ();
816  endProtoInterface();
817  endProto  ();
819 #if 0
820 PROTO IndexedFaceSet [
821   eventIn       MFInt32 set_colorIndex
822   eventIn       MFInt32 set_coordIndex
823   eventIn       MFInt32 set_normalIndex
824   eventIn       MFInt32 set_texCoordIndex
825   exposedField  SFNode  color             NULL
826   exposedField  SFNode  coord             NULL
827   exposedField  SFNode  normal            NULL
828   exposedField  SFNode  texCoord          NULL
829   field         SFBool  ccw               TRUE
830   field         MFInt32 colorIndex        []
831   field         SFBool  colorPerVertex    TRUE
832   field         SFBool  convex            TRUE
833   field         MFInt32 coordIndex        []
834   field         SFFloat creaseAngle       0
835   field         MFInt32 normalIndex       []
836   field         SFBool  normalPerVertex   TRUE
837   field         SFBool  solid             TRUE
838   field         MFInt32 texCoordIndex     []
839 ] { }
840 #endif
842  beginProto("IndexedFaceSet");
844      beginEventInDecl       ("MFInt32", Self::OSGmfInt32, "set_colorIndex");
845      endEventDecl           ();
847      beginEventInDecl       ("MFInt32", Self::OSGmfInt32, "set_coordIndex");
848      endEventDecl           ();
850      beginEventInDecl       ("MFInt32", Self::OSGmfInt32, "set_normalIndex");
851      endEventDecl           ();
853      beginEventInDecl       ("MFInt32", Self::OSGmfInt32, "set_texCoordIndex");
854      endEventDecl           ();
856      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color");
857 //     addFieldValue        ("NULL");
858      endExposedFieldDecl  ();
860      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "coord");
861 //     addFieldValue        ("NULL");
862      endExposedFieldDecl  ();
864      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "normal");
865 //     addFieldValue        ("NULL");
866      endExposedFieldDecl  ();
868      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "texCoord");
869 //     addFieldValue        ("NULL");
870      endExposedFieldDecl  ();
872      beginFieldDecl       ("SFBool", Self::OSGsfBool, "ccw");
873      addFieldValue        ("TRUE");
874      endFieldDecl         ();
876      beginFieldDecl       ("MFInt32", Self::OSGmfInt32, "colorIndex");
877      endFieldDecl         ();
879      beginFieldDecl       ("SFBool", Self::OSGsfBool, "colorPerVertex");
880      addFieldValue        ("TRUE");
881      endFieldDecl         ();
883      beginFieldDecl       ("SFBool", Self::OSGsfBool, "convex");
884      addFieldValue        ("TRUE");
885      endFieldDecl         ();
887      beginFieldDecl       ("MFInt32", Self::OSGmfInt32, "coordIndex");
888      endFieldDecl         ();
890      beginFieldDecl       ("SFFloat", Self::OSGsfFloat, "creaseAngle");
891      addFieldValue        ("0");
892      endFieldDecl         ();
894      beginFieldDecl       ("MFInt32", Self::OSGmfInt32, "normalIndex");
895      endFieldDecl         ();
897      beginFieldDecl       ("SFBool",  Self::OSGsfBool, "normalPerVertex");
898      addFieldValue        ("TRUE");
899      endFieldDecl         ();
901      beginFieldDecl       ("SFBool",  Self::OSGsfBool, "solid");
902      addFieldValue        ("TRUE");
903      endFieldDecl         ();
905      beginFieldDecl       ("MFInt32", Self::OSGmfInt32, "texCoordIndex");
906      endFieldDecl();
908  endProtoInterface();
909  endProto  ();
911 #if 0
912 PROTO IndexedLineSet [
913   eventIn       MFInt32 set_colorIndex
914   eventIn       MFInt32 set_coordIndex
915   exposedField  SFNode  color             NULL
916   exposedField  SFNode  coord             NULL
917   field         MFInt32 colorIndex        []
918   field         SFBool  colorPerVertex    TRUE
919   field         MFInt32 coordIndex        []
920 ] { }
921 #endif
923  beginProto("IndexedLineSet");
925      beginEventInDecl     ("MFInt32", Self::OSGmfInt32, "set_colorIndex");
926      endEventDecl         ();
928      beginEventInDecl     ("MFInt32", Self::OSGmfInt32, "set_coordIndex");
929      endEventDecl         ();
931      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color");
932 //     addFieldValue        ("NULL");
933      endExposedFieldDecl  ();
935      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "coord");
936 //     addFieldValue        ("NULL");
937      endExposedFieldDecl  ();
939      beginFieldDecl       ("MFInt32", Self::OSGmfInt32, "colorIndex");
940      endFieldDecl         ();
942      beginFieldDecl       ("SFBool", Self::OSGsfBool, "colorPerVertex");
943      addFieldValue        ("TRUE");
944      endFieldDecl         ();
946      beginFieldDecl       ("MFInt32", Self::OSGmfInt32, "coordIndex");
947      endFieldDecl         ();
949  endProtoInterface();
950  endProto  ();
952 #if 0
953 PROTO Inline [
954   exposedField MFString url        []
955   field        SFVec3f  bboxCenter 0 0 0
956   field        SFVec3f  bboxSize   -1 -1 -1
957 ] { }
958 #endif
960  beginProto("Inline");
962      beginExposedFieldDecl("MFString", Self::OSGmfString, "url");
963      endExposedFieldDecl  ();
965      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxCenter");
966      addFieldValue        ("0 0 0");
967      endFieldDecl         ();
969      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxSize");
970      addFieldValue        ("-1 -1 -1");
971      endFieldDecl         ();
973  endProtoInterface();
974  endProto  ();
976 #if 0
977 PROTO LOD [
978   exposedField MFNode  level    []
979   field        SFVec3f center   0 0 0
980   field        MFFloat range    []
981 ] { }
982 #endif
984  beginProto("LOD");
986      beginExposedFieldDecl("MFNode", Self::OSGmfNode, "level");
987      endExposedFieldDecl  ();
989      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "center");
990      addFieldValue        ("0 0 0");
991      endFieldDecl         ();
993      beginFieldDecl       ("MFFloat", Self::OSGmfFloat, "range");
994      endFieldDecl         ();
996  endProtoInterface();
997  endProto  ();
999 #if 0
1000 PROTO Material [
1001   exposedField SFFloat ambientIntensity  0.2
1002   exposedField SFColor diffuseColor      0.8 0.8 0.8
1003   exposedField SFColor emissiveColor     0 0 0
1004   exposedField SFFloat shininess         0.2
1005   exposedField SFColor specularColor     0 0 0
1006   exposedField SFFloat transparency      0
1007 ] { }
1008 #endif
1010  beginProto("Material");
1012      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity");
1013      addFieldValue        ("0.2");
1014      endExposedFieldDecl  ();
1016      beginExposedFieldDecl("SFColor", Self::OSGsfColor, "diffuseColor");
1017      addFieldValue        ("0.8 0.8 0.8");
1018      endExposedFieldDecl  ();
1020      beginExposedFieldDecl("SFColor", Self::OSGsfColor, "emissiveColor");
1021      addFieldValue        ("0 0 0");
1022      endExposedFieldDecl  ();
1024      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "shininess");
1025      addFieldValue        ("0.2");
1026      endExposedFieldDecl  ();
1028      beginExposedFieldDecl("SFColor", Self::OSGsfColor, "specularColor");
1029      addFieldValue        ("0 0 0");
1030      endExposedFieldDecl  ();
1032      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "transparency");
1033      addFieldValue        ("0");
1034      endExposedFieldDecl  ();
1036  endProtoInterface();
1037  endProto         ();
1040 #if 0
1041 PROTO MovieTexture [
1042   exposedField SFBool   loop       FALSE
1043   exposedField SFFloat  speed      1
1044   exposedField SFTime   startTime  0
1045   exposedField SFTime   stopTime   0
1046   exposedField MFString url       []
1047   field        SFBool   repeatS    TRUE
1048   field        SFBool   repeatT    TRUE
1049   eventOut     SFFloat  duration_changed
1050   eventOut     SFBool   isActive
1051 ] { }
1052 #endif
1054  beginProto("MovieTexture");
1056      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "loop");
1057      addFieldValue        ("FALSE");
1058      endExposedFieldDecl  ();
1060      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "speed");
1061      addFieldValue        ("1");
1062      endExposedFieldDecl  ();
1064      beginExposedFieldDecl("SFTime", Self::OSGsfTime, "startTime");
1065      addFieldValue        ("0");
1066      endExposedFieldDecl  ();
1068      beginExposedFieldDecl("SFTime", Self::OSGsfTime, "stopTime");
1069      addFieldValue        ("0");
1070      endExposedFieldDecl  ();
1072      beginExposedFieldDecl("MFString", Self::OSGmfString, "url");
1073      endExposedFieldDecl  ();
1075      beginFieldDecl       ("SFBool", Self::OSGsfBool, "repeatS");
1076      addFieldValue        ("TRUE");
1077      endFieldDecl         ();
1079      beginFieldDecl       ("SFBool", Self::OSGsfBool, "repeatT");
1080      addFieldValue        ("TRUE");
1081      endFieldDecl         ();
1083      beginEventOutDecl    ("SFFloat", Self::OSGsfFloat, "duration_changed");
1084      endEventDecl         ();
1086      beginEventOutDecl    ("SFBool",  Self::OSGsfBool,  "isActive");
1087      endEventDecl         ();
1089  endProtoInterface();
1090  endProto  ();
1092 #if 0
1093 PROTO NavigationInfo [
1094   eventIn      SFBool   set_bind
1095   exposedField MFFloat  avatarSize       [ 0.25, 1.6, 0.75 ]
1096   exposedField SFBool   headlight        TRUE
1097   exposedField SFFloat  speed            1.0
1098   exposedField MFString type             "WALK"
1099   exposedField SFFloat  visibilityLimit  0.0
1100   eventOut     SFBool   isBound
1101 ] { }
1102 #endif
1104  beginProto("NavigationInfo");
1106      beginEventInDecl     ("SFBool", Self::OSGsfBool, "set_bind");
1107      endEventDecl         ();
1109      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "avatarSize");
1110      addFieldValue        ("0.25");
1111      addFieldValue        ("1.6 ");
1112      addFieldValue        ("0.75");
1113      endExposedFieldDecl  ();
1115      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "headlight");
1116      addFieldValue        ("TRUE");
1117      endExposedFieldDecl  ();
1119      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "speed");
1120      addFieldValue        ("1.0");
1121      endExposedFieldDecl  ();
1123      beginExposedFieldDecl("MFString", Self::OSGmfString, "type");
1124      addFieldValue        ("WALK");
1125      endExposedFieldDecl  ();
1127      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "visibilityLimit");
1128      addFieldValue        ("0.0");
1129      endExposedFieldDecl  ();
1131      beginEventOutDecl      ("SFBool", Self::OSGsfBool, "isBound");
1132      endEventDecl           ();
1134  endProtoInterface();
1135  endProto  ();
1137 #if 0
1138 PROTO Normal [
1139   exposedField MFVec3f vector []
1140 ] { }
1141 #endif
1143  beginProto("Normal");
1145      beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "vector");
1146      endExposedFieldDecl  ();
1148  endProtoInterface();
1149  endProto  ();
1151 #if 0
1152 PROTO NormalInterpolator [
1153   eventIn      SFFloat set_fraction
1154   exposedField MFFloat key       []
1155   exposedField MFVec3f keyValue  []
1156   eventOut     MFVec3f value_changed
1157 ] { }
1158 #endif
1160  beginProto("NormalInterpolator");
1162      beginEventInDecl     ("SFFloat", Self::OSGsfFloat, "set_fraction");
1163      endEventDecl         ();
1165      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key");
1166      endExposedFieldDecl  ();
1168      beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "keyValue");
1169      endExposedFieldDecl  ();
1171      beginEventOutDecl    ("MFVec3f",  Self::OSGmfVec3f, "value_changed");
1172      endEventDecl         ();
1174  endProtoInterface();
1175  endProto  ();
1177 #if 0
1178 PROTO OrientationInterpolator [
1179   eventIn      SFFloat    set_fraction
1180   exposedField MFFloat    key       []
1181   exposedField MFRotation keyValue  []
1182   eventOut     SFRotation value_changed
1183 ] { }
1184 #endif
1186  beginProto("OrientationInterpolator");
1188      beginEventInDecl     ("SFFloat", Self::OSGsfFloat, "set_fraction");
1189      endEventDecl         ();
1191      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key");
1192      endExposedFieldDecl  ();
1194      beginExposedFieldDecl("MFRotation", Self::OSGmfRotation, "keyValue");
1195      endExposedFieldDecl  ();
1197      beginEventOutDecl    ("SFRotation", Self::OSGsfRotation, "value_changed");
1198      endEventDecl         ();
1200  endProtoInterface();
1201  endProto  ();
1203 #if 0
1204 PROTO PixelTexture [
1205   exposedField SFImage  image      0 0 0
1206   field        SFBool   repeatS    TRUE
1207   field        SFBool   repeatT    TRUE
1208 ] { }
1209 #endif
1211  beginProto("PixelTexture");
1213      beginExposedFieldDecl("SFImage", Self::OSGsfImage, "image");
1214 //     addFieldValue        ("0 0 0");
1215      endExposedFieldDecl  ();
1217      beginFieldDecl       ("SFBool", Self::OSGsfBool, "repeatS");
1218      addFieldValue        ("TRUE");
1219      endFieldDecl         ();
1221      beginFieldDecl       ("SFBool", Self::OSGsfBool, "repeatT");
1222      addFieldValue        ("TRUE");
1223      endFieldDecl         ();
1225  endProtoInterface();
1226  endProto  ();
1228 #if 0
1229 PROTO PlaneSensor [
1230   exposedField SFBool  autoOffset  TRUE
1231   exposedField SFBool  enabled     TRUE
1232   exposedField SFVec2f maxPosition -1 -1
1233   exposedField SFVec2f minPosition 0 0
1234   exposedField SFVec3f offset      0 0 0
1235   eventOut     SFBool  isActive
1236   eventOut     SFVec3f trackPoint_changed
1237   eventOut     SFVec3f translation_changed
1238 ] { }
1239 #endif
1241  beginProto("PlaneSensor");
1243      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "autoOffset");
1244      addFieldValue        ("TRUE");
1245      endExposedFieldDecl  ();
1247      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled");
1248      addFieldValue        ("TRUE");
1249      endExposedFieldDecl  ();
1251      beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "maxPosition");
1252      addFieldValue        ("-1 -1");
1253      endExposedFieldDecl  ();
1255      beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "minPosition");
1256      addFieldValue        ("0 0");
1257      endExposedFieldDecl  ();
1259      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "offset");
1260      addFieldValue        ("0 0 0");
1261      endExposedFieldDecl  ();
1263      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isActive");
1264      endEventDecl         ();
1266      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "trackPoint_changed");
1267      endEventDecl         ();
1269      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "translation_changed");
1270      endEventDecl         ();
1272  endProtoInterface();
1273  endProto  ();
1276 #if 0
1277 PROTO PointLight [
1278   exposedField SFFloat ambientIntensity  0
1279   exposedField SFVec3f attenuation       1 0 0
1280   exposedField SFColor color             1 1 1
1281   exposedField SFFloat intensity         1
1282   exposedField SFVec3f location          0 0 0
1283   exposedField SFBool  on                TRUE
1284   exposedField SFFloat radius            100
1285 ] { }
1286 #endif
1288  beginProto("PointLight");
1290      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity");
1291      addFieldValue        ("0");
1292      endExposedFieldDecl  ();
1294      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "attenuation");
1295      addFieldValue        ("1 0 0");
1296      endExposedFieldDecl  ();
1298      beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color");
1299      addFieldValue        ("1 1 1");
1300      endExposedFieldDecl  ();
1302      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity");
1303      addFieldValue        ("1");
1304      endExposedFieldDecl  ();
1306      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "location");
1307      addFieldValue        ("0 0 0");
1308      endExposedFieldDecl  ();
1310      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "on");
1311      addFieldValue        ("TRUE");
1312      endExposedFieldDecl  ();
1314      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "radius");
1315      addFieldValue        ("100");
1316      endExposedFieldDecl  ();
1318  endProtoInterface();
1319  endProto  ();
1321 #if 0
1322 PROTO PointSet [
1323   exposedField  SFNode  color      NULL
1324   exposedField  SFNode  coord      NULL
1325 ] { }
1326 #endif
1328  beginProto("PointSet");
1330      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color");
1331 //     addFieldValue        ("NULL");
1332      endFieldDecl         ();
1334      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "coord");
1335 //     addFieldValue        ("NULL");
1336      endFieldDecl         ();
1338  endProtoInterface();
1339  endProto  ();
1341 #if 0
1342 PROTO PositionInterpolator [
1343   eventIn      SFFloat set_fraction
1344   exposedField MFFloat key       []
1345   exposedField MFVec3f keyValue  []
1346   eventOut     SFVec3f value_changed
1347 ] { }
1348 #endif
1350  beginProto("PositionInterpolator");
1352      beginEventInDecl     ("SFFloat", Self::OSGsfFloat, "set_fraction");
1353      endEventDecl         ();
1355      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key");
1356      endExposedFieldDecl();
1358      beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "keyValue");
1359      endExposedFieldDecl  ();
1361      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "value_changed");
1362      endEventDecl         ();
1364  endProtoInterface();
1365  endProto  ();
1367 #if 0
1368 PROTO ProximitySensor [
1369   exposedField SFVec3f    center      0 0 0
1370   exposedField SFVec3f    size        0 0 0
1371   exposedField SFBool     enabled     TRUE
1372   eventOut     SFBool     isActive
1373   eventOut     SFVec3f    position_changed
1374   eventOut     SFRotation orientation_changed
1375   eventOut     SFTime     enterTime
1376   eventOut     SFTime     exitTime
1377 ] { }
1378 #endif
1380  beginProto("ProximitySensor");
1382      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "center");
1383      addFieldValue        ("0 0 0");
1384      endExposedFieldDecl  ();
1386      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "size");
1387      addFieldValue        ("0 0 0");
1388      endExposedFieldDecl  ();
1390      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled");
1391      addFieldValue        ("TRUE");
1392      endExposedFieldDecl  ();
1394      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isActive");
1395      endEventDecl         ();
1397      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "position_changed");
1398      endEventDecl         ();
1400      beginEventOutDecl    ("SFRotation",
1401                            Self::OSGsfRotation,
1402                            "orientation_changed");
1403      endEventDecl         ();
1405      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "enterTime");
1406      endEventDecl         ();
1408      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "exitTime");
1409      endEventDecl         ();
1411  endProtoInterface();
1412  endProto  ();
1414 #if 0
1415 PROTO ScalarInterpolator [
1416   eventIn      SFFloat set_fraction
1417   exposedField MFFloat key       []
1418   exposedField MFFloat keyValue  []
1419   eventOut     SFFloat value_changed
1420 ] { }
1421 #endif
1423  beginProto("ScalarInterpolator");
1425      beginEventInDecl     ("SFFloat", Self::OSGsfFloat, "set_fraction");
1426      endEventDecl         ();
1428      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key");
1429      endExposedFieldDecl  ();
1431      beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "keyValue");
1432      endExposedFieldDecl  ();
1434      beginEventOutDecl    ("SFFloat", Self::OSGsfFloat, "value_changed");
1435      endEventDecl         ();
1437  endProtoInterface();
1438  endProto  ();
1440 #if 0
1441 PROTO Script [
1442   exposedField MFString url           [ ]
1443   field        SFBool   directOutput  FALSE
1444   field        SFBool   mustEvaluate  FALSE
1445 ] { }
1446 #endif
1448  beginProto("Script");
1450      beginExposedFieldDecl("MFString", Self::OSGmfString, "url");
1451      endExposedFieldDecl  ();
1453      beginFieldDecl       ("SFBool", Self::OSGsfBool, "directOutput");
1454      addFieldValue        ("FALSE");
1455      endFieldDecl         ();
1457      beginFieldDecl       ("SFBool", Self::OSGsfBool, "mustEvaluate");
1458      addFieldValue        ("FALSE");
1459      endFieldDecl         ();
1461  endProtoInterface();
1462  endProto  ();
1464 #if 0
1465 PROTO Shape [
1466   field SFNode appearance NULL
1467   field SFNode geometry   NULL
1468 ] { }
1469 #endif
1471  beginProto("Shape");
1473      beginFieldDecl("SFNode", Self::OSGsfNode, "appearance");
1474 //     addFieldValue ("NULL");
1475      endFieldDecl  ();
1477      beginFieldDecl("SFNode", Self::OSGsfNode, "geometry");
1478 //     addFieldValue ("NULL");
1479      endFieldDecl  ();
1481  endProtoInterface();
1482  endProto  ();
1484 #if 0
1485 PROTO Sound [
1486   exposedField SFVec3f  direction     0 0 1
1487   exposedField SFFloat  intensity     1
1488   exposedField SFVec3f  location      0 0 0
1489   exposedField SFFloat  maxBack       10
1490   exposedField SFFloat  maxFront      10
1491   exposedField SFFloat  minBack       1
1492   exposedField SFFloat  minFront      1
1493   exposedField SFFloat  priority      0
1494   exposedField SFNode   source        NULL
1495   field        SFBool   spatialize    TRUE
1496 ] { }
1497 #endif
1499  beginProto("Sound");
1501      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "direction");
1502      addFieldValue        ("0 0 1");
1503      endExposedFieldDecl  ();
1505      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity");
1506      addFieldValue        ("1");
1507      endExposedFieldDecl  ();
1509      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "location");
1510      addFieldValue        ("0 0 0");
1511      endExposedFieldDecl  ();
1513      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "maxBack");
1514      addFieldValue        ("10");
1515      endExposedFieldDecl  ();
1517      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "maxFront");
1518      addFieldValue        ("10");
1519      endExposedFieldDecl  ();
1521      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "minBack");
1522      addFieldValue        ("1");
1523      endExposedFieldDecl  ();
1525      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "minFront");
1526      addFieldValue        ("1");
1527      endExposedFieldDecl  ();
1529      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "priority");
1530      addFieldValue        ("0");
1531      endExposedFieldDecl  ();
1533      beginExposedFieldDecl("SFNode", Self::OSGsfNode, "source");
1534 //     addFieldValue        ("NULL");
1535      endExposedFieldDecl  ();
1537      beginFieldDecl       ("SFBool", Self::OSGsfBool, "spatialize");
1538      addFieldValue        ("TRUE");
1539      endFieldDecl         ();
1541  endProtoInterface();
1542  endProto  ();
1544 #if 0
1545 PROTO Sphere [
1546   field SFFloat radius     1
1547 ] { }
1548 #endif
1550  beginProto("Sphere");
1552      beginFieldDecl("SFFloat", Self::OSGsfFloat, "radius");
1553      addFieldValue ("1");
1554      endFieldDecl  ();
1556      beginFieldDecl("SFInt", Self::OSGsfInt32, "resolution");
1557      addFieldValue ("8");
1558      endFieldDecl  ();
1560  endProtoInterface();
1561  endProto  ();
1563 #if 0
1564 PROTO SphereSensor [
1565   exposedField SFBool     autoOffset TRUE
1566   exposedField SFBool     enabled    TRUE
1567   exposedField SFRotation offset     0 1 0 0
1568   eventOut     SFBool     isActive
1569   eventOut     SFRotation rotation_changed
1570   eventOut     SFVec3f    trackPoint_changed
1571 ] { }
1572 #endif
1574  beginProto("SphereSensor");
1576      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "autoOffset");
1577      addFieldValue        ("TRUE");
1578      endExposedFieldDecl  ();
1580      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled");
1581      addFieldValue        ("TRUE");
1582      endExposedFieldDecl  ();
1584      beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "offset");
1585      addFieldValue        ("0 1 0 0");
1586      endExposedFieldDecl  ();
1588      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isActive");
1589      endEventDecl         ();
1591      beginEventOutDecl    ("SFRotation",
1592                            Self::OSGsfRotation,
1593                            "rotation_changed");
1594      endEventDecl         ();
1596      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "trackPoint_changed");
1597      endEventDecl         ();
1599  endProtoInterface();
1600  endProto  ();
1602 #if 0
1603 PROTO SpotLight [
1604   exposedField SFFloat ambientIntensity  0
1605   exposedField SFVec3f attenuation       1 0 0
1606   exposedField SFFloat beamWidth         1.570796
1607   exposedField SFColor color             1 1 1
1608   exposedField SFFloat cutOffAngle       0.785398
1609   exposedField SFVec3f direction         0 0 -1
1610   exposedField SFFloat intensity         1
1611   exposedField SFVec3f location          0 0 0
1612   exposedField SFBool  on                TRUE
1613   exposedField SFFloat radius            100
1614 ] { }
1615 #endif
1617  beginProto("SpotLight");
1619      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity");
1620      addFieldValue        ("0");
1621      endExposedFieldDecl  ();
1623      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "attenuation");
1624      addFieldValue        ("1 0 0");
1625      endExposedFieldDecl  ();
1627      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "beamWidth");
1628      addFieldValue        ("1.570796");
1629      endExposedFieldDecl  ();
1631      beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color");
1632      addFieldValue        ("1 1 1");
1633      endExposedFieldDecl  ();
1635      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "cutOffAngle");
1636      addFieldValue        ("0.785398");
1637      endExposedFieldDecl  ();
1639      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "direction");
1640      addFieldValue        ("0 0 -1");
1641      endExposedFieldDecl  ();
1643      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity");
1644      addFieldValue        ("1");
1645      endExposedFieldDecl  ();
1647      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "location");
1648      addFieldValue        ("0 0 0");
1649      endExposedFieldDecl  ();
1651      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "on");
1652      addFieldValue        ("TRUE");
1653      endExposedFieldDecl  ();
1655      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "radius");
1656      addFieldValue        ("100");
1657      endExposedFieldDecl  ();
1659  endProtoInterface();
1660  endProto  ();
1662 #if 0
1663 PROTO Switch [
1664   exposedField    MFNode  choice      []
1665   exposedField    SFInt32 whichChoice -1
1666 ] { }
1667 #endif
1669  beginProto("Switch");
1671      beginExposedFieldDecl("MFNode", Self::OSGmfNode, "choice");
1672      endExposedFieldDecl  ();
1674      beginExposedFieldDecl("SFInt32", Self::OSGsfInt32, "whichChoice");
1675      addFieldValue        ("-1");
1676      endExposedFieldDecl  ();
1678  endProtoInterface();
1679  endProto  ();
1681 #if 0
1682 PROTO Text [
1683   exposedField  MFString string    []
1684   field         SFNode   fontStyle NULL
1685   field         MFFloat  length    []
1686   field         SFFloat  maxExtent 0.0
1687 ] { }
1688 #endif
1690  beginProto("Text");
1692      beginExposedFieldDecl("MFString", Self::OSGmfString, "string");
1693      endExposedFieldDecl  ();
1695      beginFieldDecl       ("SFNode", Self::OSGsfNode, "fontStyle");
1696 //     addFieldValue        ("NULL");
1697      endFieldDecl         ();
1699      beginFieldDecl       ("MFFloat", Self::OSGmfFloat, "length");
1700      endFieldDecl         ();
1702      beginFieldDecl       ("SFFloat", Self::OSGsfFloat, "maxExtent");
1703      addFieldValue        ("0.0");
1704      endFieldDecl         ();
1706  endProtoInterface();
1707  endProto  ();
1709 #if 0
1710 PROTO TextureCoordinate [
1711   exposedField MFVec2f point []
1712 ] { }
1713 #endif
1715  beginProto("TextureCoordinate");
1717      beginExposedFieldDecl("MFVec2f", Self::OSGmfVec2f, "point");
1718      endExposedFieldDecl  ();
1720  endProtoInterface();
1721  endProto  ();
1723 #if 0
1724 PROTO TextureTransform [
1725   exposedField SFVec2f center      0 0
1726   exposedField SFFloat rotation    0
1727   exposedField SFVec2f scale       1 1
1728   exposedField SFVec2f translation 0 0
1729 ] { }
1730 #endif
1732  beginProto("TextureTransform");
1734      beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "center");
1735      addFieldValue        ("0 0");
1736      endExposedFieldDecl  ();
1738      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "rotation");
1739      addFieldValue        ("0");
1740      endExposedFieldDecl  ();
1742      beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "scale");
1743      addFieldValue        ("1 1");
1744      endExposedFieldDecl  ();
1746      beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "translation");
1747      addFieldValue        ("0 0");
1748      endExposedFieldDecl  ();
1750  endProtoInterface();
1751  endProto  ();
1753 #if 0
1754 PROTO TimeSensor [
1755   exposedField SFTime   cycleInterval 1
1756   exposedField SFBool   enabled       TRUE
1757   exposedField SFBool   loop          FALSE
1758   exposedField SFTime   startTime     0
1759   exposedField SFTime   stopTime      0
1760   eventOut     SFTime   cycleTime
1761   eventOut     SFFloat  fraction_changed
1762   eventOut     SFBool   isActive
1763   eventOut     SFTime   time
1764 ] { }
1765 #endif
1767  beginProto("TimeSensor");
1769      beginExposedFieldDecl("SFTime", Self::OSGsfTime, "cycleInterval");
1770      addFieldValue        ("1");
1771      endExposedFieldDecl  ();
1773      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled");
1774      addFieldValue        ("TRUE");
1775      endExposedFieldDecl  ();
1777      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "loop");
1778      addFieldValue        ("FALSE");
1779      endExposedFieldDecl  ();
1781      beginExposedFieldDecl("SFTime", Self::OSGsfTime, "startTime");
1782      addFieldValue        ("0");
1783      endExposedFieldDecl  ();
1785      beginExposedFieldDecl("SFTime", Self::OSGsfTime, "stopTime");
1786      addFieldValue        ("0");
1787      endExposedFieldDecl  ();
1789      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "cycleTime");
1790      endEventDecl         ();
1792      beginEventOutDecl    ("SFFloat", Self::OSGsfFloat, "fraction_changed");
1793      endEventDecl         ();
1795      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isActive");
1796      endEventDecl         ();
1798      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "time");
1799      endEventDecl         ();
1801  endProtoInterface();
1802  endProto  ();
1804 #if 0
1805 PROTO TouchSensor [
1806   exposedField SFBool  enabled TRUE
1807   eventOut     SFVec3f hitNormal_changed
1808   eventOut     SFVec3f hitPoint_changed
1809   eventOut     SFVec2f hitTexCoord_changed
1810   eventOut     SFBool  isActive
1811   eventOut     SFBool  isOver
1812   eventOut     SFTime  touchTime
1813 ] { }
1814 #endif
1816  beginProto("TouchSensor");
1818      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled");
1819      addFieldValue        ("TRUE");
1820      endExposedFieldDecl  ();
1822      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "hitNormal_changed");
1823      endEventDecl         ();
1825      beginEventOutDecl    ("SFVec3f", Self::OSGsfVec3f, "hitPoint_changed");
1826      endEventDecl         ();
1828      beginEventOutDecl    ("SFVec2f", Self::OSGsfVec2f, "hitTexCoord_changed");
1829      endEventDecl         ();
1831      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isActive");
1832      endEventDecl         ();
1834      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isOver");
1835      endEventDecl         ();
1837      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "touchTime");
1838      endEventDecl         ();
1840  endProtoInterface();
1841  endProto  ();
1843 #if 0
1844 PROTO Transform [
1845   eventIn      MFNode      addChildren
1846   eventIn      MFNode      removeChildren
1847   exposedField SFVec3f     center           0 0 0
1848   exposedField MFNode      children         []
1849   exposedField SFRotation  rotation         0 0 1  0
1850   exposedField SFVec3f     scale            1 1 1
1851   exposedField SFRotation  scaleOrientation 0 0 1  0
1852   exposedField SFVec3f     translation      0 0 0
1853   field        SFVec3f     bboxCenter       0 0 0
1854   field        SFVec3f     bboxSize         -1 -1 -1
1855 ] { }
1856 #endif
1858  beginProto("Transform");
1860      beginEventInDecl     ("MFNode", Self::OSGsfNode, "addChildren");
1861      endEventDecl         ();
1863      beginEventInDecl     ("MFNode", Self::OSGsfNode, "removeChildren");
1864      endEventDecl         ();
1866      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "center");
1867      addFieldValue        ("0 0 0");
1868      endExposedFieldDecl  ();
1870      beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children");
1871      endExposedFieldDecl  ();
1873      beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "rotation");
1874      addFieldValue        ("0 0 1  0");
1875      endExposedFieldDecl  ();
1877      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "scale");
1878      addFieldValue        ("1 1 1");
1879      endExposedFieldDecl  ();
1881      beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "scaleOrientation");
1882      addFieldValue        ("0 0 1  0");
1883      endExposedFieldDecl  ();
1885      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "translation");
1886      addFieldValue        ("0 0 0");
1887      endExposedFieldDecl  ();
1889      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxCenter");
1890      addFieldValue        ("0 0 0");
1891      endFieldDecl         ();
1893      beginFieldDecl       ("SFVec3f", Self::OSGsfVec3f, "bboxSize");
1894      addFieldValue        ("-1 -1 -1");
1895      endFieldDecl         ();
1897  endProtoInterface();
1898  endProto  ();
1900 #if 0
1901 PROTO Viewpoint [
1902   eventIn      SFBool     set_bind
1903   exposedField SFFloat    fieldOfView    0.785398
1904   exposedField SFBool     jump           TRUE
1905   exposedField SFRotation orientation    0 0 1  0
1906   exposedField SFVec3f    position       0 0 10
1907   field        SFString   description    ""
1908   eventOut     SFTime     bindTime
1909   eventOut     SFBool     isBound
1910 ] { }
1911 #endif
1913  beginProto("Viewpoint");
1915      beginEventInDecl     ("SFBool", Self::OSGsfBool, "set_bind");
1916      endEventDecl         ();
1918      beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "fieldOfView");
1919      addFieldValue        ("0.785398");
1920      endExposedFieldDecl  ();
1922      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "jump");
1923      addFieldValue        ("TRUE");
1924      endExposedFieldDecl  ();
1926      beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "orientation");
1927      addFieldValue        ("0 0 1  0");
1928      endExposedFieldDecl  ();
1930      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "position");
1931      addFieldValue        ("0 0 10");
1932      endExposedFieldDecl  ();
1934      beginFieldDecl       ("SFString", Self::OSGsfString, "description");
1935      addFieldValue        ("");
1936      endFieldDecl         ();
1938      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "bindTime");
1939      endEventDecl         ();
1941      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isBound" );
1942      endEventDecl         ();
1944  endProtoInterface();
1945  endProto  ();
1947 #if 0
1948 PROTO VisibilitySensor [
1949   exposedField SFVec3f center   0 0 0
1950   exposedField SFBool  enabled  TRUE
1951   exposedField SFVec3f size     0 0 0
1952   eventOut     SFTime  enterTime
1953   eventOut     SFTime  exitTime
1954   eventOut     SFBool  isActive
1955 ] { }
1956 #endif
1958  beginProto("VisibilitySensor");
1960      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "center");
1961      addFieldValue        ("0 0 0");
1962      endExposedFieldDecl  ();
1964      beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled");
1965      addFieldValue        ("TRUE");
1966      endExposedFieldDecl  ();
1968      beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "size");
1969      addFieldValue        ("0 0 0");
1970      endExposedFieldDecl  ();
1972      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "enterTime");
1973      endEventDecl         ();
1975      beginEventOutDecl    ("SFTime", Self::OSGsfTime, "exitTime" );
1976      endEventDecl         ();
1978      beginEventOutDecl    ("SFBool", Self::OSGsfBool, "isActive" );
1979      endEventDecl         ();
1981  endProtoInterface();
1982  endProto  ();
1984 #if 0
1985 PROTO WorldInfo [
1986   field MFString info  []
1987   field SFString title ""
1988 ] { }
1989 #endif
1991  beginProto("WorldInfo");
1993      beginFieldDecl("MFString", Self::OSGmfString, "info");
1994      endFieldDecl  ();
1996      beginFieldDecl("SFString", Self::OSGsfString, "title");
1997      addFieldValue("");
1998      endFieldDecl();
2000  endProtoInterface();
2001  endProto  ();
2003 // Custom
2005 #if 0
2006 PROTO Teapot [
2007   field SFInt    depth 5
2008   field SFFloat scale 1
2009 ] { }
2010 #endif
2012  beginProto("Teapot");
2014      beginFieldDecl("SFInt", Self::OSGsfInt32, "depth");
2015      addFieldValue("5");
2016      endFieldDecl  ();
2018      beginFieldDecl("SFInt", Self::OSGsfFloat, "scale");
2019      addFieldValue("1.0");
2020      endFieldDecl  ();
2023      beginFieldDecl("SFString", Self::OSGsfString, "title");
2024      addFieldValue("");
2025      endFieldDecl();
2026  */
2028  endProtoInterface();
2029  endProto  ();
2031 #if 0
2032 PROTO Plane [
2033   field SFVec2s resolution 5 5
2034   field SFVec2f size       1.0 1.0
2035 ] { }
2036 #endif
2038  beginProto("Plane");
2040      beginFieldDecl("SFVec2s", Self::OSGsfVec2i, "resolution");
2041      addFieldValue("5 5");
2042      endFieldDecl  ();
2044      beginFieldDecl("SFVec2f", Self::OSGsfVec2f, "size");
2045      addFieldValue("1.0 1.0");
2046      endFieldDecl  ();
2049      beginFieldDecl("SFString", Self::OSGsfString, "title");
2050      addFieldValue("");
2051      endFieldDecl();
2052  */
2054  endProtoInterface();
2055  endProto  ();
2058  postStandardProtos();