(no commit message)
[atyndall/cits2231.git] / types.h
diff --git a/types.h b/types.h
index 573418d..0d7110e 100644 (file)
--- a/types.h
+++ b/types.h
@@ -35,9 +35,20 @@ typedef struct {
 } texture;
 
 typedef struct {
-    // You'll need to add scale, rotation, material, mesh number, etc.,
-    // to this structure
-    float x,y,z;
+    GLfloat x, y, z;    // Amount of rotation on axis
+} transform;
+
+typedef struct {
+    int id;
+    GLfloat scale;
+} texturedat;
+
+typedef struct {
+    int mesh;           // Mesh index number
+    texturedat texture; // Texture index number
+    GLfloat x,y,z;      // Scene position
+    GLfloat scale[3];   // Scale vector
+    transform rotation; // Rotation transformation
 } SceneObject;
 
 // Menu enum
@@ -65,5 +76,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