(Closed) sequence of connected 2-D coordinates More...
Public Member Functions | |
| ODPolygon () | |
| ODPolygon (const TypeSet< Geom::Point2D< T > > &plg) | |
| void | erase () |
| bool | isEmpty () const |
| int | size () const |
| bool | validIdx (int idx) const |
| void | setEmpty () |
| void | add (const Geom::Point2D< T > &vtx) |
| void | remove (int idx) |
| void | insert (int idx, const Geom::Point2D< T > &vtx) |
| bool | isInside (const Geom::Point2D< T > &, bool inclborder, T eps) const |
| int | isInside (const ODPolygon &testpoly, T eps=0) const |
| bool | segmentMeetsBorder (const Geom::Point2D< T > &pt1, const Geom::Point2D< T > &pt2, T eps) const |
| bool | windowOverlaps (const Interval< T > &xrange, const Interval< T > &yrange, T eps) const |
| const Geom::Point2D< T > & | getVertex (int idx) const |
| const Geom::Point2D< T > & | nextVertex (int idx) const |
| const Geom::Point2D< T > & | prevVertex (int idx) const |
| void | setClosed (bool yn) |
| bool | isClosed () const |
| void | setUdf (Geom::Point2D< T > pt) |
| Geom::Point2D< T > | getUdf () const |
| const TypeSet< Geom::Point2D < T > > & | data () const |
| Interval< T > | getRange (bool of_x) const |
| void | getData (bool of_x, TypeSet< T > &) const |
| void | removeZeroLengths () |
| bool | isUTurn (int idx) const |
| bool | isSelfIntersecting () const |
| void | convexHull () |
| float | area () const |
| bool | clockwise () const |
| bool | anticlockwise () const |
| void | reverse () |
| double | distTo (const Geom::Point2D< T > &refpt, int *segmentidxptr=0, double *fractionptr=0) const |
| bool | operator== (const ODPolygon< T > &) const |
Protected Member Functions | |
| float | sgnArea () const |
Static Protected Member Functions | |
| static int | doSegmentsMeet (const Geom::Point2D< T > &p1, const Geom::Point2D< T > &p2, const Geom::Point2D< T > &q1, const Geom::Point2D< T > &q2, T eps) |
| static bool | isOnSegment (const Geom::Point2D< T > &pt, const Geom::Point2D< T > &pt0, const Geom::Point2D< T > &pt1, T eps) |
| static bool | isOnHalfLine (const Geom::Point2D< T > &point, const Geom::Point2D< T > &dirvec, const Geom::Point2D< T > &endvec, T eps) |
| static bool | isEdgeCrossing (const Geom::Point2D< T > &raydir, const Geom::Point2D< T > &raysrc, const Geom::Point2D< T > &vtx1, const Geom::Point2D< T > &vtx2) |
| static bool | isOnLine (const Geom::Point2D< T > &point, const Geom::Point2D< T > &dirvec, const Geom::Point2D< T > &posvec, T eps) |
| static bool | isRightOfLine (const Geom::Point2D< T > &point, const Geom::Point2D< T > &dirvec, const Geom::Point2D< T > &posvec) |
| static bool | doCoincide (const Geom::Point2D< T > &point1, const Geom::Point2D< T > &point2, T eps) |
| static double | sgnDistToLine (const Geom::Point2D< T > &point, const Geom::Point2D< T > &dirvec, const Geom::Point2D< T > &posvec) |
| static double | distToSegment (const Geom::Point2D< T > &p1, const Geom::Point2D< T > &p2, const Geom::Point2D< T > &refpt, double *fractionptr=0) |
Protected Attributes | |
| TypeSet< Geom::Point2D< T > > | poly_ |
| bool | closed_ |
| Geom::Point2D< T > | udf_ |
| Interval< T > | xrg_ |
| Interval< T > | yrg_ |
(Closed) sequence of connected 2-D coordinates
| ODPolygon< T >::ODPolygon | ( | const TypeSet< Geom::Point2D< T > > & | plg | ) | [inline] |
| void ODPolygon< T >::add | ( | const Geom::Point2D< T > & | vtx | ) | [inline] |
| bool ODPolygon< T >::anticlockwise | ( | ) | const [inline] |
| float ODPolygon< T >::area | ( | ) | const [inline] |
| bool ODPolygon< T >::clockwise | ( | ) | const [inline] |
| void ODPolygon< T >::convexHull | ( | ) | [inline] |
| const TypeSet<Geom::Point2D<T> >& ODPolygon< T >::data | ( | ) | const [inline] |
| double ODPolygon< T >::distTo | ( | const Geom::Point2D< T > & | refpt, | |
| int * | segmentidxptr = 0, |
|||
| double * | fractionptr = 0 | |||
| ) | const [inline] |
| double ODPolygon< T >::distToSegment | ( | const Geom::Point2D< T > & | p1, | |
| const Geom::Point2D< T > & | p2, | |||
| const Geom::Point2D< T > & | refpt, | |||
| double * | fractionptr = 0 | |||
| ) | [inline, static, protected] |
| bool ODPolygon< T >::doCoincide | ( | const Geom::Point2D< T > & | point1, | |
| const Geom::Point2D< T > & | point2, | |||
| T | eps = mDefEps | |||
| ) | [inline, static, protected] |
| int ODPolygon< T >::doSegmentsMeet | ( | const Geom::Point2D< T > & | p1, | |
| const Geom::Point2D< T > & | p2, | |||
| const Geom::Point2D< T > & | q1, | |||
| const Geom::Point2D< T > & | q2, | |||
| T | eps | |||
| ) | [inline, static, protected] |
| void ODPolygon< T >::erase | ( | ) | [inline] |
| Geom::Point2D<T> ODPolygon< T >::getUdf | ( | ) | const [inline] |
| const Geom::Point2D< T > & ODPolygon< T >::getVertex | ( | int | idx | ) | const [inline] |
| void ODPolygon< T >::insert | ( | int | idx, | |
| const Geom::Point2D< T > & | vtx | |||
| ) | [inline] |
| bool ODPolygon< T >::isClosed | ( | ) | const [inline] |
| bool ODPolygon< T >::isEdgeCrossing | ( | const Geom::Point2D< T > & | raydir, | |
| const Geom::Point2D< T > & | raysrc, | |||
| const Geom::Point2D< T > & | vtx1, | |||
| const Geom::Point2D< T > & | vtx2 | |||
| ) | [inline, static, protected] |
| bool ODPolygon< T >::isEmpty | ( | ) | const [inline] |
| bool ODPolygon< T >::isInside | ( | const Geom::Point2D< T > & | point, | |
| bool | inclborder, | |||
| T | eps | |||
| ) | const [inline] |
| int ODPolygon< T >::isInside | ( | const ODPolygon< T > & | testpoly, | |
| T | eps = 0 | |||
| ) | const [inline] |
| bool ODPolygon< T >::isOnHalfLine | ( | const Geom::Point2D< T > & | point, | |
| const Geom::Point2D< T > & | dirvec, | |||
| const Geom::Point2D< T > & | endvec, | |||
| T | eps | |||
| ) | [inline, static, protected] |
| bool ODPolygon< T >::isOnLine | ( | const Geom::Point2D< T > & | point, | |
| const Geom::Point2D< T > & | dirvec, | |||
| const Geom::Point2D< T > & | posvec, | |||
| T | eps | |||
| ) | [inline, static, protected] |
| bool ODPolygon< T >::isOnSegment | ( | const Geom::Point2D< T > & | pt, | |
| const Geom::Point2D< T > & | pt0, | |||
| const Geom::Point2D< T > & | pt1, | |||
| T | eps | |||
| ) | [inline, static, protected] |
| bool ODPolygon< T >::isRightOfLine | ( | const Geom::Point2D< T > & | point, | |
| const Geom::Point2D< T > & | dirvec, | |||
| const Geom::Point2D< T > & | posvec | |||
| ) | [inline, static, protected] |
| bool ODPolygon< T >::isSelfIntersecting | ( | ) | const [inline] |
| bool ODPolygon< T >::isUTurn | ( | int | idx | ) | const [inline] |
| const Geom::Point2D< T > & ODPolygon< T >::nextVertex | ( | int | idx | ) | const [inline] |
| const Geom::Point2D< T > & ODPolygon< T >::prevVertex | ( | int | idx | ) | const [inline] |
| void ODPolygon< T >::remove | ( | int | idx | ) | [inline] |
| void ODPolygon< T >::removeZeroLengths | ( | ) | [inline] |
| void ODPolygon< T >::reverse | ( | ) | [inline] |
| bool ODPolygon< T >::segmentMeetsBorder | ( | const Geom::Point2D< T > & | pt1, | |
| const Geom::Point2D< T > & | pt2, | |||
| T | eps | |||
| ) | const [inline] |
| void ODPolygon< T >::setClosed | ( | bool | yn | ) | [inline] |
| void ODPolygon< T >::setEmpty | ( | ) | [inline] |
| void ODPolygon< T >::setUdf | ( | Geom::Point2D< T > | pt | ) | [inline] |
| float ODPolygon< T >::sgnArea | ( | ) | const [inline, protected] |
| double ODPolygon< T >::sgnDistToLine | ( | const Geom::Point2D< T > & | point, | |
| const Geom::Point2D< T > & | dirvec, | |||
| const Geom::Point2D< T > & | posvec | |||
| ) | [inline, static, protected] |
| int ODPolygon< T >::size | ( | ) | const [inline] |
| bool ODPolygon< T >::validIdx | ( | int | idx | ) | const [inline] |
| bool ODPolygon< T >::windowOverlaps | ( | const Interval< T > & | xrange, | |
| const Interval< T > & | yrange, | |||
| T | eps | |||
| ) | const [inline] |
TypeSet<Geom::Point2D<T> > ODPolygon< T >::poly_ [protected] |
Geom::Point2D<T> ODPolygon< T >::udf_ [protected] |
1.7.1