Hierarchical Edge Bundle 1.0
|
00001 #pragma once 00002 #include "View.h" 00003 #include "Graph.h" 00004 #include <map> 00005 00011 class VertexBallon 00012 { 00013 public: 00014 typedef boost::shared_ptr<VertexBallon> VertexBallonPtr; 00015 00019 VertexBallon(); 00024 VertexBallon(VertexPtr v); 00034 VertexBallon(VertexPtr v, double r, double rr, double circumference, double ark, double angle); 00035 00040 VertexPtr GetVertex(); 00045 double GetRadius(); 00050 double GetRadiusRendering(); 00055 double GetArk(); 00060 double GetAngle(); 00065 double GetCircumference(); 00066 00071 void SetVertex(VertexPtr v); 00076 void SetRadius(double r); 00081 void SetRadiusRendering(double r); 00086 void SetArk(double r); 00091 void SetAngle(double angle); 00096 void SetCircumference(double circumference); 00097 00098 private: 00099 VertexPtr m_pkV; 00100 double m_r; 00101 double m_rr; 00102 double m_ark; 00103 double m_angle; 00104 double m_circumference; 00105 }; 00106 00112 class BallonTree : public View 00113 { 00114 typedef boost::shared_ptr<VertexBallon> VertexBallonPtr; 00115 00116 public: 00120 BallonTree(); 00124 ~BallonTree(void); 00125 00129 virtual void Calculate(); 00130 00131 /*std::vector<VertexBallonPtr> verticesChilds;/*/ 00132 std::map<unsigned int, VertexBallonPtr> verticesChilds;//*/ 00133 };