Hierarchical Edge Bundle 1.0
|
00001 #pragma once 00002 #include "Vertex.h" 00003 #include <memory> 00004 00005 #include <boost/ptr_container/ptr_deque.hpp> 00006 #include <boost/ptr_container/ptr_map.hpp> 00007 #include <boost/assign/ptr_map_inserter.hpp> // for 'ptr_map_insert()' 00008 00009 using namespace boost; 00010 using namespace boost::assign; 00011 00017 class Edge 00018 { 00019 public: 00020 typedef boost::shared_ptr<Vertex> VertexPtr; 00026 Edge(VertexPtr start, VertexPtr end); 00030 virtual ~Edge(void); 00031 00032 public: 00038 void SetEdges(VertexPtr start, VertexPtr end); 00043 void SetStartEdge(VertexPtr start); 00048 void SetEndEdge(VertexPtr end); 00053 VertexPtr GetStartEdge(); 00058 VertexPtr GetEndEdge(); 00059 00064 void SetID(unsigned int id); 00069 unsigned int GetID(); 00070 00071 protected: 00072 VertexPtr m_start; 00073 VertexPtr m_end; 00074 00075 unsigned int m_id; 00076 };