AURobotServers  4
Public Member Functions | Static Public Attributes | List of all members
UPolygon400 Class Reference

#include <upolygon.h>

Inheritance diagram for UPolygon400:
Inheritance graph

Public Member Functions

virtual void sortByAngleXYTo (UPosition *pc)
 
 UPolygon400 ()
 
- Public Member Functions inherited from UPolygon
bool add (UPosition point)
 
bool add (UPosition *point)
 
bool add (UPolygon *poly)
 
bool add (double x, double y, double z=0)
 
virtual void clear ()
 
virtual char * codeXml (char *buf, const int bufCnt, const char *extraAttr)
 
char * codeXml (const char *name, char *buf, int bufCnt, const char *extra)
 
bool copy (CvPoint *source, int sourceCnt)
 
bool copyPointsTo (UPolygon *destination)
 
bool copyTo (UPolygon *destination)
 
bool cut (U2Dlined *line, UPolygon *source, UPolygon *dstL, UPolygon *dstR)
 
int cutPoints (U2Dlined *line, U2Dpos *xPnts, int xPntsCnt)
 
bool extractConvexTo (UPolygon *destination)
 
double getClosestDistance (double toX, double toY, double maxRelevantDist, UPosition *closest, bool *atVertex=NULL)
 
int getCloseVertexCnt (double dist)
 
UPosition getCogXY ()
 
double getCogXYmaxDist ()
 
int getCrossings (ULineSegment *seg, UPosition xes[], const int xesCnt)
 
virtual const char * getDataType ()
 
double getDistance (double x, double y, int *closeSide=NULL, int *closeVertex=NULL)
 
double getDistanceXYsigned2 (UPosition pos, int *idx, UPosition *posOnPolygon, bool *vertex)
 
UPositiongetFromTop (int fromTop)
 
UPosition getLastPoint ()
 
bool getLimits (double *minx, double *miny, double *maxx, double *maxy)
 
UPositiongetLowerLeftXY ()
 
double getMostDistantVertexXY (double x, double y, double h, int side, UPosition *posOnPolygon)
 
int getMostDistantXY (ULineSegment *line, bool leftSide, bool insideSegment, double *distance, int exclude=-1, double *tPos=NULL)
 
UPosition getPoint (int index)
 
UPositiongetPoints ()
 
int getPointsCnt ()
 
int getPointsMax ()
 
UPosition getPPoint (int index)
 
UPosition ** getPPoints ()
 
ULineSegment getSegment (int index)
 
double getXYarea ()
 
bool insert (UPosition pos, int index)
 
virtual bool isAlsoA (const char *typeString)
 
bool isCogXYvalid ()
 
bool isEmbedded (UPolygon *other, double *maxDist=NULL)
 
bool isInsideConvex (double x, double y, double margin=0.0)
 
bool isOverlappingXY (UPolygon *poly2, int *count=NULL, UPosition xes[]=NULL, const int xesCnt=0)
 
bool isOverlappingXYconvex (UPolygon *poly2, double margin, int *closeThis=NULL, int *closePoly2=NULL)
 
bool isOverlappingXYconvex2 (UPolygon *poly2, double margin, UPosition *close=NULL)
 
bool isOverlappingXYconvexSeg (UPolygon *poly2, double margin, int closeThis[6], int *closeThisCnt, int closePoly2[6], int *closePoly2Cnt)
 
bool isOverlappingXYtype (UPolygon *poly2, int *xcnt, UPosition xes[], const int xesCnt, int type[])
 
bool isPolygon ()
 
bool isPolyline ()
 
UPosition pop ()
 
void print (const char *prestring)
 
void printSort (const char *prestring)
 
bool push (UPosition *point)
 
void remove (int index)
 
int removeNearVertex (double dist)
 
void setAsPolygon (bool value=true)
 
void setAsPolyline (bool value=true)
 
void setCogXYvalid (bool value)
 
void setColor (const char *colorStr)
 
bool setPoint (int idx, UPosition pos)
 
void setPointsCnt (int value)
 
bool setSize (int maxPoints)
 
virtual void snprint (const char *prestring, char *buff, const int buffCnt)
 
bool toConvex ()
 
 UPolygon ()
 
virtual ~UPolygon ()
 
- Public Member Functions inherited from UDataBase
bool isA (const char *typeString)
 
 UDataBase ()
 
virtual ~UDataBase ()
 
- Public Member Functions inherited from ULock
bool lock ()
 
void lockInit ()
 
void post ()
 
bool tryLock ()
 
bool tryWait ()
 
 ULock ()
 
void unlock ()
 
bool wait ()
 
 ~ULock ()
 

Static Public Attributes

static const int MAX_POINTS = 400
 

Additional Inherited Members

- Public Attributes inherited from UPolygon
char color [8]
 
- Protected Member Functions inherited from UPolygon
bool copySortedTo (UPolygon *destination)
 
- Protected Attributes inherited from UPolygon
bool aPolygon
 
UPosition cogXY
 
double cogXYmaxDist
 
bool cogXYvalid
 
UPositionpoints
 
int pointsCnt
 
int pointsMax
 
UPosition ** ppoints
 
int ppointsCnt
 

Detailed Description

Polygon with up to 400 vertices.

Constructor & Destructor Documentation

UPolygon400::UPolygon400 ( )
inline

Constructor

References UPolygon::setSize(), and UPolygon::sortByAngleXYTo().

Member Function Documentation

void UPolygon400::sortByAngleXYTo ( UPosition pc)
virtual

Sort the polygon elements according to angle to the position in 'pc'. The polygon positions are returned in order in the '*pdata[]' array. The array must be able to hold the number of points in the array. If 'pc' points to one of the points in the polygon, then this point is not included in ppoints.

Reimplemented from UPolygon.

References a, angleSort(), UPolygon::points, UPolygon::pointsCnt, UPolygon::ppoints, UPolygon::ppointsCnt, UPosition::x, and UPosition::y.

Member Data Documentation

const int UPolygon400::MAX_POINTS = 400
static

The documentation for this class was generated from the following files: