Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

position.h

Go to the documentation of this file.
00001 #ifndef __POSITION_H
00002 #define __POSITION_H
00003 
00004 #include <GL/gl.h>
00005 
00007 
00014 class Position
00015 {
00016 public:
00018 
00021         Position();
00023 
00026         virtual ~Position();
00028 
00033         virtual void calculatePosition() = 0;
00035 
00040         virtual void updateRelations() = 0;
00042 
00047         int getX();
00049 
00054         int getY();
00056 
00061         int getZ();
00063 
00068         virtual GLfloat getTrueX() = 0;
00070 
00075         virtual GLfloat getTrueY() = 0;
00077 
00082         virtual GLfloat getTrueZ() = 0;
00084 
00088         int getSizeX();
00090 
00094         int getSizeY();
00096 
00100         int getSizeZ();
00101         virtual int getTrueSizeX() = 0;
00102         virtual int getTrueSizeY() = 0;
00103         virtual int getTrueSizeZ() = 0;
00104         int getMinSizeX();
00105         int getMinSizeY();
00106         int getMinSizeZ();
00107         virtual int getMinTrueSizeX() = 0;
00108         virtual int getMinTrueSizeY() = 0;
00109         virtual int getMinTrueSizeZ() = 0;
00110         int getMaxSizeX();
00111         int getMaxSizeY();
00112         int getMaxSizeZ();
00113         virtual int getMaxTrueSizeX() = 0;
00114         virtual int getMaxTrueSizeY() = 0;
00115         virtual int getMaxTrueSizeZ() = 0;
00116 
00117 protected:
00118         GLfloat location[3];    
00119         Position *parentLoc;    
00120         Position ***relatives;  
00121         int *numRelatives;      
00122         int size[3][3];         
00123 };
00124 
00125 enum
00126 {
00127         Xcoord = 0,
00128         Ycoord = 1,
00129         Zcoord = 2
00130 };
00131 
00132 enum
00133 {
00134         Up = 1,
00135         Right = 2,
00136         Down = 3,
00137         Left = 4
00138 };
00139 
00140 #endif

Generated on Sat Aug 28 10:33:23 2004 by doxygen 1.3.6