67 if (
fX) {
delete []
fX;
fX = 0; }
68 if (
fY) {
delete []
fY;
fY = 0; }
69 if (
fN) {
delete []
fN;
fN = 0; }
81 fGVEdge = (GVizAgedge_t*)agedge((Agraph_t *)gv, n1, n2, NULL, 1);
83 fGVEdge = (GVizAgedge_t*)agedge((Agraph_t *)gv, n1, n2);
86 Error(
"CreateGVEdge",
"Invalid graphviz graph");
97 for (
Int_t i = 1; i <=
fN[0]; i++) {
101 if (
d < dist) dist =
d;
115 for (
Int_t i = 1; i <=
fN[0]; i++) {
132 if (
fX) {
delete []
fX;
fX = 0; }
133 if (
fY) {
delete []
fY;
fY = 0; }
134 if (
fN) {
delete []
fN;
fN = 0; }
142 for (i=0; i<
np; i++) {
143 bz = ED_spl((Agedge_t*)
fGVEdge)->list[i];
154 for (i=0; i<
np; i++) {
155 bz = ED_spl((Agedge_t*)
fGVEdge)->list[i];
158 for (j=0; j<
fN[i+1]; j++) {
159 fX[k] = bz.list[j].x;
160 fY[k] = bz.list[j].y;
185 for (i=1; i<=
fN[0]; i++) {
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
Draw all kinds of Arrows.
virtual Color_t GetLineColor() const
Return the line color.
virtual Width_t GetLineWidth() const
Return the line width.
virtual Style_t GetLineStyle() const
Return the line style.
virtual void SaveLineAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
Save line attributes as C++ statement(s) on output stream out.
Buffer base class used for serializing objects.
An edge object connecting two nodes which can be added in a TGraphStruct.
void CreateGVEdge(GVizAgraph_t *gv)
Create the GraphViz edge into the GraphViz data structure gv.
void Paint(Option_t *option="") override
Paint this edge with its current attributes.
TGraphNode * fNode1
First node.
GVizAgedge_t * fGVEdge
Graphviz edge.
TGraphNode * fNode2
Second node.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to an edge.
void SavePrimitive(std::ostream &, Option_t *) override
Save primitive as a C++ statement(s) on output stream out.
void Layout()
Layout this edge in the GraphViz space.
~TGraphEdge() override
Graph Edge default destructor.
Int_t * fN
number of edge points (GV) fN[0] = number of splines fN[1...n] = number of points in each spline
void Streamer(TBuffer &) override
Stream an object of class TObject.
Double_t fArrY
Arrow Y position.
Double_t * fY
X edge points (GV)
TGraphEdge()
Graph Edge default constructor.
Double_t fArrX
Arrow X position.
void SaveAttributes(std::ostream &, const char *)
Save attributes as a C++ statement(s) on output stream out called by TGraphStruct::SavePrimitive.
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
Double_t * fX
X edge points (GV)
A graph node object which can be added in a TGraphStruct.
GVizAgnode_t * GetGVNode()
A TGraph is an object made of two arrays X and Y with npoints each.
Mother of all ROOT objects.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Defined by an array on N points in a 2-D space.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Returns closest distance in pixels from point (px, py) to a polyline.
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.