|
||||
tree.hGo 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 1.4.5 |
||||
00021 * $Id: tree_8h-source.html,v 1.3 2005/11/29 05:51:17 alexis Exp $ |