X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=types.h;h=91813eedfc1a061a27607f34a35a2f5d319fc07b;hp=573418d241b3f2d55e45a9f479580adb84334820;hb=09c3124c81ac8607bcb0cdc8dcce79f08f8a1736;hpb=d3465c5cd0e6e9b414e669e8c8aa464b03f2fd24 diff --git a/types.h b/types.h index 573418d..91813ee 100644 --- a/types.h +++ b/types.h @@ -34,10 +34,20 @@ typedef struct { GLubyte *rgbData; // Array of bytes with the colour data for the texture } texture; + +typedef GLfloat vector[3]; // Vector datatype + typedef struct { - // You'll need to add scale, rotation, material, mesh number, etc., - // to this structure - float x,y,z; + GLfloat parameter; // Transform amount + vector* vect; // Transform vector +} transform; + +typedef struct { + int mesh; // Mesh index number + int texture; // Texture index number + float x,y,z; // Scene position + vector* scale; // Scale vector + transform rotation; // Rotation transformation } SceneObject; // Menu enum @@ -65,5 +75,11 @@ enum menu { M_LIGHT_RGBALL_LIGHT_2 }; -#endif /* TYPES_H */ +// Manipulation states +enum manipulateStates { + STATE_CAMERA_ROTATE_MOVE, + STATE_OBJECT_POSITION_SCALE, + STATE_OBJECT_ROTATION_TEXTURE_SCALE +}; +#endif /* TYPES_H */ \ No newline at end of file