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 //                            GLTriangleFanSet.h                              //
00004 
00005 #ifndef GLTRIANGLEFANSET_H
00006 #define GLTRIANGLEFANSET_H
00007 
00008 #include "X3DGLComposedGeometryNode.h"
00009 
00010 #include <vector>
00011 
00012 namespace X3DTK {
00013 namespace GL {
00014 
00017 
00018 class TriangleFanSet : public X3DComposedGeometryNode
00019 {
00020 public:
00022   TriangleFanSet();
00024   virtual SFNode clone() const;
00026   virtual ~TriangleFanSet();
00027   
00029   void setN3F_V3F_vertexArrayArray(const std::vector<std::vector<N3F_V3F> > &N3F_V3F_vertexArrayArray);  
00031   void setC4F_N3F_V3F_vertexArrayArray(const std::vector<std::vector<C4F_N3F_V3F> > &C4F_N3F_V3F_vertexArrayArray);  
00033   void setT2F_N3F_V3F_vertexArrayArray(const std::vector<std::vector<T2F_N3F_V3F> > &T2F_N3F_V3F_vertexArrayArray);  
00035   void setT2F_C4F_N3F_V3F_vertexArrayArray(const std::vector<std::vector<T2F_C4F_N3F_V3F> > &T2F_C4F_N3F_V3F_vertexArrayArray);  
00036 
00038   inline std::vector<std::vector<N3F_V3F> > &N3F_V3F_vertexArrayArray() {return _N3F_V3F_vertexArrayArray;};  
00040   inline std::vector<std::vector<C4F_N3F_V3F> > &C4F_N3F_V3F_vertexArrayArray() {return _C4F_N3F_V3F_vertexArrayArray;};  
00042   inline std::vector<std::vector<T2F_N3F_V3F> > &T2F_N3F_V3F_vertexArrayArray() {return _T2F_N3F_V3F_vertexArrayArray;};  
00044   inline std::vector<std::vector<T2F_C4F_N3F_V3F> > &T2F_C4F_N3F_V3F_vertexArrayArray() {return _T2F_C4F_N3F_V3F_vertexArrayArray;};  
00045   
00047   virtual void update();
00049   virtual void render() const;  
00050 
00051 protected:
00053   TriangleFanSet(const TriangleFanSet &T);
00054 
00055 private:  
00057   std::vector<std::vector<N3F_V3F> > _N3F_V3F_vertexArrayArray;
00059   std::vector<std::vector<C4F_N3F_V3F> > _C4F_N3F_V3F_vertexArrayArray;  
00061   std::vector<std::vector<T2F_N3F_V3F> > _T2F_N3F_V3F_vertexArrayArray;
00063   std::vector<std::vector<T2F_C4F_N3F_V3F> > _T2F_C4F_N3F_V3F_vertexArrayArray;
00064 
00066   void computeNoColorNoTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00068   void computeColorNoTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00070   void computeNoColorTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00072   void computeColorTexCoord(const MFVec3f &vertexArray, const MFVec3f &normalArray);
00074   void computeArrays(const MFVec3f &vertexArray, MFVec3f &normalArray); 
00075 };
00076 
00077 }
00078 }
00079 
00080 #endif

Generated on Thu Sep 18 15:08:46 2003 for X3DToolKit by doxygen1.3