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

TemplateFace.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            TemplateFace.h                                   //
00023 
00024 #ifndef TEMPLATEFACE_H
00025 #define TEMPLATEFACE_H
00026 
00027 #include "MeshTypes.h"
00028 
00029 #include <vector>
00030 #include <iostream>
00031 
00032 namespace X3DTK {
00033 namespace Mesh {
00034 
00035 template<class A, class B, class C> class TemplateEdge;
00036 
00038 
00039 template<class FData, class VData, class EData>
00040 class TemplateFace
00041 {
00042   template<class A, class B, class C, class D> friend class TemplateMesh;
00043 public:
00045   inline unsigned int getIndex() const {return _index;};
00047   inline const MTemplateEdge<EData, FData, VData> &getEdges() const {return _edges;};
00049   inline FData &data() {return _data;};
00051   inline const FData &data() const {return _data;};
00052 
00053 private:
00054   const unsigned int _index;
00055   MTemplateEdge<EData, FData, VData> _edges;
00056   FData _data;
00057   
00059   TemplateFace(unsigned int i, const MTemplateEdge<EData, FData, VData> &edges)
00060   : _index(i), _edges(edges)
00061   {
00062     if (edges.size() == 0)
00063       std::cerr << "Mesh::TemplateFace : cannot create a face of 0 edge!" << std::endl;
00064   };
00065 };
00066 
00067 }
00068 }
00069 
00070 #endif

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