X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=types.h;h=0d7110ec7993b557ded132674eb64a0b9ebb38b3;hp=197eb03f12ae0f8658a2c9a628bb9a3a2aef578c;hb=d5002dd2de78f7f736f7dbc95014c40501c06191;hpb=ae7da963e8c91eb4463b8c9f60d0b82c4a2155ce diff --git a/types.h b/types.h index 197eb03..0d7110e 100644 --- a/types.h +++ b/types.h @@ -34,19 +34,20 @@ typedef struct { GLubyte *rgbData; // Array of bytes with the colour data for the texture } texture; - -typedef GLfloat vector[3]; // Vector datatyle - typedef struct { - GLfloat parameter; // Transform amount - vector* vect; // Transform vector + GLfloat x, y, z; // Amount of rotation on axis } transform; +typedef struct { + int id; + GLfloat scale; +} texturedat; + typedef struct { int mesh; // Mesh index number - int texture; // Texture index number - float x,y,z; // Scene position - vector* scale; // Scale vector + texturedat texture; // Texture index number + GLfloat x,y,z; // Scene position + GLfloat scale[3]; // Scale vector transform rotation; // Rotation transformation } SceneObject; @@ -75,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