Test the IsInside methods of various graphics primitives.
void inside() {
auto el =
new TEllipse(0.75, 0.25, .2,.15,45,315,62);
el->Draw();
double gr_x1[5] = {0.1, 0.3388252, 0.03796561, 0.4176218, 0.1};
double gr_y1[5] = {0.5, 0.9644737, 0.7776316, 0.6960526, 0.5};
auto bx =
new TBox(.7, .8, .9, .95);
bx->Draw();
auto pv =
new TPave(.05, .1, .3, .2);
pv->Draw();
auto di =
new TDiamond(.05, .25, .3, .4);
di->Draw();
auto cr =
new TCrown(.5, .5, .1, .15);
cr->SetFillColor(19);
cr->Draw();
for (int i = 0; i < 10000; i++) {
if (el->IsInside(
x,
y) || bx->IsInside(
x,
y) || pv->IsInside(
x,
y) || di->IsInside(
x,
y) || cr->IsInside(
x,
y) ||
} else {
}
}
}
winID h TVirtualViewer3D TVirtualGLPainter p
R__EXTERN TRandom * gRandom
A TGraph is an object made of two arrays X and Y with npoints each.
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.
void Draw(Option_t *chopt="") override
Draw this graph with its current attributes.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
A TBox with a bordersize and a shadow option.
Double_t Rndm() override
Machine independent random number generator.
- Author
- Olivier Couet
Definition in file inside.C.