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

MESH_SFEdgeContent.h

Go to the documentation of this file.
00001 
00002 //                            MESH_SFEdgeContent.h                            //
00004 
00005 #ifndef TEMPLATEEDGECONTENT_H
00006 #define TEMPLATEEDGECONTENT_H
00007 
00008 #include "MESH_SceneGraphTypes.h"
00009 
00010 #include <vector>
00011 
00012 namespace X3DTK {
00013 namespace MESH {
00014 
00015 template<class VData, class EData, class FData> class SFVertex;
00016 template<class FData, class VData, class EData> class SFFace;
00017 
00020 
00021 template<class EData, class FData, class VData>
00022 class SFEdgeContent
00023 {
00024   template<class A, class B, class C, class D> friend class Mesh;
00025   template<class A, class B, class C> friend class SFDirectEdge;
00026   template<class A, class B, class C> friend class SFIndirectEdge;
00027 public:
00029   inline SFVertex<VData, EData, FData> *getFromVertex() const;
00031   inline SFVertex<VData, EData, FData> *getToVertex() const;
00033   inline const MFFace<FData, VData, EData> &get1Faces() const;
00035   inline const MFFace<FData, VData, EData> &get2Faces() const;
00037   inline bool isBoundary() const;
00039   inline EData &data();
00041   inline const EData &data() const;
00042 
00043 private:
00044   SFVertex<VData, EData, FData> *const _from;
00045   SFVertex<VData, EData, FData> *const _to;
00046   MFFace<FData, VData, EData> _r1Faces;
00047   MFFace<FData, VData, EData> _r2Faces;
00048   bool _isBoundary;
00049   EData _data;
00050   
00052   SFEdgeContent(SFVertex<VData, EData, FData> * from, SFVertex<VData, EData, FData> *const to);
00054   ~SFEdgeContent();
00055     
00057   void add1Face(SFFace<FData, VData, EData> *face);
00059   void add2Face(SFFace<FData, VData, EData> *face);
00060 };
00061 
00062 }
00063 }
00064 
00065 #include "MESH_SFEdgeContent.inl"
00066 
00067 #endif

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