GL_TriangleSet.h

Go to the documentation of this file.
00001 #ifndef X3DTK_GL_TRIANGLESET_H
00002 #define X3DTK_GL_TRIANGLESET_H
00003 
00004 #include "GL_X3DComposedGeometryNode.h"
00005 
00006 #include <vector>
00007 
00008 namespace X3DTK {
00009 namespace GL {
00010 
00017 class TriangleSet : public X3DComposedGeometryNode
00018 {
00019 public:
00021   TriangleSet();
00023   virtual ~TriangleSet();
00024  
00026   void setN3F_V3F_vertexArray(const std::vector<N3F_V3F> &N3F_V3FvertexArray);
00028   void setC4F_N3F_V3F_vertexArray(const std::vector<C4F_N3F_V3F> &C4F_N3F_V3FvertexArray);
00030   void setT2F_N3F_V3F_vertexArray(const std::vector<T2F_N3F_V3F> &T2F_N3F_V3F_vertexArray);
00032   void setT2F_C4F_N3F_V3F_vertexArray(const std::vector<T2F_C4F_N3F_V3F> &T2F_C4F_N3F_V3F_vertexArray);
00033   
00035   inline std::vector<N3F_V3F> &N3F_V3F_vertexArray() {return _N3F_V3F_vertexArray;};
00037   inline std::vector<C4F_N3F_V3F> &C4F_N3F_V3F_vertexArray() {return _C4F_N3F_V3F_vertexArray;};
00039   inline std::vector<T2F_N3F_V3F> &T2F_N3F_V3F_vertexArray() {return _T2F_N3F_V3F_vertexArray;};
00041   inline std::vector<T2F_C4F_N3F_V3F> &T2F_C4F_N3F_V3F_vertexArray() {return _T2F_C4F_N3F_V3F_vertexArray;};
00042 
00044   virtual void update();
00046   virtual void draw() const; 
00047 
00048 private:  
00050   std::vector<N3F_V3F> _N3F_V3F_vertexArray;
00052   std::vector<C4F_N3F_V3F> _C4F_N3F_V3F_vertexArray;
00054   std::vector<T2F_N3F_V3F> _T2F_N3F_V3F_vertexArray;
00056   std::vector<T2F_C4F_N3F_V3F> _T2F_C4F_N3F_V3F_vertexArray;
00057   
00059   void computeNoColorNoTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00061   void computeColorNoTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00063   void computeNoColorTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00065   void computeColorTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00067   void computeArrays(const MFVec3f &vertexArray, MFVec3f &normalArray);
00068 };
00069 
00070 }
00071 }
00072 
00073 #endif

Generated on Fri Jul 30 12:02:28 2004 for X3DToolKit by doxygen 1.3.6