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

MESH_SFFace.h

Go to the documentation of this file.
00001 
00002 //                            MESH_SFFace.h                                   //
00004 
00005 #ifndef TEMPLATEFACE_H
00006 #define TEMPLATEFACE_H
00007 
00008 #include "MESH_SceneGraphTypes.h"
00009 
00010 #include <vector>
00011 #include <iostream>
00012 
00013 namespace X3DTK {
00014 namespace MESH {
00015 
00016 template<class EData, class FData, class VData> class SFEdge;
00017 
00019 
00020 template<class FData, class VData, class EData>
00021 class SFFace
00022 {
00023   template<class A, class B, class C, class D> friend class Mesh;
00024 public:
00026   inline unsigned int getIndex() const;
00028   inline const MFEdge<EData, FData, VData> &getEdges() const;
00030   inline FData &data();
00032   inline const FData &data() const;
00034   template<class F, bool optional>  
00035   F &getData();
00036   
00037 private:
00038   const unsigned int _index;
00039   MFEdge<EData, FData, VData> _edges;
00040   FData _data;
00041   
00043   SFFace(unsigned int i);
00045   ~SFFace();
00046   
00048   void addEdge(SFEdge<EData, FData, VData> *edge);
00049 };
00050 
00051 }
00052 }
00053 
00054 #include "MESH_SFFace.inl"
00055 
00056 #endif

Generated on Mon Jan 19 10:32:05 2004 for X3DToolKit by doxygen1.2.18