(no commit message)
[atyndall/cits2231.git] / types.h
diff --git a/types.h b/types.h
index 573418d..91813ee 100644 (file)
--- 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

UCC git Repository :: git.ucc.asn.au