Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

vrmltypes.h

Go to the documentation of this file.
00001 00030 #ifndef VRMLTYPES_H 00031 #define VRMLTYPES_H 1 00033 #include <stdbool.h> 00034 00035 00040 typedef enum 00041 { Body, ShapeGeometry, ShapeAppearance, Anchor, Appearance, 00042 MaterialHeader, TextureHeader, TextureTransformHeader, AudioClip, Background, 00043 Billboard, Box, Collision, Color, Empty, 00044 ColorInterpolator, Cone, Coordinate, CoordinateInterpolator, Cylinder, 00045 CylinderSensor, DirectionalLight, ElevationGrid, Extrusion, Fog, 00046 FontStyle, Children, Group, ImageTexture, IndexedFaceSet, 00047 IndexedLineSet, Inline, InlineUrl, LOD, Material, MovieTexture, 00048 NavigationInfo,AvatarNav, Normal, NormalInterpolator, OrientationInterpolator, 00049 PixelTexture, PlaneSensor, PointLight, PointSet, PositionInterpolator, 00050 ProximitySensor, ScalarInterpolator, Script, Shape, Sound, 00051 SoundSource, Sphere, SphereSensor, SpotLight, Switch, 00052 Text, TextStyle, TextureCoordinate, TextureTransform, TimeSensor, 00053 TouchSensor, Transform, Viewpoint, VisibilitySensor, WorldInfo, 00054 Coordinate_Get, Color_Fetch, Normal_Fetch 00055 } node_type; 00056 00057 00063 typedef struct node_ 00064 { 00065 node_type type; 00066 void* parent; 00067 void* next; 00068 void* child; 00069 void* fields; 00070 char* id; 00071 } 00072 node; 00073 00074 00079 typedef struct sfcolor_ 00080 { 00081 float r; 00082 float g; 00083 float b; 00084 } 00085 sfcolor; 00086 00092 typedef struct mfcolor_ 00093 { 00094 int size; 00095 int top; 00096 sfcolor* values; 00097 } 00098 mfcolor; 00099 00100 00105 typedef struct sfvec3f_ 00106 { 00107 float x; 00108 float y; 00109 float z; 00110 } 00111 sfvec3f; 00112 00113 00118 typedef struct sfrotation_ 00119 { 00120 float x; 00121 float y; 00122 float z; 00123 float a; 00124 } 00125 sfrotation; 00126 00131 typedef struct mffloat_ 00132 { 00133 int size; 00134 float* values; 00135 } 00136 mffloat; 00137 00143 typedef struct mfvec3f_ 00144 { 00145 int size; 00146 int top; 00147 sfvec3f* values; 00148 } 00149 mfvec3f; 00150 00155 typedef struct mfstring_ 00156 { 00157 int size; 00158 char** values; 00159 }mfstring; 00160 00161 00162 00180 typedef struct group_fields_ 00181 { 00182 sfvec3f bboxCenter; 00183 sfvec3f bboxSize; 00184 } 00185 group_fields; 00186 00187 00206 typedef struct billboard_fields_ 00207 { 00208 sfvec3f bboxCenter; 00209 sfvec3f bboxSize; 00210 sfvec3f axisOfRotation; 00211 } 00212 billboard_fields; 00213 00227 typedef struct inline_fields_ 00228 { 00229 sfvec3f bboxCenter; 00230 sfvec3f bboxSize; 00231 mfstring url; 00234 bool fetched; 00235 }inline_fields; 00236 00289 typedef struct transform_fields_ 00290 { 00291 sfvec3f bboxCenter; 00292 sfvec3f bboxSize; 00293 sfvec3f center; 00295 sfrotation rotation; 00296 sfvec3f scale; 00298 sfrotation scaleOrientation; 00301 sfvec3f translation; 00302 } 00303 transform_fields; 00304 00305 00321 typedef struct material_fields_ 00322 { 00323 float ambientIntensity; 00324 sfcolor diffuseColor; 00325 sfcolor emissiveColor; 00326 float shininess ; 00327 sfcolor specularColor; 00328 float transparency; 00329 } material_fields; 00330 00348 typedef struct anchor_fields_ 00349 { 00350 sfvec3f bboxCenter; 00351 sfvec3f bboxSize; 00352 char* description; 00353 char** parameter; 00354 char** url; 00355 int url_length; 00356 } 00357 anchor_fields; 00358 00359 00373 typedef struct appearance_fields_ 00374 { 00375 node* material; 00376 node* texture; 00377 node* textureTransform; 00378 } 00379 appearance_fields; 00380 00391 typedef struct sphere_fields_ 00392 { 00393 float radius; 00394 } 00395 sphere_fields; 00396 00407 typedef struct box_fields_ 00408 { 00409 sfvec3f size; 00410 } 00411 box_fields; 00412 00426 typedef struct cone_fields_ 00427 { 00428 float bottomRadius; 00429 float height; 00430 bool side; 00431 bool bottom; 00432 } 00433 cone_fields; 00434 00435 00450 typedef struct cylinder_fields_ 00451 { 00452 float radius; 00453 float height; 00454 bool side; 00455 bool bottom; 00456 bool top; 00457 } 00458 cylinder_fields; 00459 00471 typedef struct shape_fields_ 00472 { 00473 node* geometry; 00474 node* appearance; 00475 } 00476 shape_fields; 00477 00478 00489 typedef struct coord_fields_ 00490 { 00491 mfvec3f* point; 00492 } 00493 coord_fields; 00494 00495 00512 typedef struct navigation_fields_ 00513 { 00514 mffloat avatarSize; 00515 bool headlight; 00516 float speed; 00517 char** type; 00518 float visibilityLimit; 00519 } 00520 navigation_fields; 00521 00522 00546 typedef struct elevation_fields_ 00547 { 00548 node* color; 00549 node* normal; 00550 node* texCoord; 00551 bool colorPerVertex; 00552 mffloat height; 00553 bool ccw; 00554 float creaseAngle; 00555 bool normalPerVertex; 00556 bool solid; 00557 int xDimension; 00558 float xSpacing; 00559 int zDimension; 00560 float zSpacing; 00561 } 00562 elevation_fields; 00563 00580 typedef struct line_fields_ 00581 { 00582 node* color; 00583 node* coord; 00584 bool colorPerVertex; 00586 /* These are unused: 00587 MFInt32 colorIndex 00588 MFInt32 coordIndex 00589 */ 00590 } 00591 line_fields; 00592 00620 typedef struct faceset_fields_ 00621 { 00622 node* color; 00623 node* coord; 00624 node* normal; 00625 node* texCoord; 00626 bool ccw; 00627 bool colorPerVertex; 00628 bool convex; 00629 bool solid; 00630 int* coordIndex; 00631 int coordIndexSize; 00633 /* These are unused: 00634 MFInt32 colorIndex 00635 float creaseAngle 00636 MFInt32 normalIndex 00637 bool normalPerVertex 00638 MFInt32 texCoordIndex 00639 */ 00640 } 00641 faceset_fields; 00642 00654 typedef struct pontset_fields_ 00655 { 00656 node* color; 00657 node* coord; 00658 } 00659 pointset_fields; 00660 00661 00681 typedef struct sound_fields_ 00682 { 00683 node* source; 00685 /* These are unused: 00686 sfvec3f direction; 00687 float intensity; 00688 sfvec3f location; 00689 float maxBack; 00690 float maxFront; 00691 float minBack; 00692 float minFront; 00693 float priority; 00694 bool spatialize; 00695 */ 00696 } 00697 sound_fields; 00698 00703 typedef struct text_fields_ 00704 { 00705 node* fontStyle; 00706 /* These are unused: 00707 MFString string 00708 mffloat length; 00709 float maxExtent; 00710 */ 00711 } 00712 text_fields; 00713 00714 #endif

SourceForge.net Logo

Generated on Mon Jun 14 17:25:56 2004 for D.R.I.V.E. by doxygen 1.3.7