40 class ReconstructionFrame;
48 enum TreeType { kVanillaTree, kFrameTree, kGroupTree };
52 TreePlot(
const std::string& sname,
const std::string& stitle);
58 void SetTree(
const Group& group);
59 void SetTree(
const Jigsaw& jigsaw);
61 void AddJigsaw(
const Jigsaw& jigsaw);
63 void Draw(
const std::string& name =
"",
64 const std::string& title =
"",
65 bool invert_colors =
false,
66 bool invert_node_colors =
false);
72 std::vector<int> m_Ncol;
75 bool m_SelfAssembling;
76 std::map<const Jigsaw*,int> m_JigsawColorMap;
77 std::map<FrameType,int> m_FrameColorMap;
81 const Group* m_GroupPtr;
83 int m_color_Node_text[4];
84 int m_color_Node_line[4];
85 int m_color_Node_fill[4];
86 int m_color_Default_text;
87 int m_color_Default_line;
88 int m_color_Default_fill;
91 std::vector<int> m_color_Leaf;
99 std::string GetStateTitle(
const State& state);
100 std::string GetSetTitle(
const std::string& set,
101 const std::string& index);
104 void FillFrameTree(
const RestFrame& frame);
105 void FillFrameTreeMap(
int irow,
const RestFrame& frame);
107 void FillGroupTree(
const Group& group);
108 void FillJigsawTree(
const Jigsaw& jigsaw);
109 void FillStateTreeMap(
int irow,
const State& state);
110 void FillJigsawLink(
const Jigsaw& jigsaw);
112 void SetColors(
bool invert_bkg_color,
113 bool invert_node_color);
115 std::vector<TreePlotNode*> m_TreeNodes;
116 std::vector<TreePlotLink*> m_TreeLinks;
117 void DrawTreeLinks();
118 void DrawTreeNodes(
bool with_rings =
false);
120 std::vector<TreePlotLink*> m_LeafLinks;
121 void DrawLeafLinks();
124 void DrawNode(
TreePlotNode* nodePtr,
bool with_rings =
false);
126 void DrawFrameTypeLegend();
127 void DrawTitle(
const std::string& title);
128 void DrawJigsawLegend();
130 void ConvertNodeCoordinates(std::vector<TreePlotNode*>& nodesPtr);
132 int GetJigsawPriority(
int Nout,
int Ndep)
const;
133 TCanvas* GetNewCanvas(
const std::string& name,
134 const std::string& title);
abstract base class for all Jigsaw objects
abstract base class for all Group objects
abstract base class for all Frame objects
abstract base class for all State objects
virtual void Clear()
Clears RFBase of all connections to other objects.