Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
inside.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_graphics
3/// \notebook -js
4/// Test the IsInside methods of various graphics primitives.
5///
6/// \macro_image
7/// \macro_code
8///
9/// \author Olivier Couet
10
11void inside() {
12 auto el = new TEllipse(0.75, 0.25, .2,.15,45,315,62);
13 el->Draw();
14
15 auto gr = new TGraph();
16 double gr_x1[5] = {0.1, 0.3388252, 0.03796561, 0.4176218, 0.1};
17 double gr_y1[5] = {0.5, 0.9644737, 0.7776316, 0.6960526, 0.5};
18 gr = new TGraph(5, gr_x1, gr_y1);
19 gr->Draw("L");
20
21 auto bx = new TBox(.7, .8, .9, .95);
22 bx->Draw();
23
24 auto pv = new TPave(.05, .1, .3, .2);
25 pv->Draw();
26
27 auto di = new TDiamond(.05, .25, .3, .4);
28 di->Draw();
29
30 auto cr = new TCrown(.5, .5, .1, .15);
31 cr->SetFillColor(19);
32 cr->Draw();
33
34 for (int i = 0; i < 10000; i++) {
35 double x = gRandom->Rndm();
36 double y = gRandom->Rndm();
37 auto p = new TMarker(x,y,7);
38 p->Draw();
39 if (el->IsInside(x,y) || bx->IsInside(x,y) || pv->IsInside(x,y) || di->IsInside(x,y) || cr->IsInside(x,y) ||
40 gr->IsInside(x,y)) {
41 p->SetMarkerColor(kGreen);
42 } else {
43 p->SetMarkerColor(kRed);
44 }
45 }
46}
@ kRed
Definition Rtypes.h:66
@ kGreen
Definition Rtypes.h:66
winID h TVirtualViewer3D TVirtualGLPainter p
R__EXTERN TRandom * gRandom
Definition TRandom.h:62
Create a Box.
Definition TBox.h:22
To draw a Crown.
Definition TCrown.h:19
Draw a Diamond.
Definition TDiamond.h:17
Draw Ellipses.
Definition TEllipse.h:23
A TGraph is an object made of two arrays X and Y with npoints each.
Definition TGraph.h:41
virtual Int_t IsInside(Double_t x, Double_t y) const
Return 1 if the point (x,y) is inside the polygon defined by the graph vertices 0 otherwise.
Definition TGraph.cxx:1824
void Draw(Option_t *chopt="") override
Draw this graph with its current attributes.
Definition TGraph.cxx:814
Manages Markers.
Definition TMarker.h:22
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Definition TObject.cxx:274
A TBox with a bordersize and a shadow option.
Definition TPave.h:19
Double_t Rndm() override
Machine independent random number generator.
Definition TRandom.cxx:559
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
TGraphErrors * gr
Definition legend1.C:25