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
00587
00588
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
00634
00635
00636
00637
00638
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
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
00696 }
00697
sound_fields;
00698
00703 typedef struct text_fields_
00704 {
00705 node*
fontStyle;
00706
00707
00708
00709
00710
00711 }
00712
text_fields;
00713
00714
#endif

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