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

Vertex.h

Go to the documentation of this file.
00001 #ifndef VERTEX_H
00002 #define VERTEX_H
00003 
00004 #include "include/IvVector3.h"
00005 
00006 namespace model {
00022         class Vertex {
00023 
00024         private:
00025                 IvVector3* m_vCoordinates; 
00026                 IvVector3* m_vNormal; //<! A vector holding the normal for the vertex
00027                 int m_index; //<! The index this vertex has in the model
00028 
00029         public:
00035                 Vertex() {};
00036 
00037                 Vertex(IvVector3* vCoordinates);
00038 
00039                 Vertex(float fX, float fY, float fZ);
00040 
00046                 ~Vertex() {};
00047 
00048                 Vertex(const Vertex& other);
00049 
00050                 Vertex& operator=(const Vertex& other);
00051 
00052                 IvVector3* getCoordinates();
00053                 void setCoordinates(IvVector3* vCoordinates);
00054                 void setCoordinates(float fX, float fY, float fZ);
00055                 void updateCoordinates(float fX, float fY, float fZ);
00056 
00057                 IvVector3* getNormal();
00058                 void setNormal(IvVector3* vNormal);
00059                 void setNormal(float fX, float fY, float fZ);
00060 
00061                 void setIndex(int index);
00062                 int getIndex();
00063 
00064                 void translate(IvVector3* vTargetPos);
00065                 void rotate(float fAngleX, float fAngleY, float fAngleZ);
00066 
00067                 // comparison
00068                 bool operator==( const Vertex& other ) const;
00069                 bool operator!=( const Vertex& other ) const;
00070         };
00071 
00077 }
00078 
00079 #endif //VERTEX_H

Generated on Tue Apr 17 09:39:12 2007 for PCG Library by  doxygen 1.3.9.1