12 #ifndef ROOT_TGeoPolygon 13 #define ROOT_TGeoPolygon 19 #ifndef ROOT_TObjArray virtual void Draw(Option_t *option="")
Draw the polygon.
Bool_t IsFinished() const
void SetNextIndex(Int_t index=-1)
Sets the next polygone index.
Bool_t TestBit(UInt_t f) const
void ConvexCheck()
Check polygon convexity.
Bool_t Contains(const Double_t *point) const
Check if a point given by X = point[0], Y = point[1] is inside the polygon.
Double_t Safety(const Double_t *point, Int_t &isegment) const
Compute minimum distance from POINT to any segment. Returns segment index.
An arbitrary polygon defined by vertices.
void GetConvexVertices(Double_t *x, Double_t *y) const
Fill list of vertices of the convex outscribed polygon into provided arrays.
void GetVertices(Double_t *x, Double_t *y) const
Fill list of vertices into provided arrays.
TGeoPolygon()
Dummy constructor.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
#define ClassDef(name, id)
Bool_t IsIllegalCheck() const
Check for illegal crossings between non-consecutive segments.
Bool_t IsSegConvex(Int_t i1, Int_t i2=-1) const
Check if a segment [0..fNvert-1] belongs to the outscribed convex pgon.
void SetXY(Double_t *x, Double_t *y)
Set X/Y array pointer for the polygon and daughters.
void SetConvex(Bool_t flag=kTRUE)
void OutscribedConvex()
Compute indices for the outscribed convex polygon.
Bool_t IsRightSided(const Double_t *point, Int_t ind1, Int_t ind2) const
Check if POINT is right-sided with respect to the segment defined by IND1 and IND2.
Double_t * fY
pointer to list of current X coordinates of vertices
void FinishPolygon()
Decompose polygon in a convex outscribed part and a list of daughter polygons that have to be subtrac...
Bool_t IsClockwise() const
Mother of all ROOT objects.
TObjArray * fDaughters
pointer to list of current Y coordinates of vertices
Double_t Area() const
Computes area of the polygon in [length^2].
virtual ~TGeoPolygon()
Destructor.