X3D libraries
The libraries to work with X3D dataset

tree.h

Go to the documentation of this file.
00001 /*
00002  *    libx3d -- Defines all the classes to generate a tree using Oxygen
00003  *    Copyright (C) 2005  Made to Order Software Corp.
00004  *
00005  *    This program is free software; you can redistribute it and/or modify
00006  *    it under the terms of the GNU General Public License as published by
00007  *    the Free Software Foundation; either version 2 of the License, or
00008  *    (at your option) any later version.
00009  *
00010  *    This program is distributed in the hope that it will be useful,
00011  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  *    GNU General Public License for more details.
00014  *
00015  *    You should have received a copy of the GNU General Public License
00016  *    along with this program; if not, write to the Free Software
00017  *    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00018  *
00019  * File: dev/include/tree.h
00020  * License: GNU General Public License
00022  * $Revision: 1.3 $
00023  * $Date: 2005/11/29 05:51:17 $
00024  *
00025  * $Log: tree_8h-source.html,v $
00025  * Revision 1.3  2005/11/29 05:51:17  alexis
00025  * Regenerated these files with small changes in the Doxyfile
00025  *
00026  * Revision 1.4  2005/11/28 12:09:02  alexis
00027  * Many changes so I could generate a list of files with their brief comment,
00028  * filename, license, size, number of lines, and last modification date.
00029  *
00030  * Revision 1.3  2005/11/28 06:31:25  alexis
00031  * Fixed the license; it is GPL now.
00032  *
00033  * Revision 1.2  2005/11/22 04:20:38  alexis
00034  * Added missing public: labels.
00035  * Added the license.
00036  *
00037  *
00038  *
00039  */
00040 
00041 namespace X3D {
00042 
00043 /*
00044  * Field types
00045  */
00046 class X3DField {};
00047 
00048 class SFBool : public X3DField {};
00049 class MFBool : public X3DField {};
00050 class SFColor : public X3DField {};
00051 class MFColor : public X3DField {};
00052 class SFColorRGBA : public X3DField {};
00053 class MFColorRGBA : public X3DField {};
00054 class SFDouble : public X3DField {};
00055 class MFDouble : public X3DField {};
00056 class SFFloat : public X3DField {};
00057 class MFFloat : public X3DField {};
00058 class SFImage : public X3DField {};
00059 class MFImage : public X3DField {};
00060 class SFInt32 : public X3DField {};
00061 class MFInt32 : public X3DField {};
00062 class SFNode : public X3DField {};
00063 class MFNode : public X3DField {};
00064 class SFRotation : public X3DField {};
00065 class MFRotation : public X3DField {};
00066 class SFString : public X3DField {};
00067 class MFString : public X3DField {};
00068 class SFTime : public X3DField {};
00069 class MFTime : public X3DField {};
00070 class SFVec2d : public X3DField {};
00071 class MFVec2d : public X3DField {};
00072 class SFVec3d : public X3DField {};
00073 class MFVec3d : public X3DField {};
00074 class SFVec2f : public X3DField {};
00075 class MFVec2f : public X3DField {};
00076 class SFVec3f : public X3DField {};
00077 class MFVec3f : public X3DField {};
00078 
00079 
00080 /*
00081  * CORE
00082  */
00083 class X3DMetadataObject
00084 {
00085 public:
00086         SFString                f_name;
00087         SFString                f_reference;
00088 };
00089 
00090 class X3DNode
00091 {
00092 public:
00093         X3DMetadataObject       f_metadata;
00094 };
00095 
00096 class X3DPrototypeInstance
00097 {
00098 public:
00099 };
00100 
00101 class X3DChildNode : public X3DNode
00102 {
00103 public:
00104 };
00105 
00106 class X3DBindableNode : public X3DChildNode
00107 {
00108 public:
00109         SFBool                  f_set_bind;
00110         SFTime                  f_bind_time;
00111         SFBool                  f_is_bound;
00112 };
00113 
00114 class X3DSensorNode : public X3DChildNode
00115 {
00116 public:
00117         SFBool                  f_enabled;
00118         //SFNode                        f_metadata; -- X3DNode
00119         SFBool                  f_isActive;
00120 };
00121 
00122 class MetadataDouble : public X3DNode, public X3DMetadataObject
00123 {
00124 public:
00125         //SFNode                        f_metadata; -- X3DNode
00126         //SFString              f_name; -- X3DMetadataObject
00127         //SFString              f_reference; -- X3DMetadataObject
00128         MFDouble                f_value;
00129 };
00130 
00131 class MetadataFloat : public X3DNode, public X3DMetadataObject
00132 {
00133 public:
00134         //SFNode                        f_metadata; -- X3DNode
00135         //SFString              f_name; -- X3DMetadataObject
00136         //SFString              f_reference; -- X3DMetadataObject
00137         MFFloat                 f_value;
00138 };
00139 
00140 class MetadataInteger : public X3DNode, public X3DMetadataObject
00141 {
00142 public:
00143         //SFNode                        f_metadata; -- X3DNode
00144         //SFString              f_name; -- X3DMetadataObject
00145         //SFString              f_reference; -- X3DMetadataObject
00146         MFInt32                 f_value;
00147 };
00148 
00149 class MetadataSet : public X3DNode, public X3DMetadataObject
00150 {
00151 public:
00152         //SFNode                        f_metadata; -- X3DNode
00153         //SFString              f_name; -- X3DMetadataObject
00154         //SFString              f_reference; -- X3DMetadataObject
00155         MFNode                  f_value;
00156 };
00157 
00158 class MetadataString : public X3DNode, public X3DMetadataObject
00159 {
00160 public:
00161         //SFNode                        f_metadata; -- X3DNode
00162         //SFString              f_name; -- X3DMetadataObject
00163         //SFString              f_reference; -- X3DMetadataObject
00164         MFString                f_value;
00165 };
00166 
00167 
00168 /*
00169  * Time
00170  */
00171 class X3DTimeDependentNode : public X3DChildNode
00172 {
00173 public:
00174         SFBool                  f_loop;
00175         //SFNode                        f_metadata; -- X3DNode
00176         SFTime                  f_pauseTime;
00177         SFTime                  f_resumeTime;
00178         SFTime                  f_startTime;
00179         SFTime                  f_stopTime;
00180         SFTime                  f_elapsedTime;
00181         SFBool                  f_isActive;
00182         SFBool                  f_isPaused;
00183 };
00184 
00185 // TODO: FIX DUAL INHERITANCE
00186 class TimeSensor : public X3DTimeDependentNode, public X3DSensorNode
00187 {
00188 public:
00189         SFTime                  f_cycleInterval;
00190         //SFBool                        f_enabled; -- X3DSensorNode
00191         //SFBool                        f_loop; -- X3DTimeDependentNode
00192         //SFNode                        f_metadata; -- X3DNode
00193         //SFTime                        f_pauseTime; -- X3DTimeDependentNode
00194         //SFTime                        f_resumeTime; -- X3DTimeDependentNode
00195         //SFTime                        f_startTime; -- X3DTimeDependentNode
00196         //SFTime                        f_stopTime; -- X3DTimeDependentNode
00197         SFTime                  f_cycleTime;
00198         //SFTime                        f_elapsedTime; -- X3DTimeDependentNode
00199         SFFloat                 f_fraction_changed;
00200         //SFBool                        f_isActive; -- X3DSensorNode
00201         //SFBool                        f_isPaused; -- X3DTimeDependentNode
00202         SFTime                  f_time;
00203 };
00204 
00205 
00206 /*
00207  * Grouping
00208  */
00209 class X3DBoundedObject
00210 {
00211 public:
00212         SFVec3f                 f_bboxCenter;
00213         SFVec3f                 f_bboxSize;
00214 };
00215 
00216 class X3DGroupingNode : public X3DChildNode, public X3DBoundedObject
00217 {
00218 public:
00219         MFNode                  f_addChildren;
00220         MFNode                  f_removeChildren;
00221         MFNode                  f_children;
00222         //SFNode                        f_metadata; -- X3DNode
00223         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00224         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00225 };
00226 
00227 class X3DInfoNode : public X3DChildNode
00228 {
00229 public:
00230         //SFNode                        f_metadata; -- X3DNode
00231 };
00232 
00233 class Group : public X3DGroupingNode
00234 {
00235 public:
00236         //MFNode                        f_addChildren; -- X3DGroupingNode
00237         //MFNode                        f_removeChildren; -- X3DGroupingNode
00238         //MFNode                        f_children; -- X3DGroupingNode
00239         //SFNode                        f_metadata; -- X3DNode
00240         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00241         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00242 };
00243 
00244 class StaticGroup : public X3DChildNode, public X3DBoundedObject
00245 {
00246 public:
00247         //SFNode                        f_metadata; -- X3DNode
00248         MFNode                  f_children;
00249         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00250         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00251 };
00252 
00253 class Switch : public X3DGroupingNode
00254 {
00255 public:
00256         //MFNode                        f_addChildren; -- X3DGroupingNode
00257         //MFNode                        f_removeChildren; -- X3DGroupingNode
00258         //MFNode                        f_children; -- X3DGroupingNode
00259         //SFNode                        f_metadata; -- X3DNode
00260         SFInt32                 f_whichChoice;
00261         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00262         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00263 };
00264 
00265 class Transform : public X3DGroupingNode
00266 {
00267 public:
00268         //MFNode                        f_addChildren; -- X3DGroupingNode
00269         //MFNode                        f_removeChildren; -- X3DGroupingNode
00270         SFVec3f                 f_center;
00271         //MFNode                        f_children; -- X3DGroupingNode
00272         //SFNode                        f_metadata; -- X3DNode
00273         SFRotation              f_rotation;
00274         SFVec3f                 f_scale;
00275         SFRotation              f_scaleOrientation;
00276         SFVec3f                 f_translation;
00277         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00278         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00279 };
00280 
00281 class WorldInfo : public X3DInfoNode
00282 {
00283 public:
00284         //SFNode                        f_metadata; -- X3DNode
00285         MFString                f_info;
00286         SFString                f_title;
00287 };
00288 
00289 /*
00290  * Network
00291  */
00292 class X3DNetworkSensorNode : public X3DSensorNode
00293 {
00294 public:
00295         //SFBool                        f_enabled; -- X3DSensorNode
00296         //SFNode                        f_metadata; -- X3DNode
00297         //SFBool                        f_isActive; -- X3DSensorNode
00298 };
00299 
00300 class X3DUrlObject
00301 {
00302 public:
00303         MFString                f_url;
00304 };
00305 
00306 class Anchor : public X3DGroupingNode
00307 {
00308 public:
00309         //MFNode                        f_addChildren; -- X3DGroupingNode
00310         //MFNode                        f_removeChildren; -- X3DGroupingNode
00311         //MFNode                        f_children; -- X3DGroupingNode
00312         SFString                f_description;
00313         //SFNode                        f_metadata; -- X3DNode
00314         MFString                f_parameter;
00315         MFString                f_url;
00316         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00317         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00318 };
00319 
00320 class Inline : public X3DChildNode, public X3DBoundedObject, public X3DUrlObject
00321 {
00322 public:
00323         SFBool                  f_load;
00324         //SFNode                        f_metadata; -- X3DNode
00325         MFString                f_url;
00326         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00327         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00328 };
00329 
00330 class LoadSensor : public X3DNetworkSensorNode
00331 {
00332 public:
00333         //SFBool                        f_enabled; -- X3DSensorNode
00334         //SFNode                        f_metadata; -- X3DNode
00335         SFTime                  f_timeOut;
00336         MFNode                  f_watchList;
00337         //SFBool                        f_isActive; -- X3DSensorNode
00338         SFBool                  f_isLoaded;
00339         SFTime                  f_loadTime;
00340         SFFloat                 f_progress;
00341 };
00342 
00343 
00344 /*
00345  * Rendering
00346  */
00347 class X3DGeometricPropertyNode : public X3DNode
00348 {
00349 public:
00350         //SFNode                        f_metadata; -- X3DNode
00351 };
00352 
00353 class X3DGeometryNode : public X3DChildNode
00354 {
00355 public:
00356         //SFNode                        f_metadata; -- X3DNode
00357 };
00358 
00359 class X3DCoordinateNode : public X3DGeometricPropertyNode
00360 {
00361 public:
00362         //SFNode                        f_metadata; -- X3DNode
00363 };
00364 
00365 class X3DNormalNode : public X3DGeometricPropertyNode
00366 {
00367 public:
00368         //SFNode                        f_metadata; -- X3DNode
00369 };
00370 
00371 class X3DComposedGeometryNode : public X3DGeometryNode
00372 {
00373 public:
00374         SFNode                  f_color;        // X3DColorNode
00375         SFNode                  f_coord;        // X3DCoordinateNode
00376         //SFNode                        f_metadata; -- X3DNode
00377         SFNode                  f_normal;       // X3DNormalNode
00378         SFNode                  f_texCoord;     // X3DTextureCoordinateNode
00379         SFBool                  f_ccw;
00380         SFBool                  f_colorPerVertex;
00381         SFBool                  f_normalPerVertex;
00382         SFBool                  f_solid;
00383 };
00384 
00385 class X3DColorNode : public X3DGeometricPropertyNode
00386 {
00387 public:
00388         //SFNode                        f_metadata; -- X3DNode
00389 };
00390 
00391 class Color : public X3DColorNode
00392 {
00393 public:
00394         MFColor                 f_color;
00395         //SFNode                        f_metadata; -- X3DNode
00396 };
00397 
00398 class ColorRGBA : public X3DColorNode
00399 {
00400 public:
00401         MFColorRGBA             f_color;
00402         //SFNode                        f_metadata; -- X3DNode
00403 };
00404 
00405 class Coordinate : public X3DCoordinateNode
00406 {
00407 public:
00408         //SFNode                        f_metadata; -- X3DNode
00409         MFVec3f                 f_point;
00410 };
00411 
00412 class IndexedLineSet : public X3DGeometryNode
00413 {
00414 public:
00415         MFInt32                 f_set_colorIndex;
00416         MFInt32                 f_set_coordIndex;
00417         SFNode                  f_color;        // X3DColorNode
00418         SFNode                  f_coord;        // X3DCoordinateNode
00419         //SFNode                        f_metadata; -- X3DNode
00420         MFInt32                 f_colorIndex;
00421         SFBool                  f_colorPerVertex;
00422         MFInt32                 f_coordIndex;
00423 };
00424 
00425 class IndexedTriangleFanSet : public X3DComposedGeometryNode
00426 {
00427 public:
00428         MFInt32                 f_set_index;
00429         //SFNode                        f_color; -- X3DComposedGeometryNode
00430         //SFNode                        f_coord; -- X3DComposedGeometryNode
00431         //SFNode                        f_metadata; -- X3DNode
00432         //SFNode                        f_normal; -- X3DComposedGeometryNode
00433         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
00434         //SFBool                        f_ccw; -- X3DComposedGeometryNode
00435         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
00436         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
00437         //SFBool                        f_solid; -- X3DComposedGeometryNode
00438         MFInt32                 f_index;
00439 };
00440 
00441 class IndexedTriangleSet : public X3DComposedGeometryNode
00442 {
00443 public:
00444         MFInt32                 f_set_index;
00445         //SFNode                        f_color; -- X3DComposedGeometryNode
00446         //SFNode                        f_coord; -- X3DComposedGeometryNode
00447         //SFNode                        f_metadata; -- X3DNode
00448         //SFNode                        f_normal; -- X3DComposedGeometryNode
00449         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
00450         //SFBool                        f_ccw; -- X3DComposedGeometryNode
00451         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
00452         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
00453         //SFBool                        f_solid; -- X3DComposedGeometryNode
00454         MFInt32                 f_index;
00455 };
00456 
00457 class IndexedTriangleStripSet : public X3DComposedGeometryNode
00458 {
00459 public:
00460         MFInt32                 f_set_index;
00461         //SFNode                        f_color; -- X3DComposedGeometryNode
00462         //SFNode                        f_coord; -- X3DComposedGeometryNode
00463         SFFloat                 f_creaseAngle;
00464         //SFNode                        f_metadata; -- X3DNode
00465         //SFNode                        f_normal; -- X3DComposedGeometryNode
00466         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
00467         //SFBool                        f_ccw; -- X3DComposedGeometryNode
00468         // TODO: Bogus non-field? The following is not duplicated from the ComposedGeometryNode
00469         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
00470         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
00471         //SFBool                        f_solid; -- X3DComposedGeometryNode
00472         MFInt32                 f_index;
00473 };
00474 
00475 class LineSet : public X3DGeometryNode
00476 {
00477 public:
00478         SFNode                  f_color;        // X3DColorNode
00479         SFNode                  f_coord;        // X3DCoordinateNode
00480         MFInt32                 f_vertexCount;
00481         //SFNode                        f_metadata; -- X3DNode
00482 };
00483 
00484 class Normal : public X3DNormalNode
00485 {
00486 public:
00487         //SFNode                        f_metadata; -- X3DNode
00488         MFVec3f                 f_vector;
00489 };
00490 
00491 class PointSet : public X3DGeometryNode
00492 {
00493 public:
00494         SFNode                  f_color;        // X3DColorNode
00495         SFNode                  f_coord;        // X3DCoordinateNode
00496         //SFNode                        f_metadata; -- X3DNode
00497 };
00498 
00499 class TriangleFanSet : public X3DComposedGeometryNode
00500 {
00501 public:
00502         //SFNode                        f_color; -- X3DComposedGeometryNode
00503         //SFNode                        f_coord; -- X3DComposedGeometryNode
00504         MFInt32                 f_fanCount;
00505         //SFNode                        f_metadata; -- X3DNode
00506         //SFNode                        f_normal; -- X3DComposedGeometryNode
00507         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
00508         //SFBool                        f_ccw; -- X3DComposedGeometryNode
00509         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
00510         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
00511         //SFBool                        f_solid; -- X3DComposedGeometryNode
00512 };
00513 
00514 class TriangleSet : public X3DComposedGeometryNode
00515 {
00516 public:
00517         //SFNode                        f_color; -- X3DComposedGeometryNode
00518         //SFNode                        f_coord; -- X3DComposedGeometryNode
00519         //SFNode                        f_metadata; -- X3DNode
00520         //SFNode                        f_normal; -- X3DComposedGeometryNode
00521         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
00522         //SFBool                        f_ccw; -- X3DComposedGeometryNode
00523         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
00524         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
00525         //SFBool                        f_solid; -- X3DComposedGeometryNode
00526 };
00527 
00528 class TriangleStripSet : public X3DComposedGeometryNode
00529 {
00530 public:
00531         //SFNode                        f_color; -- X3DComposedGeometryNode
00532         //SFNode                        f_coord; -- X3DComposedGeometryNode
00533         //SFNode                        f_metadata; -- X3DNode
00534         //SFNode                        f_normal; -- X3DComposedGeometryNode
00535         MFInt32                 f_stripCount;
00536         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
00537         //SFBool                        f_ccw; -- X3DComposedGeometryNode
00538         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
00539         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
00540         //SFBool                        f_solid; -- X3DComposedGeometryNode
00541 };
00542 
00543 /*
00544  * Shape
00545  */
00546 class X3DAppearanceChildNode : public X3DNode
00547 {
00548 public:
00549         //SFNode                        f_metadata; -- X3DNode
00550 };
00551 
00552 class X3DAppearanceNode : public X3DNode
00553 {
00554 public:
00555         //SFNode                        f_metadata; -- X3DNode
00556 };
00557 
00558 class X3DMaterialNode : public X3DAppearanceChildNode
00559 {
00560 public:
00561         //SFNode                        f_metadata; -- X3DNode
00562 };
00563 
00564 class X3DShapeNode : public X3DChildNode, public X3DBoundedObject
00565 {
00566 public:
00567         SFNode                  f_appearance;           // X3DAppearanceNode
00568         SFNode                  f_geometry;             // X3DGeometryNode
00569         //SFNode                        f_metadata; -- X3DNode
00570         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00571         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00572 };
00573 
00574 class Appearance : public X3DAppearanceNode
00575 {
00576 public:
00577         SFNode                  f_fillProperties;       // FillProperties
00578         SFNode                  f_lineProperties;       // LineProperties
00579         SFNode                  f_material;             // X3DMaterialNode
00580         //SFNode                        f_metadata; -- X3DNode
00581         SFNode                  f_texture;              // X3DTextureNode
00582         SFNode                  f_textureTransform;     // X3DTextureTransformNode
00583 };
00584 
00585 class FillProperties : public X3DAppearanceChildNode
00586 {
00587 public:
00588         SFBool                  f_filled;
00589         SFColor                 f_hatchColor;
00590         SFBool                  f_hatched;
00591         SFInt32                 f_hatchStyle;
00592         //SFNode                        f_metadata; -- X3DNode
00593 };
00594 
00595 class LineProperties : public X3DAppearanceChildNode
00596 {
00597 public:
00598         SFBool                  f_applied;
00599         SFInt32                 f_linetype;
00600         SFFloat                 f_linewidthScaleFactor;
00601         //SFNode                        f_metadata; -- X3DNode
00602 };
00603 
00604 class Material : public X3DMaterialNode
00605 {
00606 public:
00607         SFFloat                 f_ambientIntensity;
00608         SFColor                 f_diffuseColor;
00609         SFColor                 f_emissiveColor;
00610         //SFNode                        f_metadata; -- X3DNode
00611         SFFloat                 f_shininess;
00612         SFColor                 f_specularColor;
00613         SFFloat                 f_transparency;
00614 };
00615 
00616 class Shape : public X3DShapeNode
00617 {
00618 public:
00619         //SFNode                        f_appearance; -- X3DShapeNode
00620         //SFNode                        f_geometry; -- X3DShapeNode
00621         //SFNode                        f_metadata; -- X3DNode
00622         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
00623         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
00624 };
00625 
00626 /*
00627  * Geometric3D
00628  */
00629 class Box : public X3DGeometryNode
00630 {
00631 public:
00632         //SFNode                        f_metadata; -- X3DNode
00633         SFVec3f                 f_size;
00634         SFBool                  f_solid;
00635 };
00636 
00637 class Cone : public X3DGeometryNode
00638 {
00639 public:
00640         //SFNode                        f_metadata; -- X3DNode
00641         SFBool                  f_bottom;
00642         SFFloat                 f_bottomRadius;
00643         SFFloat                 f_height;
00644         SFBool                  f_side;
00645         SFBool                  f_solid;
00646 };
00647 
00648 class Cylinder : public X3DGeometryNode
00649 {
00650 public:
00651         //SFNode                        f_metadata; -- X3DNode
00652         SFBool                  f_bottom;
00653         SFFloat                 f_height;
00654         SFFloat                 f_radius;
00655         SFBool                  f_side;
00656         SFBool                  f_solid;
00657         SFBool                  f_top;
00658 };
00659 
00660 class ElevationGrid : public X3DGeometryNode
00661 {
00662 public:
00663         MFFloat                 f_set_height;
00664         SFNode                  f_color;
00665         //SFNode                        f_metadata; -- X3DNode
00666         SFNode                  f_normal;
00667         SFNode                  f_texCoord;
00668         SFBool                  f_ccw;
00669         SFBool                  f_colorPerVertex;
00670         SFFloat                 f_creaseAngle;
00671         MFFloat                 f_height;
00672         SFBool                  f_normalPerVertex;
00673         SFBool                  f_solid;
00674         SFInt32                 f_xDimension;
00675         SFFloat                 f_xSpacing;
00676         SFInt32                 f_zDimension;
00677         SFFloat                 f_zSpacing;
00678 };
00679 
00680 class Extrusion : public X3DGeometryNode
00681 {
00682 public:
00683         MFVec2f                 f_set_crossSection;
00684         MFRotation              f_set_orientation;
00685         MFVec2f                 f_set_scale;
00686         MFVec3f                 f_set_spine;
00687         //SFNode                        f_metadata; -- X3DNode
00688         SFBool                  f_beginCap;
00689         SFBool                  f_ccw;
00690         SFBool                  f_convex;
00691         SFFloat                 f_creaseAngle;
00692         MFVec2f                 f_crossSection;
00693         SFBool                  f_endCap;
00694         MFRotation              f_orientation;
00695         MFVec2f                 f_scale;
00696         SFBool                  f_solid;
00697         MFVec3f                 f_spine;
00698 };
00699 
00700 class IndexedFaceSet : public X3DComposedGeometryNode
00701 {
00702 public:
00703         MFInt32                 f_set_colorIndex;
00704         MFInt32                 f_set_coordIndex;
00705         MFInt32                 f_set_normalIndex;
00706         MFInt32                 f_set_texCoordIndex;
00707         //SFNode                        f_color; -- X3DComposedGeometryNode
00708         //SFNode                        f_coord; -- X3DComposedGeometryNode
00709         //SFNode                        f_metadata; -- X3DNode
00710         //SFNode                        f_normal; -- X3DComposedGeometryNode
00711         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
00712         //SFBool                        f_ccw; -- X3DComposedGeometryNode
00713         MFInt32                 f_colorIndex;
00714         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
00715         SFBool                  f_convex;
00716         MFInt32                 f_coordIndex;
00717         SFFloat                 f_creaseAngle;
00718         MFInt32                 f_normalIndex;
00719         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
00720         //SFBool                        f_solid; -- X3DComposedGeometryNode
00721         MFInt32                 f_texCoordIndex;
00722 };
00723 
00724 class Sphere : public X3DGeometryNode
00725 {
00726 public:
00727         //SFNode                        f_metadata; -- X3DNode
00728         SFFloat                 f_radius;
00729         SFBool                  f_solid;
00730 };
00731 
00732 class Arc2D : public X3DGeometryNode
00733 {
00734 public:
00735         //SFNode                        f_metadata; -- X3DNode
00736         SFFloat                 f_endAngle;
00737         SFFloat                 f_radius;
00738         SFFloat                 f_startAngle;
00739 };
00740 
00741 class ArcClose2D : public X3DGeometryNode
00742 {
00743 public:
00744         //SFNode                        f_metadata; -- X3DNode
00745         SFString                f_closureType;
00746         SFFloat                 f_endAngle;
00747         SFFloat                 f_radius;
00748         SFBool                  f_solid;
00749         SFFloat                 f_startAngle;
00750 };
00751 
00752 class Circle2D : public X3DGeometryNode
00753 {
00754 public:
00755         //SFNode                        f_metadata; -- X3DNode
00756         SFFloat                 f_radius;
00757 };
00758 
00759 class Disk2D : public X3DGeometryNode
00760 {
00761 public:
00762         //SFNode                        f_metadata; -- X3DNode
00763         SFFloat                 f_innerRadius;
00764         SFFloat                 f_outerRadius;
00765         SFBool                  f_solid;
00766 };
00767 
00768 class Polyline2D : public X3DGeometryNode
00769 {
00770 public:
00771         //SFNode                        f_metadata; -- X3DNode
00772         MFVec2f                 f_lineSegments;
00773 };
00774 
00775 class Polypoint2D : public X3DGeometryNode
00776 {
00777 public:
00778         //SFNode                        f_metadata; -- X3DNode
00779         MFVec2f                 f_point;
00780 };
00781 
00782 class Rectangle2D : public X3DGeometryNode
00783 {
00784 public:
00785         //SFNode                        f_metadata; -- X3DNode
00786         SFVec2f                 f_size;
00787         SFBool                  f_solid;
00788 };
00789 
00790 class TriangleSet2D : public X3DGeometryNode
00791 {
00792 public:
00793         //SFNode                        f_metadata; -- X3DNode
00794         MFVec2f                 f_vertices;
00795         SFBool                  f_solid;
00796 };
00797 
00798 
00799 /*
00800  * Font
00801  */
00802 class X3DFontStyleNode : public X3DNode
00803 {
00804 public:
00805         //SFNode                        f_metadata; -- X3DNode
00806 };
00807 
00808 class FontStyle : public X3DFontStyleNode
00809 {
00810 public:
00811         //SFNode                        f_metadata; -- X3DNode
00812         MFString                f_family;
00813         SFBool                  f_horizontal;
00814         MFString                f_justify;
00815         SFString                f_language;
00816         SFBool                  f_leftToRight;
00817         SFFloat                 f_size;
00818         SFFloat                 f_spacing;
00819         SFString                f_style;
00820         SFBool                  f_topToBottom;
00821 };
00822 
00823 class Text : public X3DGeometryNode
00824 {
00825 public:
00826         SFNode                  f_fontStyle;
00827         MFFloat                 f_length;
00828         SFFloat                 f_maxExtent;
00829         //SFNode                        f_metadata; -- X3DNode
00830         MFString                f_string;
00831         SFBool                  f_solid;
00832 };
00833 
00834 
00835 /*
00836  * Sound
00837  */
00838 class X3DSoundNode : public X3DChildNode
00839 {
00840 public:
00841         //SFNode                        f_metadata; -- X3DNode
00842 };
00843 
00844 class X3DSoundSourceNode : public X3DTimeDependentNode
00845 {
00846 public:
00847         SFString                f_description;
00848         //SFBool                        f_loop; -- X3DTimeDependentNode
00849         //SFNode                        f_metadata; -- X3DNode
00850         //SFTime                        f_pauseTime; -- X3DTimeDependentNode
00851         SFFloat                 f_pitch;
00852         //SFTime                        f_resumeTime; -- X3DTimeDependentNode
00853         //SFTime                        f_startTime; -- X3DTimeDependentNode
00854         //SFTime                        f_stopTime; -- X3DTimeDependentNode
00855         SFTime                  f_duration_changed;
00856         //SFTime                        f_elapsedTime; -- X3DTimeDependentNode
00857         //SFBool                        f_isActive; -- X3DTimeDependentNode
00858         //SFBool                        f_isPaused; -- X3DTimeDependentNode
00859 };
00860 
00861 class AudioClip : public X3DSoundSourceNode, public X3DUrlObject
00862 {
00863 public:
00864         //SFString                      f_description; -- X3DSoundSourceNode
00865         //SFBool                        f_loop; -- X3DTimeDependentNode
00866         //SFNode                        f_metadata; -- X3DNode
00867         //SFTime                        f_pauseTime; -- X3DTimeDependentNode
00868         //SFFloat                       f_pitch; -- X3DSoundSourceNode
00869         //SFTime                        f_resumeTime; -- X3DTimeDependentNode
00870         //SFTime                        f_startTime; -- X3DTimeDependentNode
00871         //SFTime                        f_stopTime; -- X3DTimeDependentNode
00872         //MFString                      f_url; -- X3DUrlObject
00873         //SFTime                        f_duration_changed; -- X3DSoundSourceNode
00874         //SFTime                        f_elapsedTime; -- X3DTimeDependentNode
00875         //SFBool                        f_isActive; -- X3DTimeDependentNode
00876         //SFBool                        f_isPaused; -- X3DTimeDependentNode
00877 };
00878 
00879 class Sound : public X3DSoundNode
00880 {
00881 public:
00882         SFVec3f                 f_direction;
00883         SFFloat                 f_intensity;
00884         SFVec3f                 f_location;
00885         SFFloat                 f_maxBack;
00886         SFFloat                 f_maxFront;
00887         //SFNode                        f_metadata; -- X3DNode
00888         SFFloat                 f_minBack;
00889         SFFloat                 f_minFront;
00890         SFFloat                 f_priority;
00891         SFNode                  f_source;
00892         SFBool                  f_spatialize;
00893 };
00894 
00895 
00896 /*
00897  * Lighting
00898  */
00899 class X3DLightNode : public X3DChildNode
00900 {
00901 public:
00902         SFFloat                 f_ambientIntensity;
00903         SFColor                 f_color;
00904         SFFloat                 f_intensity;
00905         //SFNode                        f_metadata; -- X3DNode
00906         SFBool                  f_on;
00907 };
00908 
00909 class DirectionalLight : public X3DLightNode
00910 {
00911 public:
00912         //SFFloat                       f_ambientIntensity; -- X3DLightNode
00913         //SFColor                       f_color; -- X3DLightNode
00914         SFVec3f                 f_direction;
00915         //SFFloat                       f_intensity; -- X3DLightNode
00916         //SFNode                        f_metadata; -- X3DNode
00917         //SFBool                        f_on; -- X3DLightNode
00918 };
00919 
00920 class PointLight : public X3DLightNode
00921 {
00922 public:
00923         //SFFloat                       f_ambientIntensity; -- X3DLightNode
00924         SFVec3f                 f_attenuation;
00925         //SFColor                       f_color; -- X3DLightNode
00926         //SFFloat                       f_intensity; -- X3DLightNode
00927         SFVec3f                 f_location;
00928         //SFNode                        f_metadata; -- X3DNode
00929         //SFBool                        f_on; -- X3DLightNode
00930         SFFloat                 f_radius;
00931 };
00932 
00933 class SpotLight : public X3DLightNode
00934 {
00935 public:
00936         //SFFloat                       f_ambientIntensity; -- X3DLightNode
00937         SFVec3f                 f_attenuation;
00938         SFFloat                 f_beamWidth;
00939         //SFColor                       f_color; -- X3DLightNode
00940         SFFloat                 f_cutOffAngle;
00941         SFVec3f                 f_direction;
00942         //SFFloat                       f_intensity; -- X3DLightNode
00943         SFVec3f                 f_location;
00944         //SFNode                        f_metadata; -- X3DNode
00945         //SFBool                        f_on; -- X3DLightNode
00946         SFFloat                 f_radius;
00947 };
00948 
00949 
00950 /*
00951  * Texturing
00952  */
00953 class X3DTextureCoordinateNode : public X3DGeometricPropertyNode
00954 {
00955 public:
00956         //SFNode                        f_metadata; -- X3DNode
00957 };
00958 
00959 class X3DTextureNode : public X3DAppearanceChildNode
00960 {
00961 public:
00962         //SFNode                        f_metadata; -- X3DNode
00963 };
00964 
00965 class X3DTexture2DNode : public X3DTextureNode
00966 {
00967 public:
00968         //SFNode                        f_metadata; -- X3DNode
00969         SFBool                  f_repeatS;
00970         SFBool                  f_repeatT;
00971 };
00972 
00973 class X3DTextureTransformNode : public X3DAppearanceChildNode
00974 {
00975 public:
00976         //SFNode                        f_metadata; -- X3DNode
00977 };
00978 
00979 class X3DTextureTransform2DNode : public X3DTextureTransformNode
00980 {
00981 public:
00982         SFVec2f                 f_center;
00983         //SFNode                        f_metadata; -- X3DNode
00984         SFFloat                 f_rotation;
00985         SFVec2f                 f_scale;
00986         SFVec2f                 f_translation;
00987 };
00988 
00989 class ImageTexture : public X3DTexture2DNode
00990 {
00991 public:
00992         //SFNode                        f_metadata; -- X3DNode
00993         MFString                f_url;
00994         //SFBool                        f_repeatS; -- X3DTexture2DNode
00995         //SFBool                        f_repeatT; -- X3DTexture2DNode
00996 };
00997 
00998 class MovieTexture : public X3DTexture2DNode, public X3DSoundSourceNode, public X3DUrlObject
00999 {
01000 public:
01001         // TODO: Bogus non-field? the description wasn't repeated in this node
01002         //SFString                      f_description; -- X3DTimeDependentNode
01003         //SFBool                        f_loop; -- X3DTimeDependentNode
01004         //SFNode                        f_metadata; -- X3DNode
01005         //SFTime                        f_pauseTime; -- X3DTimeDependentNode
01006         // TODO: Bogus non-field? the pitch wasn't repeated in this node
01007         //SFFloat                       f_pitch;
01008         SFTime                  f_pauseTime;
01009         SFFloat                 f_speed;
01010         // TODO: Bogus non-field? the resumeTime wasn't repeated in this node
01011         //SFTime                        f_resumeTime; -- X3DTimeDependentNode
01012         //SFTime                        f_startTime; -- X3DTimeDependentNode
01013         //SFTime                        f_stopTime; -- X3DTimeDependentNode
01014         //MFString                      f_url; -- X3DUrlObject
01015         //SFBool                        f_repeatS; -- X3DTexture2DNode
01016         //SFBool                        f_repeatT; -- X3DTexture2DNode
01017         //SFTime                        f_duration_changed; -- X3DSoundSourceNode
01018         //SFTime                        f_elapsedTime; -- X3DTimeDependentNode
01019         //SFBool                        f_isActive; -- X3DTimeDependentNode
01020         //SFBool                        f_isPaused; -- X3DTimeDependentNode
01021 };
01022 
01023 class MultiTexture : public X3DTextureNode
01024 {
01025 public:
01026         SFFloat                 f_alpha;
01027         SFColor                 f_color;
01028         MFString                f_function;
01029         //SFNode                        f_metadata; -- X3DNode
01030         MFString                f_mode;
01031         MFString                f_source;
01032         MFNode                  f_texture;      // X3DTextureNode
01033 };
01034 
01035 class MultiTextureCoordinate : public X3DTextureCoordinateNode
01036 {
01037 public:
01038         //SFNode                        f_metadata; -- X3DNode
01039         MFNode                  f_texCoord;     // X3DTextureCoordinateNode
01040 };
01041 
01042 class MultiTextureTransform : public X3DTextureTransformNode
01043 {
01044 public:
01045         //SFNode                        f_metadata; -- X3DNode
01046         MFNode                  f_textureTransform;     // X3DTextureTransformNode
01047 };
01048 
01049 class PixelTexture : public X3DTexture2DNode
01050 {
01051 public:
01052         SFImage                 f_image;
01053         //SFNode                        f_metadata; -- X3DNode
01054         //SFBool                        f_repeatS; -- X3DTexture2DNode
01055         //SFBool                        f_repeatT; -- X3DTexture2DNode
01056 };
01057 
01058 class TextureCoordinate : public X3DTextureCoordinateNode
01059 {
01060 public:
01061         //SFNode                        f_metadata; -- X3DNode
01062         MFVec2f                 f_point;
01063 };
01064 
01065 class TextureCoordinateGenerator : public X3DTextureCoordinateNode
01066 {
01067 public:
01068         //SFNode                        f_metadata; -- X3DNode
01069         SFString                f_mode;
01070         MFFloat                 f_parameter;
01071 };
01072 
01073 class TextureTransform : public X3DTextureTransform2DNode
01074 {
01075 public:
01076         //SFVec2f                       f_center; -- TextureTransform
01077         //SFNode                        f_metadata; -- X3DNode
01078         //SFFloat                       f_rotation; -- TextureTransform
01079         //SFVec2f                       f_scale; -- TextureTransform
01080         //SFVec2f                       f_translation; -- TextureTransform
01081 };
01082 
01083 
01084 /*
01085  * Interpolator
01086  */
01087 class X3DInterpolatorNode : public X3DChildNode
01088 {
01089 public:
01090         SFFloat                 f_set_fraction;
01091         MFFloat                 f_key;
01092         //X3DField                      f_keyValue; -- "abstract" field
01093         //SFNode                        f_metadata; -- X3DNode
01094         //X3DField                      f_value_changed; -- "abstract" field
01095 };
01096 
01097 class ColorInterpolator : public X3DInterpolatorNode
01098 {
01099 public:
01100         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01101         //MFFloat                       f_key; -- X3DInterpolatorNode
01102         MFColor                 f_keyValue;
01103         //SFNode                        f_metadata; -- X3DNode
01104         SFColor                 f_value_changed;
01105 };
01106 
01107 class CoordinateInterpolator : public X3DInterpolatorNode
01108 {
01109 public:
01110         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01111         //MFFloat                       f_key; -- X3DInterpolatorNode
01112         MFVec3f                 f_keyValue;
01113         //SFNode                        f_metadata; -- X3DNode
01114         MFVec3f                 f_value_changed;
01115 };
01116 
01117 class CoordinateInterpolator2D : public X3DInterpolatorNode
01118 {
01119 public:
01120         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01121         //MFFloat                       f_key; -- X3DInterpolatorNode
01122         MFVec2f                 f_keyValue;
01123         //SFNode                        f_metadata; -- X3DNode
01124         MFVec2f                 f_value_changed;
01125 };
01126 
01127 class NormalInterpolator : public X3DInterpolatorNode
01128 {
01129 public:
01130         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01131         //MFFloat                       f_key; -- X3DInterpolatorNode
01132         MFVec3f                 f_keyValue;
01133         //SFNode                        f_metadata; -- X3DNode
01134         MFVec3f                 f_value_changed;
01135 };
01136 
01137 class OrientationInterpolator : public X3DInterpolatorNode
01138 {
01139 public:
01140         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01141         //MFFloat                       f_key; -- X3DInterpolatorNode
01142         MFRotation              f_keyValue;
01143         //SFNode                        f_metadata; -- X3DNode
01144         SFRotation              f_value_changed;
01145 };
01146 
01147 class PositionInterpolator : public X3DInterpolatorNode
01148 {
01149 public:
01150         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01151         //MFFloat                       f_key; -- X3DInterpolatorNode
01152         MFVec3f                 f_keyValue;
01153         //SFNode                        f_metadata; -- X3DNode
01154         MFVec3f                 f_value_changed;
01155 };
01156 
01157 class Position2DInterpolator : public X3DInterpolatorNode
01158 {
01159 public:
01160         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01161         //MFFloat                       f_key; -- X3DInterpolatorNode
01162         MFVec2f                 f_keyValue;
01163         //SFNode                        f_metadata; -- X3DNode
01164         MFVec2f                 f_value_changed;
01165 };
01166 
01167 class ScalarInterpolator : public X3DInterpolatorNode
01168 {
01169 public:
01170         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01171         //MFFloat                       f_key; -- X3DInterpolatorNode
01172         MFFloat                 f_keyValue;
01173         //SFNode                        f_metadata; -- X3DNode
01174         SFFloat                 f_value_changed;
01175 };
01176 
01177 
01178 /*
01179  * 2D Pointing device sensors
01180  */
01181 class X3DPointingDeviceSensorNode : public X3DSensorNode
01182 {
01183 public:
01184         SFString                f_description;
01185         //SFBool                        f_enabled; -- X3DSensorNode
01186         //SFNode                        f_metadata; -- X3DNode
01187         //SFBool                        f_isActive; -- X3DSensorNode
01188         SFBool                  f_isOver;
01189 };
01190 
01191 class X3DDragSensorNode : public X3DPointingDeviceSensorNode
01192 {
01193 public:
01194         SFBool                  f_autoOffset;
01195         //SFString                      f_description; -- X3DPointingDeviceSensorNode
01196         //SFBool                        f_enabled; -- X3DSensorNode
01197         //SFNode                        f_metadata; -- X3DNode
01198         //SFBool                        f_isActive; -- X3DSensorNode
01199         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01200         SFVec3f                 f_trackPoint_changed;
01201 };
01202 
01203 class X3DTouchSensorNode : public X3DPointingDeviceSensorNode
01204 {
01205 public:
01206         //SFString                      f_description; -- X3DPointingDeviceSensorNode
01207         //SFBool                        f_enabled; -- X3DSensorNode
01208         //SFNode                        f_metadata; -- X3DNode
01209         //SFBool                        f_isActive; -- X3DSensorNode
01210         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01211         SFTime                  f_touchTime;
01212 };
01213 
01214 class CylinderSensor : public X3DDragSensorNode
01215 {
01216 public:
01217         //SFBool                        f_autoOffset; -- X3DDragSensorNode
01218         //SFString                      f_description; -- X3DPointingDeviceSensorNode
01219         SFFloat                 f_diskAngle;
01220         //SFBool                        f_enabled; -- X3DSensorNode
01221         SFFloat                 f_maxAngle;
01222         //SFNode                        f_metadata; -- X3DNode
01223         SFFloat                 f_minAngle;
01224         SFFloat                 f_offset;
01225         //SFBool                        f_isActive; -- X3DSensorNode
01226         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01227         SFRotation              f_rotation_changed;
01228         //SFVec3f                       f_trackPoint_changed; -- X3DDragSensorNode
01229 };
01230 
01231 class PlaneSensor : public X3DDragSensorNode
01232 {
01233 public:
01234         //SFBool                        f_autoOffset; -- X3DDragSensorNode
01235         //SFString                      f_description; -- X3DPointingDeviceSensorNode
01236         //SFBool                        f_enabled; -- X3DSensorNode
01237         SFVec2f                 f_maxPosition;
01238         //SFNode                        f_metadata; -- X3DNode
01239         SFVec2f                 f_minPosition;
01240         SFVec3f                 f_offset;
01241         //SFBool                        f_isActive; -- X3DSensorNode
01242         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01243         //SFVec3f                       f_trackPoint_changed; -- X3DDragSensorNode
01244         SFVec3f                 f_translation_changed;
01245 };
01246 
01247 class SphereSensor : public X3DDragSensorNode
01248 {
01249 public:
01250         //SFBool                        f_autoOffset; -- X3DDragSensorNode
01251         //SFString                      f_description; -- X3DPointingDeviceSensorNode
01252         //SFBool                        f_enabled; -- X3DSensorNode
01253         //SFNode                        f_metadata; -- X3DNode
01254         SFRotation              f_offset;
01255         //SFBool                        f_isActive; -- X3DSensorNode
01256         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01257         SFRotation              f_rotation_changed;
01258         //SFVec3f                       f_trackPoint_changed; -- X3DDragSensorNode
01259 };
01260 
01261 class TouchSensor : public X3DTouchSensorNode
01262 {
01263 public:
01264         //SFString                      f_description; -- X3DPointingDeviceSensorNode
01265         //SFBool                        f_enabled; -- X3DSensorNode
01266         //SFNode                        f_metadata; -- X3DNode
01267         SFVec3f                 f_hitNormal_changed;
01268         SFVec3f                 f_hitPoint_changed;
01269         SFVec2f                 f_hitTexCoord_changed;
01270         //SFBool                        f_isActive; -- X3DSensorNode
01271         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01272         //SFTime                        f_touchTime; -- X3DTouchSensorNode
01273 };
01274 
01275 /*
01276  * Key sensors
01277  */
01278 class X3DKeyDeviceSensorNode : public X3DSensorNode
01279 {
01280 public:
01281         //SFBool                        f_enabled; -- X3DSensorNode
01282         //SFNode                        f_metadata; -- X3DNode
01283         //SFBool                        f_isActive; -- X3DSensorNode
01284 };
01285 
01286 class KeySensor : public X3DKeyDeviceSensorNode
01287 {
01288 public:
01289         //SFBool                        f_enabled; -- X3DSensorNode
01290         //SFNode                        f_metadata; -- X3DNode
01291         SFInt32                 f_actionKeyPress;
01292         SFInt32                 f_actionKeyRelease;
01293         SFBool                  f_altKey;
01294         SFBool                  f_controlKey;
01295         //SFBool                        f_isActive; -- X3DSensorNode
01296         SFString                f_keyPress;
01297         SFString                f_keyRelease;
01298         SFBool                  f_shiftKey;
01299 };
01300 
01301 class StringSensor  : public X3DKeyDeviceSensorNode
01302 {
01303 public:
01304         SFBool                  f_deletionAllowed;
01305         //SFBool                        f_enabled; -- X3DSensorNode
01306         //SFNode                        f_metadata; -- X3DNode
01307         SFString                f_enteredText;
01308         SFString                f_finalText;
01309         //SFBool                        f_isActive; -- X3DSensorNode
01310 };
01311 
01312 
01313 /*
01314  * Environmental Sensors
01315  */
01316 class X3DEnvironmentalSensorNode : public X3DSensorNode
01317 {
01318 public:
01319         SFVec3f                 f_center;
01320         //SFBool                        f_enabled; -- X3DSensorNode
01321         //SFNode                        f_metadata; -- X3DNode
01322         SFVec3f                 f_size;
01323         SFTime                  f_enterTime;
01324         SFTime                  f_exitTime;
01325         //SFBool                        f_isActive; -- X3DSensorNode
01326 };
01327 
01328 class ProximitySensor : public X3DEnvironmentalSensorNode
01329 {
01330 public:
01331         //SFVec3f                       f_center; -- X3DEnvironmentalSensorNode
01332         //SFBool                        f_enabled; -- X3DSensorNode
01333         //SFNode                        f_metadata; -- X3DNode
01334         //SFVec3f                       f_size; -- X3DEnvironmentalSensorNode
01335         //SFTime                        f_enterTime; -- X3DEnvironmentalSensorNode
01336         //SFTime                        f_exitTime; -- X3DEnvironmentalSensorNode
01337         SFVec3f                 f_centerOfRotation_changed;
01338         //SFBool                        f_isActive; -- X3DSensorNode
01339         SFRotation              f_orientation_changed;
01340         SFVec3f                 f_position_changed;
01341 };
01342 
01343 class VisibilitySensor : public X3DEnvironmentalSensorNode
01344 {
01345 public:
01346         //SFVec3f                       f_center; -- X3DEnvironmentalSensorNode
01347         //SFBool                        f_enabled; -- X3DSensorNode
01348         //SFNode                        f_metadata; -- X3DNode
01349         //SFVec3f                       f_size; -- X3DEnvironmentalSensorNode
01350         //SFTime                        f_enterTime; -- X3DEnvironmentalSensorNode
01351         //SFTime                        f_exitTime; -- X3DEnvironmentalSensorNode
01352         //SFBool                        f_isActive; -- X3DSensorNode
01353 };
01354 
01355 
01356 /*
01357  * Navigation
01358  */
01359 class Billboard : public X3DGroupingNode
01360 {
01361 public:
01362         //MFNode                        f_addChildren; -- X3DGroupingNode
01363         //MFNode                        f_removeChildren; -- X3DGroupingNode
01364         SFVec3f                 f_axisOfRotation;
01365         //MFNode                        f_children; -- X3DGroupingNode
01366         //SFNode                        f_metadata; -- X3DNode
01367         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01368         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01369 };
01370 
01371 // TODO: FIX DUAL INHERITANCE
01372 class Collision : public X3DGroupingNode, public X3DSensorNode
01373 {
01374 public:
01375         //MFNode                        f_addChildren; -- X3DGroupingNode
01376         //MFNode                        f_removeChildren; -- X3DGroupingNode
01377         //SFBool                        f_enabled; -- X3DSensorNode
01378         //MFNode                        f_children; -- X3DGroupingNode
01379         //SFNode                        f_metadata; -- X3DNode
01380         SFTime                  f_collideTime;
01381         //SFBool                        f_isActive; -- X3DSensorNode
01382         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01383         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01384         SFNode                  f_proxy;
01385 };
01386 
01387 class LOD : public X3DGroupingNode
01388 {
01389 public:
01390         //MFNode                        f_addChildren; -- X3DGroupingNode
01391         //MFNode                        f_removeChildren; -- X3DGroupingNode
01392         //MFNode                        f_children; -- X3DGroupingNode
01393         //SFNode                        f_metadata; -- X3DNode
01394         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01395         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01396         SFVec3f                 f_center;
01397         MFFloat                 f_range;
01398 };
01399 
01400 class NavigationInfo : public X3DBindableNode
01401 {
01402 public:
01403         //SFBool                        f_set_bind; -- X3DBindableNode
01404         MFFloat                 f_avatarSize;
01405         SFBool                  f_headlight;
01406         //SFNode                        f_metadata; -- X3DNode
01407         SFFloat                 f_speed;
01408         MFString                f_transitionType;
01409         MFString                f_type;
01410         SFFloat                 f_visibilityLimit;
01411         //SFTime                        f_bind_time; -- X3DBindableNode
01412         //SFBool                        f_is_bound; -- X3DBindableNode
01413 };
01414 
01415 class Viewpoint : public X3DBindableNode
01416 {
01417 public:
01418         //SFBool                        f_set_bind; -- X3DBindableNode
01419         SFVec3f                 f_centerOfRotation;
01420         SFString                f_description;
01421         SFFloat                 f_fieldOfView;
01422         SFBool                  f_jump;
01423         //SFNode                        f_metadata; -- X3DNode
01424         SFRotation              f_orientation;
01425         SFVec3f                 f_position;
01426         //SFTime                        f_bind_time; -- X3DBindableNode
01427         //SFBool                        f_is_bound; -- X3DBindableNode
01428 };
01429 
01430 
01431 /*
01432  * Environmental effect
01433  */
01434 class X3DBackgroundNode : public X3DBindableNode
01435 {
01436 public:
01437         //SFBool                        f_set_bind; -- X3DBindableNode
01438         MFFloat                 f_groundAngle;
01439         MFColor                 f_groundColor;
01440         //SFNode                        f_metadata; -- X3DNode
01441         MFFloat                 f_skyAngle;
01442         MFColor                 f_skyColor;
01443         //SFTime                        f_bind_time; -- X3DBindableNode
01444         //SFBool                        f_is_bound; -- X3DBindableNode
01445 };
01446 
01447 class Background : public X3DBackgroundNode
01448 {
01449 public:
01450         //SFBool                        f_set_bind; -- X3DBindableNode
01451         //MFFloat                       f_groundAngle; -- X3DBackgroundNode
01452         //MFColor                       f_groundColor; -- X3DBackgroundNode
01453         MFString                f_backUrl;
01454         MFString                f_bottomUrl;
01455         MFString                f_frontUrl;
01456         MFString                f_leftUrl;
01457         //SFNode                        f_metadata; -- X3DNode
01458         MFString                f_rightUrl;
01459         MFString                f_topUrl;
01460         //MFFloat                       f_skyAngle; -- X3DBackgroundNode
01461         //MFColor                       f_skyColor; -- X3DBackgroundNode
01462         //SFTime                        f_bind_time; -- X3DBindableNode
01463         //SFBool                        f_is_bound; -- X3DBindableNode
01464 };
01465 
01466 class Fog : public X3DBindableNode
01467 {
01468 public:
01469         //SFBool                        f_set_bind; -- X3DBindableNode
01470         SFColor                 f_color;
01471         SFString                f_fogType;
01472         //SFNode                        f_metadata; -- X3DNode
01473         SFFloat                 f_visibilityRange;
01474         //SFTime                        f_bind_time; -- X3DBindableNode
01475         //SFBool                        f_is_bound; -- X3DBindableNode
01476 };
01477 
01478 class TextureBackground : public X3DBackgroundNode
01479 {
01480 public:
01481         //SFBool                        f_set_bind; -- X3DBindableNode
01482         //MFFloat                       f_groundAngle; -- X3DBackgroundNode
01483         //MFColor                       f_groundColor; -- X3DBackgroundNode
01484         SFNode                  f_backTexture;
01485         SFNode                  f_bottomTexture;
01486         SFNode                  f_frontTexture;
01487         SFNode                  f_leftTexture;
01488         //SFNode                        f_metadata; -- X3DNode
01489         SFNode                  f_rightTexture;
01490         SFNode                  f_topTexture;
01491         //MFFloat                       f_skyAngle; -- X3DBackgroundNode
01492         //MFColor                       f_skyColor; -- X3DBackgroundNode
01493         MFFloat                 f_transparency;
01494         //SFTime                        f_bind_time; -- X3DBindableNode
01495         //SFBool                        f_is_bound; -- X3DBindableNode
01496 };
01497 
01498 
01499 /*
01500  * GeoSpatial
01501  */
01502 class GeoCoordinate : public X3DCoordinateNode
01503 {
01504 public:
01505         //SFNode                        f_metadata; -- X3DNode
01506         MFVec3d                 f_point;
01507         SFNode                  f_geoOrigin;
01508         MFString                f_geoSystem;
01509 };
01510 
01511 // TODO: Bogus? Can we derive from X3DComposedGeometryNode
01512 //       instead of X3DGeometryNode (we don't have the f_coord though)
01513 class GeoElevationGrid : public X3DComposedGeometryNode //X3DGeometryNode
01514 {
01515 public:
01516         MFDouble                f_set_height;
01517         //SFNode                        f_color; -- X3DComposedGeometryNode
01518         // TODO: following field not present in GeoElevationGrid
01519         //SFNode                        f_coord; -- X3DComposedGeometryNode
01520         //SFNode                        f_metadata; -- X3DNode
01521         //SFNode                        f_normal; -- X3DComposedGeometryNode
01522         //SFNode                        f_texCoord; -- X3DComposedGeometryNode
01523         SFFloat                 f_yScale;
01524         //SFBool                        f_ccw; -- X3DComposedGeometryNode
01525         //SFBool                        f_colorPerVertex; -- X3DComposedGeometryNode
01526         SFDouble                f_creaseAngle;
01527         SFVec3d                 f_geoGridOrigin;
01528         SFNode                  f_geoOrigin;
01529         MFString                f_geoSystem;
01530         MFDouble                f_height;
01531         //SFBool                        f_normalPerVertex; -- X3DComposedGeometryNode
01532         //SFBool                        f_solid; -- X3DComposedGeometryNode
01533         SFInt32                 f_xDimension;
01534         SFDouble                f_xSpacing;
01535         SFInt32                 f_zDimension;
01536         SFDouble                f_zSpacing;
01537 };
01538 
01539 class GeoLocation : public X3DGroupingNode
01540 {
01541 public:
01542         //MFNode                        f_addChildren; -- X3DGroupingNode
01543         //MFNode                        f_removeChildren; -- X3DGroupingNode
01544         //MFNode                        f_children; -- X3DGroupingNode
01545         SFVec3d                 f_geoCoords;
01546         //SFNode                        f_metadata; -- X3DNode
01547         SFNode                  f_geoOrigin;
01548         MFString                f_geoSystem;
01549         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01550         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01551 };
01552 
01553 class GeoLOD : public X3DGroupingNode
01554 {
01555 public:
01556         //MFNode                        f_addChildren; -- X3DGroupingNode
01557         //MFNode                        f_removeChildren; -- X3DGroupingNode
01558         //MFNode                        f_children; -- X3DGroupingNode
01559         //SFNode                        f_metadata; -- X3DNode
01560         SFVec3d                 f_center;
01561         MFString                f_child1Url;
01562         MFString                f_child2Url;
01563         MFString                f_child3Url;
01564         MFString                f_child4Url;
01565         SFNode                  f_geoOrigin;
01566         MFString                f_geoSystem;
01567         SFFloat                 f_range;
01568         MFString                f_rootUrl;
01569         MFNode                  f_rootNode;
01570         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01571         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01572 };
01573 
01574 class GeoMetadata : public X3DInfoNode
01575 {
01576 public:
01577         MFNode                  f_data;
01578         //SFNode                        f_metadata; -- X3DNode
01579         MFString                f_summary;
01580         MFString                f_url;
01581 };
01582 
01583 class GeoOrigin : public X3DNode
01584 {
01585 public:
01586         SFVec3d                 f_geoCoords;
01587         MFString                f_geoSystem;
01588         //SFNode                        f_metadata; -- X3DNode
01589         SFBool                  f_rotateYUp;
01590 };
01591 
01592 class GeoPositionInterpolator : public X3DInterpolatorNode
01593 {
01594 public:
01595         //SFFloat                       f_set_fraction; -- X3DInterpolatorNode
01596         //MFFloat                       f_key; -- X3DInterpolatorNode
01597         MFVec3d                 f_keyValue;
01598         //SFNode                        f_metadata; -- X3DNode
01599         SFVec3d                 f_geovalue_changed;
01600         SFVec3f                 f_value_changed;
01601         SFNode                  f_geoOrigin;
01602         MFString                f_geoSystem;
01603 };
01604 
01605 class GeoTouchSensor : public X3DTouchSensorNode
01606 {
01607 public:
01608         //SFBool                        f_enabled; -- X3DSensorNode
01609         //SFNode                        f_metadata; -- X3DNode
01610         SFVec3f                 f_hitNormal_changed;
01611         SFVec3f                 f_hitPoint_changed;
01612         SFVec2f                 f_hitTexCoord_changed;
01613         SFVec3d                 f_hitGeoCoord_changed;
01614         //SFBool                        f_isActive; -- X3DSensorNode
01615         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01616         SFTime                  f_touchTime;
01617         SFNode                  f_geoOrigin;
01618         MFString                f_geoSystem;
01619         //SFString                      f_description; -- X3DPointingDeviceSensorNode
01620         //SFBool                        f_isActive; -- X3DSensorNode
01621         //SFBool                        f_isOver; -- X3DPointingDeviceSensorNode
01622         //SFTime                        f_touchTime; -- X3DTouchSensorNode
01623 };
01624 
01625 class GeoViewpoint : public X3DBindableNode
01626 {
01627 public:
01628         //SFBool                        f_set_bind; -- X3DBindableNode
01629         SFRotation              f_set_orientation;
01630         SFVec3d                 f_set_position;
01631         SFString                f_description;
01632         SFFloat                 f_fieldOfView;
01633         SFBool                  f_headlight;
01634         SFBool                  f_jump;
01635         //SFNode                        f_metadata; -- X3DNode
01636         MFString                f_navType;
01637         //SFTime                        f_bind_time; -- X3DBindableNode
01638         //SFBool                        f_is_bound; -- X3DBindableNode
01639         SFNode                  f_geoOrigin;            // GeoOrigin
01640         MFString                f_geoSystem;
01641         SFRotation              f_orientation;
01642         SFVec3d                 f_position;
01643         SFFloat                 f_speedFactor;
01644 };
01645 
01646 /*
01647  * Humanoid
01648  */
01649 class HAnimDisplacer : public X3DGeometricPropertyNode
01650 {
01651 public:
01652         MFInt32                 f_coordIndex;
01653         MFVec3f                 f_displacements;
01654         //SFNode                        f_metadata; -- X3DNode
01655         SFString                f_name;
01656         SFFloat                 f_weight;
01657 };
01658 
01659 // NOTE: this could certainly derive from Transform to get scale, rotation, scaleOrientation and center
01660 class HAnimHumanoid : public X3DChildNode, public X3DBoundedObject
01661 {
01662 public:
01663         SFVec3f                 f_center;
01664         MFString                f_info;
01665         MFNode                  f_joints;               // HAnimJoint
01666         //SFNode                        f_metadata; -- X3DNode
01667         SFString                f_name;
01668         SFRotation              f_rotation;
01669         SFVec3f                 f_scale;
01670         SFRotation              f_scaleOrientation;
01671         MFNode                  f_segments;             // HAnimSegment
01672         MFNode                  f_sites;                // HAnimSite
01673         MFNode                  f_skeleton;             // HAnimJoint
01674         MFNode                  f_skin;                 // X3DChildNode
01675         SFNode                  f_skinCoord;            // X3DCoordinateNode
01676         SFNode                  f_skinNormal;           // X3DNormalNode
01677         SFVec3f                 f_translation;
01678         SFString                f_version;
01679         MFNode                  f_viewpoints;           // Viewpoint
01680         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01681         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01682 };
01683 
01684 // NOTE: this could certainly derive from Transform to get scale, rotation, scaleOrientation and center & grouping
01685 class HAnimJoint : public X3DGroupingNode
01686 {
01687 public:
01688         //MFNode                        f_addChildren; -- X3DGroupingNode
01689         //MFNode                        f_removeChildren; -- X3DGroupingNode
01690         SFVec3f                 f_center;
01691         //MFNode                        f_children; -- X3DGroupingNode
01692         MFNode                  f_displacers;           // HAnimDisplacer
01693         SFRotation              f_limitOrientation;
01694         MFFloat                 f_llimit;
01695         //SFNode                        f_metadata; -- X3DNode
01696         SFString                f_name;
01697         SFRotation              f_rotation;
01698         SFVec3f                 f_scale;
01699         SFRotation              f_scaleOrientation;
01700         MFInt32                 f_skinCoordIndex;
01701         MFFloat                 f_skinCoordWeight;
01702         MFFloat                 f_stiffness;
01703         SFVec3f                 f_translation;
01704         MFFloat                 f_ulimit;
01705         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01706         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01707 };
01708 
01709 class HAnimSegment : public X3DGroupingNode
01710 {
01711 public:
01712         //MFNode                        f_addChildren; -- X3DGroupingNode
01713         //MFNode                        f_removeChildren; -- X3DGroupingNode
01714         SFVec3f                 f_centerOfMass;
01715         //MFNode                        f_children; -- X3DGroupingNode
01716         SFNode                  f_coord;                // X3DCoordinateNode
01717         MFNode                  f_displacers;           // HAnimDisplacer
01718         SFFloat                 f_mass;
01719         //SFNode                        f_metadata; -- X3DNode
01720         MFFloat                 f_momentsOfInertia;
01721         SFString                f_name;
01722         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01723         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01724 };
01725 
01726 class HAnimSite : public X3DGroupingNode
01727 {
01728 public:
01729         //MFNode                        f_addChildren; -- X3DGroupingNode
01730         //MFNode                        f_removeChildren; -- X3DGroupingNode
01731         SFVec3f                 f_center;
01732         //MFNode                        f_children; -- X3DGroupingNode
01733         //SFNode                        f_metadata; -- X3DNode
01734         SFString                f_name;
01735         SFRotation              f_rotation;
01736         SFVec3f                 f_scale;
01737         SFRotation              f_scaleOrientation;
01738         SFVec3f                 f_translation;
01739         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01740         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01741 };
01742 
01743 
01744 /*
01745  * NURBS
01746  */
01747 class X3DNurbsControlCurveNode : public X3DNode
01748 {
01749 public:
01750         MFVec2d                 f_controlPoint;
01751         //SFNode                        f_metadata; -- X3DNode
01752 };
01753 
01754 class X3DParametricGeometryNode : public X3DGeometryNode
01755 {
01756 public:
01757         //SFNode                        f_metadata; -- X3DNode
01758 };
01759 
01760 class X3DNurbsSurfaceGeometryNode : public X3DParametricGeometryNode
01761 {
01762 public:
01763         SFNode                  f_controlPoint;         // X3DCoordinateNode
01764         //SFNode                        f_metadata; -- X3DNode
01765         SFNode                  f_texCoord;             // X3DTextureCoordinateNode|NurbsTextureCoordinate
01766         SFInt32                 f_uTessellation;
01767         SFInt32                 f_vTessellation;
01768         MFDouble                f_weight;
01769         SFBool                  f_solid;
01770         SFBool                  f_uClosed;
01771         SFInt32                 f_uDimension;
01772         MFDouble                f_uKnot;
01773         SFInt32                 f_uOrder;
01774         SFBool                  f_vClosed;
01775         SFInt32                 f_vDimension;
01776         MFDouble                f_vKnot;
01777         SFInt32                 f_vOrder;
01778 };
01779 
01780 // this is a grouping node without bounding box!
01781 class Contour2D : public X3DNode
01782 {
01783 public:
01784         MFNode                  f_addChildren;          // NurbsCurve|ContourPolyline2D
01785         MFNode                  f_removeChildren;       // NurbsCurve|ContourPolyline2D
01786         MFNode                  f_children;             // NurbsCurve|ContourPolyline2D
01787         //SFNode                        f_metadata; -- X3DNode
01788 };
01789 
01790 class ContourPolyline2D : public X3DNurbsControlCurveNode
01791 {
01792 public:
01793         // NOTE: The following field is missing from ContourPolyline2D
01794         //MFVec2d                       f_controlPoint; -- X3DNurbsControlCurveNode
01795         //SFNode                        f_metadata; -- X3DNode
01796         MFVec2f                 f_point;
01797 };
01798 
01799 class CoordinateDouble : public X3DCoordinateNode
01800 {
01801 public:
01802         //SFNode                        f_metadata; -- X3DNode
01803         MFVec3d                 f_point;
01804 };
01805 
01806 class NurbsCurve : public X3DParametricGeometryNode
01807 {
01808 public:
01809         SFNode                  f_controlPoint;         // X3DCoordinateNode]
01810         //SFNode                        f_metadata; -- X3DNode
01811         SFInt32                 f_tessellation;
01812         MFDouble                f_weight;
01813         SFBool                  f_closed;
01814         MFDouble                f_knot;
01815         SFInt32                 f_order;
01816 };
01817 
01818 class NurbsCurve2D : public X3DNurbsControlCurveNode
01819 {
01820 public:
01821         //MFVec2d                       f_controlPoint; -- X3DNurbsControlCurveNode
01822         //SFNode                        f_metadata; -- X3DNode
01823         SFInt32                 f_tessellation;
01824         MFDouble                f_weight;
01825         MFDouble                f_knot;
01826         SFInt32                 f_order;
01827         SFBool                  f_closed;
01828 };
01829 
01830 class NurbsOrientationInterpolator : public X3DChildNode
01831 {
01832 public:
01833         SFFloat                 f_set_fraction;
01834         SFNode                  f_controlPoints;        // X3DCoordinateNode
01835         MFDouble                f_knot;
01836         //SFNode                        f_metadata; -- X3DNode
01837         SFInt32                 f_order;
01838         MFDouble                f_weight;
01839         SFRotation              f_value_changed;
01840 };
01841 
01842 class NurbsPatchSurface : public X3DNurbsSurfaceGeometryNode
01843 {
01844 public:
01845         //SFNode                        f_controlPoint; -- X3DNurbsSurfaceGeometryNode
01846         //SFNode                        f_metadata; -- X3DNode
01847         //SFNode                        f_texCoord; -- X3DNurbsSurfaceGeometryNode
01848         //SFInt32                       f_uTessellation; -- X3DNurbsSurfaceGeometryNode
01849         //SFInt32                       f_vTessellation; -- X3DNurbsSurfaceGeometryNode
01850         //MFDouble                      f_weight; -- X3DNurbsSurfaceGeometryNode
01851         //SFBool                        f_solid; -- X3DNurbsSurfaceGeometryNode
01852         //SFBool                        f_uClosed; -- X3DNurbsSurfaceGeometryNode
01853         //SFInt32                       f_uDimension; -- X3DNurbsSurfaceGeometryNode
01854         //MFDouble                      f_uKnot; -- X3DNurbsSurfaceGeometryNode
01855         //SFInt32                       f_uOrder; -- X3DNurbsSurfaceGeometryNode
01856         //SFBool                        f_vClosed;
01857         //SFInt32                       f_vDimension; -- X3DNurbsSurfaceGeometryNode
01858         //MFDouble                      f_vKnot; -- X3DNurbsSurfaceGeometryNode
01859         //SFInt32                       f_vOrder; -- X3DNurbsSurfaceGeometryNode
01860 };
01861 
01862 class NurbsPositionInterpolator : public X3DChildNode
01863 {
01864 public:
01865         SFFloat                 f_set_fraction;
01866         SFNode                  f_controlPoints;        // X3DCoordinateNode
01867         MFDouble                f_knot;
01868         //SFNode                        f_metadata; -- X3DNode
01869         SFInt32                 f_order;
01870         MFDouble                f_weight;
01871         SFVec3f                 f_value_changed;
01872 };
01873 
01874 class NurbsSet : public X3DChildNode, public X3DBoundedObject
01875 {
01876 public:
01877         MFNode                  f_addGeometry;          // NurbsSurface
01878         MFNode                  f_removeGeometry;       // NurbsSurface
01879         MFNode                  f_geometry;             // NurbsSurface
01880         //SFNode                        f_metadata; -- X3DNode
01881         SFFloat                 f_tessellationScale;
01882         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
01883         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
01884 };
01885 
01886 class NurbsSurfaceInterpolator : public X3DChildNode
01887 {
01888 public:
01889         SFVec2f                 f_set_fraction;
01890         SFNode                  f_controlPoints;        // X3DCoordinateNode
01891         //SFNode                        f_metadata; -- X3DNode
01892         MFDouble                f_weight;
01893         SFVec3f                 f_position_changed;
01894         SFVec3f                 f_normal_changed;
01895         SFInt32                 f_uDimension;
01896         MFDouble                f_uKnot;
01897         SFInt32                 f_uOrder;
01898         SFInt32                 f_vDimension;
01899         MFDouble                f_vKnot;
01900         SFInt32                 f_vOrder;
01901 };
01902 
01903 class NurbsSweptSurface : public X3DParametricGeometryNode
01904 {
01905 public:
01906         SFNode                  f_crossSectionCurve;    // X3DNurbsControlCurveNode
01907         //SFNode                        f_metadata; -- X3DNode
01908         SFNode                  f_trajectoryCurve;      // NurbsCurve
01909         SFBool                  f_ccw;
01910         SFBool                  f_solid;
01911 };
01912 
01913 class NurbsSwungSurface : public X3DParametricGeometryNode
01914 {
01915 public:
01916         //SFNode                        f_metadata; -- X3DNode
01917         SFNode                  f_profileCurve;         // X3DNurbsControlCurveNode
01918         SFNode                  f_trajectoryCurve;      // NurbsControlCurveNode
01919         SFBool                  f_ccw;
01920         SFBool                  f_solid;
01921 };
01922 
01923 class NurbsTextureCoordinate : public X3DNode
01924 {
01925 public:
01926         MFVec2f                 f_controlPoint;
01927         //SFNode                        f_metadata; -- X3DNode
01928         MFFloat                 f_weight;
01929         SFInt32                 f_uDimension;
01930         MFDouble                f_uKnot;
01931         SFInt32                 f_uOrder;
01932         SFInt32                 f_vDimension;
01933         MFDouble                f_vKnot;
01934         SFInt32                 f_vOrder;
01935 };
01936 
01937 class NurbsTrimmedSurface : public X3DNurbsSurfaceGeometryNode
01938 {
01939 public:
01940         MFNode                  f_addTrimmingContour;           // Contour2D
01941         MFNode                  f_removeTrimmingContour;        // Contour2D
01942         //SFNode                        f_controlPoint; -- X3DNurbsSurfaceGeometryNode
01943         //SFNode                        f_metadata; -- X3DNode
01944         //SFNode                        f_texCoord; -- X3DNurbsSurfaceGeometryNode
01945         MFNode                  f_trimmingContour;
01946         //SFInt32                       f_uTessellation; -- X3DNurbsSurfaceGeometryNode
01947         //SFInt32                       f_vTessellation; -- X3DNurbsSurfaceGeometryNode
01948         //MFDouble                      f_weight; -- X3DNurbsSurfaceGeometryNode
01949         //SFBool                        f_solid; -- X3DNurbsSurfaceGeometryNode
01950         //SFBool                        f_uClosed; -- X3DNurbsSurfaceGeometryNode
01951         //SFInt32                       f_uDimension; -- X3DNurbsSurfaceGeometryNode
01952         //MFDouble                      f_uKnot; -- X3DNurbsSurfaceGeometryNode
01953         //SFInt32                       f_uOrder; -- X3DNurbsSurfaceGeometryNode
01954         //SFBool                        f_vClosed; -- X3DNurbsSurfaceGeometryNode
01955         //SFInt32                       f_vDimension; -- X3DNurbsSurfaceGeometryNode
01956         //MFDouble                      f_vKnot; -- X3DNurbsSurfaceGeometryNode
01957         //SFInt32                       f_vOrder; -- X3DNurbsSurfaceGeometryNode
01958 };
01959 
01960 
01961 /*
01962  * DIS
01963  */
01964 class EspduTransform : public X3DGroupingNode
01965 {
01966 public:
01967         //MFNode                        f_addChildren; -- X3DGroupingNode
01968         //MFNode                        f_removeChildren; -- X3DGroupingNode
01969         SFFloat                 f_set_articulationParameterValue0;
01970         SFFloat                 f_set_articulationParameterValue1;
01971         SFFloat                 f_set_articulationParameterValue2;
01972         SFFloat                 f_set_articulationParameterValue3;
01973         SFFloat                 f_set_articulationParameterValue4;
01974         SFFloat                 f_set_articulationParameterValue5;
01975         SFFloat                 f_set_articulationParameterValue6;
01976         SFFloat                 f_set_articulationParameterValue7;
01977         SFString                f_address;
01978         SFInt32                 f_applicationID;
01979         SFInt32                 f_articulationParameterCount;
01980         MFInt32                 f_articulationParameterDesignatorArray;
01981         MFInt32                 f_articulationParameterChangeIndicatorArray;
01982         MFInt32                 f_articulationParameterIdPartAttachedToArray;
01983         MFInt32                 f_articulationParameterTypeArray;
01984         MFFloat                 f_articulationParameterArray;
01985         SFVec3f                 f_center;
01986         //MFNode                        f_children; -- X3DGroupingNode
01987         SFInt32                 f_collisionType;
01988         SFInt32                 f_deadReckoning;
01989         SFVec3f                 f_detonationLocation;
01990         SFVec3f                 f_detonationRelativeLocation;
01991         SFInt32                 f_detonationResult;
01992         SFInt32                 f_entityCategory;
01993         SFInt32                 f_entityCountry;
01994         SFInt32                 f_entityDomain;
01995         SFInt32                 f_entityExtra;
01996         SFInt32                 f_entityID;
01997         SFInt32                 f_entityKind;
01998         SFInt32                 f_entitySpecific;
01999         SFInt32                 f_entitySubCategory;
02000         SFInt32                 f_eventApplicationID;
02001         SFInt32                 f_eventEntityID;
02002         SFInt32                 f_eventNumber;
02003         SFInt32                 f_eventSiteID;
02004         SFBool                  f_fired1;
02005         SFBool                  f_fired2;
02006         SFInt32                 f_fireMissionIndex;
02007         SFFloat                 f_firingRange;
02008         SFInt32                 f_firingRate;
02009         SFInt32                 f_forceID;
02010         SFInt32                 f_fuse;
02011         SFVec3f                 f_linearVelocity;
02012         SFVec3f                 f_linearAcceleration;
02013         SFString                f_marking;
02014         //SFNode                        f_metadata; -- X3DNode
02015         SFString                f_multicastRelayHost;
02016         SFInt32                 f_multicastRelayPort;
02017         SFInt32                 f_munitionApplicationID;
02018         SFVec3f                 f_munitionEndPoint;
02019         SFInt32                 f_munitionEntityID;
02020         SFInt32                 f_munitionQuantity;
02021         SFInt32                 f_munitionSiteID;
02022         SFVec3f                 f_munitionStartPoint;
02023         SFString                f_networkMode;
02024         SFInt32                 f_port;
02025         SFTime                  f_readInterval;
02026         SFRotation              f_rotation;
02027         SFVec3f                 f_scale;
02028         SFRotation              f_scaleOrientation;
02029         SFInt32                 f_siteID;
02030         SFVec3f                 f_translation;
02031         SFInt32                 f_warhead;
02032         SFTime                  f_writeInterval;
02033         SFFloat                 f_articulationParameterValue0_changed;
02034         SFFloat                 f_articulationParameterValue1_changed;
02035         SFFloat                 f_articulationParameterValue2_changed;
02036         SFFloat                 f_articulationParameterValue3_changed;
02037         SFFloat                 f_articulationParameterValue4_changed;
02038         SFFloat                 f_articulationParameterValue5_changed;
02039         SFFloat                 f_articulationParameterValue6_changed;
02040         SFFloat                 f_articulationParameterValue7_changed;
02041         SFTime                  f_collideTime;
02042         SFTime                  f_detonateTime;
02043         SFTime                  f_firedTime;
02044         SFBool                  f_isActive;
02045         SFBool                  f_isCollided;
02046         SFBool                  f_isDetonated;
02047         SFBool                  f_isNetworkReader;
02048         SFBool                  f_isNetworkWriter;
02049         SFBool                  f_isRtpHeaderHeard;
02050         SFBool                  f_isStandAlone;
02051         SFTime                  f_timestamp;
02052         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
02053         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
02054         SFBool                  f_rtpHeaderExpected;
02055 };
02056 
02057 class ReceiverPdu : public X3DChildNode, public X3DBoundedObject
02058 {
02059         SFString                f_dress;
02060         SFInt32                 f_plicationID;
02061         SFInt32                 f_tityID;
02062         //SFNode                        f_metadata; -- X3DNode
02063         SFString                f_lticastRelayHost;
02064         SFInt32                 f_lticastRelayPort;
02065         SFString                f_tworkMode;
02066         SFInt32                 f_rt;
02067         SFInt32                 f_dioID;
02068         SFFloat                 f_adInterval;
02069         SFFloat                 f_ceivedPower;
02070         SFInt32                 f_ceiverState;
02071         SFBool                  f_pHeaderExpected;
02072         SFInt32                 f_teID;
02073         SFInt32                 f_ansmitterApplicationID;
02074         SFInt32                 f_ansmitterEntityID;
02075         SFInt32                 f_ansmitterRadioID;
02076         SFInt32                 f_ansmitterSiteID;
02077         SFInt32                 f_ichGeometry;
02078         SFFloat                 f_iteInterval;
02079         SFBool                  f_Active;
02080         SFBool                  f_NetworkReader;
02081         SFBool                  f_NetworkWriter;
02082         SFBool                  f_RtpHeaderHeard;
02083         SFBool                  f_StandAlone;
02084         SFTime                  f_mestamp;
02085         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
02086         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
02087 };
02088 
02089 class SignalPdu : public X3DChildNode, public X3DBoundedObject
02090 {
02091 public:
02092         SFString                f_address;
02093         SFInt32                 f_applicationID;
02094         MFInt32                 f_data;
02095         SFInt32                 f_dataLength;
02096         SFInt32                 f_encodingScheme;
02097         SFInt32                 f_entityID;
02098         //SFNode                        f_metadata; -- X3DNode
02099         SFString                f_multicastRelayHost;
02100         SFInt32                 f_multicastRelayPort;
02101         SFString                f_networkMode;
02102         SFInt32                 f_port;
02103         SFInt32                 f_radioID;
02104         SFFloat                 f_readInterval;
02105         SFBool                  f_rtpHeaderExpected;
02106         SFInt32                 f_sampleRate;
02107         SFInt32                 f_samples;
02108         SFInt32                 f_siteID;
02109         SFInt32                 f_tdlType;
02110         SFInt32                 f_whichGeometry;
02111         SFFloat                 f_writeInterval;
02112         SFBool                  f_isActive;
02113         SFBool                  f_isNetworkReader;
02114         SFBool                  f_isNetworkWriter;
02115         SFBool                  f_isRtpHeaderHeard;
02116         SFBool                  f_isStandAlone;
02117         SFTime                  f_timestamp;
02118         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
02119         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
02120 };
02121 
02122 class TransmitterPdu : public X3DChildNode, public X3DBoundedObject
02123 {
02124 public:
02125         SFString                f_address;
02126         SFVec3f                 f_antennaLocation;
02127         SFInt32                 f_antennaPatternLength;
02128         SFInt32                 f_antennaPatternType;
02129         SFInt32                 f_applicationID;
02130         SFInt32                 f_cryptoKeyID;
02131         SFInt32                 f_cryptoSystem;
02132         SFInt32                 f_entityID;
02133         SFInt32                 f_frequency;
02134         SFInt32                 f_inputSource;
02135         SFInt32                 f_lengthOfModulationParameters;
02136         //SFNode                        f_metadata; -- X3DNode
02137         SFInt32                 f_modulationTypeDetail;
02138         SFInt32                 f_modulationTypeMajor;
02139         SFInt32                 f_modulationTypeSpreadSpectrum;
02140         SFInt32                 f_modulationTypeSystem;
02141         SFString                f_multicastRelayHost;
02142         SFInt32                 f_multicastRelayPort;
02143         SFString                f_networkMode;
02144         SFInt32                 f_port;
02145         SFFloat                 f_power;
02146         SFInt32                 f_radioEntityTypeCategory;
02147         SFInt32                 f_radioEntityTypeCountry;
02148         SFInt32                 f_radioEntityTypeDomain;
02149         SFInt32                 f_radioEntityTypeKind;
02150         SFInt32                 f_radioEntityTypeNomenclature;
02151         SFInt32                 f_radioEntityTypeNomenclatureVersion;
02152         SFInt32                 f_radioID;
02153         SFFloat                 f_readInterval;
02154         SFVec3f                 f_relativeAntennaLocation;
02155         SFBool                  f_rtpHeaderExpected;
02156         SFInt32                 f_siteID;
02157         SFFloat                 f_transmitFrequencyBandwidth;
02158         SFInt32                 f_transmitState;
02159         SFInt32                 f_whichGeometry;
02160         SFFloat                 f_writeInterval;
02161         SFBool                  f_isActive;
02162         SFBool                  f_isNetworkReader;
02163         SFBool                  f_isNetworkWriter;
02164         SFBool                  f_isRtpHeaderHeard;
02165         SFBool                  f_isStandAlone;
02166         SFTime                  f_timestamp;
02167         //SFVec3f                       f_bboxCenter; -- X3DBoundedObject
02168         //SFVec3f                       f_bboxSize; -- X3DBoundedObject
02169 };
02170 
02171 
02172 /*
02173  * Script
02174  */
02175 class X3DScriptNode : public X3DChildNode, public X3DUrlObject
02176 {
02177         //SFNode                        f_metadata; -- X3DNode
02178 };
02179 
02180 class Script : public X3DScriptNode
02181 {
02182 public:
02183         //SFNode                        f_metadata; -- X3DNode
02184         MFString                f_url;
02185         SFBool                  f_directOutput;
02186         SFBool                  f_mustEvaluate;
02187         X3DField                f_fieldName;    // can be really any type, represents public variables
02188 };
02189 
02190 
02191 /*
02192  * Event Utility
02193  */
02194 // TODO: should this be derived from X3DInterpolatorNode?!
02195 class X3DSequencerNode : public X3DChildNode
02196 {
02197 public:
02198         SFBool                  f_next;
02199         SFBool                  f_previous;
02200         SFFloat                 f_set_fraction;
02201         MFFloat                 f_key;
02202         //MF<type>     [in,out] keyValue; -- abstract field
02203         //SFNode                        f_metadata; -- X3DNode
02204         //[S|M]F<type> [out]    value_changed; -- abstract field
02205 };
02206 
02207 class X3DTriggerNode : public X3DChildNode
02208 {
02209 public:
02210         //SFNode                        f_metadata; -- X3DNode
02211 };
02212 
02213 class BooleanFilter : public X3DChildNode
02214 {
02215 public:
02216         SFBool                  f_set_boolean;
02217         //SFNode                        f_metadata; -- X3DNode
02218         SFBool                  f_inputFalse;
02219         SFBool                  f_inputNegate;
02220         SFBool                  f_inputTrue;
02221 };
02222 
02223 class BooleanSequencer : public X3DSequencerNode
02224 {
02225 public:
02226         //SFBool                        f_next; -- X3DSequencerNode
02227         //SFBool                        f_previous; -- X3DSequencerNode
02228         //SFFloat                       f_set_fraction; -- X3DSequencerNode
02229         //MFFloat                       f_key; -- X3DSequencerNode
02230         MFBool                  f_keyValue;
02231         //SFNode                        f_metadata; -- X3DNode
02232         SFBool                  f_value_changed;
02233 };
02234 
02235 class BooleanToggle : public X3DChildNode
02236 {
02237 public:
02238         SFBool                  f_set_boolean;
02239         //SFNode                        f_metadata; -- X3DNode
02240         SFBool                  f_toggle;
02241 };
02242 
02243 class BooleanTrigger : public X3DTriggerNode
02244 {
02245 public:
02246         SFTime                  f_set_triggerTime;
02247         //SFNode                        f_metadata; -- X3DNode
02248         SFBool                  f_triggerTrue;
02249 };
02250 
02251 class IntegerSequencer : public X3DSequencerNode
02252 {
02253 public:
02254         //SFBool                        f_next; -- X3DSequencerNode
02255         //SFBool                        f_previous; -- X3DSequencerNode
02256         //SFFloat                       f_set_fraction; -- X3DSequencerNode
02257         //MFFloat                       f_key; -- X3DSequencerNode
02258         MFInt32                 f_keyValue;
02259         //SFNode                        f_metadata; -- X3DNode
02260         SFInt32                 f_value_changed;
02261 };
02262 
02263 class IntegerTrigger : public X3DTriggerNode
02264 {
02265 public:
02266         SFBool                  f_set_boolean;
02267         SFInt32                 f_integerKey;
02268         //SFNode                        f_metadata; -- X3DNode
02269         SFInt32                 f_triggerValue;
02270 };
02271 
02272 class TimeTrigger : public X3DTriggerNode
02273 {
02274 public:
02275         SFBool                  f_set_boolean;
02276         //SFNode                        f_metadata; -- X3DNode
02277         SFTime                  f_triggerTime;
02278 };
02279 
02280 
02281 }

Generated on Mon Nov 28 17:04:06 2005 for libx3d by  doxygen 1.4.5

00021 * $Id: tree_8h-source.html,v 1.3 2005/11/29 05:51:17 alexis Exp $