basic/geometry/IGS/IGS_MeshTri.h

Go to the documentation of this file.
00001 #ifndef _MESHTRI_H_
00002 #define _MESHTRI_H_
00003 
00004 #include "IGS_MeshBase.h"
00005 
00006 class IGS_Mesh;
00007 
00008 class IGS_MeshTri
00009 :
00010         public IGS_MeshBase
00011 {
00012 public:
00013         class Triangle
00014         {
00015         public:
00016                 int v0;                 //IAN IMPROVE: do these need to be ints?
00017                 int v1;
00018                 int v2;
00019                 int n;                  //the normal pointer for the entire triangle
00020         };
00021 
00022         IGS_MeshTri();
00023         IGS_MeshTri( const IGS_MeshTri& right );
00024         IGS_MeshTri( const IGS_Mesh& right );
00025 
00026         void AddFacet( const MeshFacet& f );
00027         void AddTriangle( const int v0, const int v1, const int v2 );
00028         Vector4 ComputeNormalForTriangle( const int triangleNumber );
00029         int GetNumTriangles() const;
00030         const Triangle& GetTriangle( const int i ) const;
00031         virtual void Prepare( const IGS_Controller& controller );
00032         virtual void Render( const IGS_Controller& controller ) const;
00033 
00034 protected:
00035         
00036         std::vector< Triangle > m_Triangles;
00037 };
00038 
00039 //=============================================================================
00040 #endif

Generated on Sat Apr 1 21:30:32 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO