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

MESH_SFDirectEdge.h

Go to the documentation of this file.
00001 #ifndef X3DTK_MESH_SFDIRECTEDGE_H
00002 #define X3DTK_MESH_SFDIRECTEDGE_H
00003 
00004 #include "MESH_SFEdge.h"
00005 
00006 namespace X3DTK {
00007 namespace MESH {
00008 
00015 template<class EData, class FData, class VData, bool readOnly = true>
00016 class SFDirectEdge : public SFEdge<EData, FData, VData, readOnly>
00017 {
00018   template<class A, class B, class C, class D, bool E> friend class Mesh;
00019 public: 
00020   typedef EntityMFFace<FData, VData, EData, readOnly> MFFace;
00021     
00023   SFVertex<VData, EData, FData, readOnly> *getFromVertex() const;
00025   SFVertex<VData, EData, FData, readOnly> *getToVertex() const;
00027   const MFFace &getLeftFaces() const;
00029   const MFFace &getRightFaces() const;
00030 
00031 private:  
00033   SFDirectEdge(SFEdgeContent<EData, FData, VData, readOnly> *const edgeContent);
00035   ~SFDirectEdge();
00036 
00038   void addLeftFace(SFFace<FData, VData, EData, readOnly> *face);
00040   void addRightFace(SFFace<FData, VData, EData, readOnly> *face);
00041 
00043   void removeLeftFace(SFFace<FData, VData, EData, readOnly> *face);
00045   void removeRightFace(SFFace<FData, VData, EData, readOnly> *face);
00046 };
00047 
00048 }
00049 }
00050 
00051 #include "MESH_SFDirectEdge.inl"
00052 
00053 #endif

Generated on Wed Apr 7 12:15:20 2004 for X3DToolKit by doxygen 1.3.3