home *** CD-ROM | disk | FTP | other *** search
- /*
- name: typedef.h
-
- Type-defenitions
- ----------------
-
- These defenitions are convenient for handling rays, objects etc.
-
- */
-
- typedef struct Point_Struct POINT;
- typedef struct Vector_Struct VECTOR;
- typedef struct TransformEntry_Struct TRANSFENTRY;
- typedef struct Transform_Struct TRANSFORM;
- typedef struct Texture_Struct TEXTURE;
- typedef struct Color_Struct COLOR;
- typedef struct ColorMap_Struct COLORMAP;
- typedef struct Line_Struct LINE;
- typedef struct Plane_Struct PLANE;
- typedef struct Sphere_Struct SPHERE;
- typedef struct Ellipsoid_Struct ELLIPSOID;
- typedef struct Triangle_Struct TRIANGLE;
- typedef struct Box_Struct BOX;
- typedef struct Disc_Struct DISC;
- typedef struct Cylinder_Struct CYLINDER;
- typedef struct Light_Struct LIGHT;
- typedef struct Camera_Struct CAMERA;
- typedef struct Object_Struct OBJECT;
-
-
- struct Point_Struct
- {
- double x, y, z;
- };
-
- struct Vector_Struct
- {
- double x, y, z;
- };
-
- struct TransformEntry_Struct
- {
- long Type;
- VECTOR Values;
- };
-
- struct Transform_Struct
- {
- long NumTransforms;
- TRANSFENTRY Entry[10];
- };
-
- struct Color_Struct
- {
- double r, g, b;
- };
-
- struct ColorMap_Struct
- {
- long LastBound;
- double Bounds[10]; /* Note: MUST BE SORTED IN ASCENDING ORDER! */
- COLOR Colors[10];
- };
-
- struct Texture_Struct
- {
- COLORMAP CMap;
- long Pattern;
- COLOR Reflect;
- COLOR Filter;
- double Ior;
- double Ambient;
- double Diffuse;
- double Phong;
- double PhongSize;
- TRANSFORM Transform;
- };
-
-
- struct Line_Struct
- {
- POINT Origin;
- VECTOR Direction;
- };
-
- struct Plane_Struct
- {
- VECTOR Normal;
- double a;
- };
-
- struct Sphere_Struct
- {
- POINT Centre;
- double r;
- };
-
- struct Ellipsoid_Struct
- {
- POINT Centre;
- VECTOR Radius;
- };
-
- struct Triangle_Struct
- {
- POINT Corners[3];
- POINT Min;
- POINT Max;
- PLANE Plane;
- };
-
- struct Box_Struct
- {
- POINT Corners[2];
- PLANE Planes[6];
- };
-
- struct Disc_Struct
- {
- POINT Centre;
- double r;
- PLANE Plane;
- };
-
- struct Cylinder_Struct
- {
- POINT Ends[2];
- double r;
- DISC Discs[2];
- };
-
- struct Light_Struct
- {
- POINT Location;
- COLOR Color;
- };
-
- struct Camera_Struct
- {
- POINT Location;
- POINT ViewPoint;
- VECTOR Direction;
- VECTOR Up;
- VECTOR Right;
- VECTOR Aspect;
- };
-
- struct Object_Struct
- {
- long ShapeType;
- void *Shape;
- TEXTURE Texture;
- TRANSFORM Transform;
- };
-