Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

GLTriangleFanSet.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            GLTriangleFanSet.h                              //
00023 
00024 #ifndef GLTRIANGLEFANSET_H
00025 #define GLTRIANGLEFANSET_H
00026 
00027 #include "X3DGLComposedGeometryNode.h"
00028 
00029 #include <vector>
00030 
00031 namespace X3DTK {
00032 namespace GL {
00033 
00036 
00037 class TriangleFanSet : public X3DComposedGeometryNode
00038 {
00039 public:
00041   TriangleFanSet();
00043   virtual SFNode clone() const;
00045   virtual ~TriangleFanSet();
00046   
00048   void setN3F_V3F_vertexArrayArray(const std::vector<std::vector<N3F_V3F> > &N3F_V3F_vertexArrayArray);  
00050   void setC4F_N3F_V3F_vertexArrayArray(const std::vector<std::vector<C4F_N3F_V3F> > &C4F_N3F_V3F_vertexArrayArray);  
00052   void setT2F_N3F_V3F_vertexArrayArray(const std::vector<std::vector<T2F_N3F_V3F> > &T2F_N3F_V3F_vertexArrayArray);  
00054   void setT2F_C4F_N3F_V3F_vertexArrayArray(const std::vector<std::vector<T2F_C4F_N3F_V3F> > &T2F_C4F_N3F_V3F_vertexArrayArray);  
00055 
00057   inline std::vector<std::vector<N3F_V3F> > &N3F_V3F_vertexArrayArray() {return _N3F_V3F_vertexArrayArray;};  
00059   inline std::vector<std::vector<C4F_N3F_V3F> > &C4F_N3F_V3F_vertexArrayArray() {return _C4F_N3F_V3F_vertexArrayArray;};  
00061   inline std::vector<std::vector<T2F_N3F_V3F> > &T2F_N3F_V3F_vertexArrayArray() {return _T2F_N3F_V3F_vertexArrayArray;};  
00063   inline std::vector<std::vector<T2F_C4F_N3F_V3F> > &T2F_C4F_N3F_V3F_vertexArrayArray() {return _T2F_C4F_N3F_V3F_vertexArrayArray;};  
00064   
00066   virtual void update();
00068   virtual void render() const;  
00069 
00070 protected:
00072   TriangleFanSet(const TriangleFanSet &T);
00073 
00074 private:  
00076   std::vector<std::vector<N3F_V3F> > _N3F_V3F_vertexArrayArray;
00078   std::vector<std::vector<C4F_N3F_V3F> > _C4F_N3F_V3F_vertexArrayArray;  
00080   std::vector<std::vector<T2F_N3F_V3F> > _T2F_N3F_V3F_vertexArrayArray;
00082   std::vector<std::vector<T2F_C4F_N3F_V3F> > _T2F_C4F_N3F_V3F_vertexArrayArray;
00083 
00085   void computeNoColorNoTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00087   void computeColorNoTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00089   void computeNoColorTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00091   void computeColorTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00093   void computeArrays(const MFVec3f &vertexArray, MFVec3f &normalArray); 
00094 };
00095 
00096 }
00097 }
00098 
00099 #endif

Generated on Wed Sep 10 11:25:13 2003 for X3DToolKit by doxygen1.3