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

ConeDrawArray.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            ConeDrawArray.h                                 //
00023 
00024 #ifndef CONEARRAY_H
00025 #define CONEARRAY_H
00026 
00027 #include "X3DTypes.h"
00028 #include "X3DGLTypes.h"
00029 
00030 #include <vector>
00031 #include <utility>
00032 
00033 namespace X3DTK {
00034 namespace GL {
00035 
00038 
00039 class ConeDrawArray
00040 {
00041 public:
00043   static ConeDrawArray *getInstanceOfSection(unsigned int section);
00045   void removeInstance();
00046   
00048   unsigned int getConeSideSize() const;
00050   unsigned int getConeBottomSize() const;
00051 
00053   const void *getConeSideVertexArrayAddress() const;
00055   const void *getConeBottomVertexArrayAddress() const;
00056   
00058   const unsigned int *getConeSideIndexArrayAddress() const;
00060   const unsigned int *getConeBottomIndexArrayAddress() const;
00061  
00062 private:
00063   unsigned int _section;
00064   
00066   ConeDrawArray(unsigned int section);
00067   
00068   typedef struct 
00069   {
00070     unsigned int count;
00071     ConeDrawArray *ref;
00072   } data;
00073   
00074   typedef std::list<std::pair<unsigned int, data> > refList;
00075 
00076   static refList _refList;
00077 
00078   std::vector<N3F_V3F> _coneSideVertexArray;
00079   std::vector<N3F_V3F> _coneBottomVertexArray;
00080   std::vector<unsigned int> _coneSideIndexArray;
00081   std::vector<unsigned int> _coneBottomIndexArray;
00082 };
00083 
00084 }
00085 }
00086 
00087 #endif

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