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 //                            TemplateFace.h                                   //
00004 
00005 #ifndef TEMPLATEFACE_H
00006 #define TEMPLATEFACE_H
00007 
00008 #include "MeshTypes.h"
00009 
00010 #include <vector>
00011 #include <iostream>
00012 
00013 namespace X3DTK {
00014 namespace Mesh {
00015 
00016 template<class A, class B, class C> class TemplateEdge;
00017 
00019 
00020 template<class FData, class VData, class EData>
00021 class TemplateFace
00022 {
00023   template<class A, class B, class C, class D> friend class TemplateMesh;
00024 public:
00026   inline unsigned int getIndex() const {return _index;};
00028   inline const MTemplateEdge<EData, FData, VData> &getEdges() const {return _edges;};
00030   inline FData &data() {return _data;};
00032   inline const FData &data() const {return _data;};
00033 
00034 private:
00035   const unsigned int _index;
00036   MTemplateEdge<EData, FData, VData> _edges;
00037   FData _data;
00038   
00040   TemplateFace(unsigned int i, const MTemplateEdge<EData, FData, VData> &edges)
00041   : _index(i), _edges(edges)
00042   {
00043     if (edges.size() == 0)
00044       std::cerr << "Mesh::TemplateFace : cannot create a face of 0 edge!" << std::endl;
00045   };
00046 };
00047 
00048 }
00049 }
00050 
00051 #endif

Generated on Tue Jul 15 16:46:52 2003 for X3DToolKit by doxygen1.3