|  | 
| virtual IThing * | getIThing ()=0 | 
|  | Return an IThing interface for this object. 
 | 
|  | 
| virtual const IThing * | getIThing () const =0 | 
|  | Return a const IThing interface for this object. 
 | 
|  | 
| virtual uint64 | getSize () const =0 | 
|  | Returns the number of edges associated with this polygon. This is also the number of points if the polygon is closed. 
 | 
|  | 
| virtual uint64 | getNumFakeEdges () const =0 | 
|  | Returns the number of fake edges associated with this polygon. Only irregular blocks with internal polygons (boundaries) have fake edges. 
 | 
|  | 
| virtual IGeomEdge * | getEdge (uint32 index)=0 | 
|  | Returns the edge at index index in the list of edges associated with the polygon. Will return 0 if index >= getSize(). 
 | 
|  | 
| virtual const IGeomEdge * | getEdge (uint32 index) const =0 | 
|  | Returns the edge at index index in the list of edges associated with the polygon. Will return 0 if index >= getSize(). 
 | 
|  | 
| virtual bool | addEdge (IGeomEdge *edge, bool throwException=true, bool forceFlip=false)=0 | 
|  | 
| virtual IGeomEdge * | removeEdge ()=0 | 
|  | 
| virtual bool | isValid () const =0 | 
|  | Checks the validity of the polygon - the polygon must be fully closed, and each edge must match a point in the next edge. 
 | 
|  | 
| virtual IGeomPoint * | getPoint (uint32 index)=0 | 
|  | Returns the point at index /a index in the polygon, assuming it is valid. 
 | 
|  | 
| virtual const IGeomPoint * | getPoint (uint32 index) const =0 | 
|  | Returns the point at index /a index in the polygon, assuming it is valid. 
 | 
|  | 
| virtual bool | getFlip (uint32 index) const =0 | 
|  | 
| virtual DVect | getVector (uint32 index) const =0 | 
|  | Returns the vector from point index to point index+1 as you go around the polygon. 
 | 
|  | 
| virtual DVect | getCentroid () const =0 | 
|  | Returns the centroid, calculated as the average of the point positions. 
 | 
|  | 
| virtual double | getArea () const =0 | 
|  | Returns the area of the polygon, assuming the polygon is planar and radially convex about the centroid. 
 | 
|  | 
| virtual DAVect | getDANormal () const =0 | 
|  | Returns the normal vector or the polygon, based on an average of each vertex if the polygon is not planar. 
 | 
|  | 
| virtual DVect3 | getNormal () const =0 | 
|  | Returns the normal vector or the polygon as used in ThingData. 
 | 
|  | 
| virtual bool | isPlanar (const double &tolerance=1e-7) const =0 | 
|  | 
| virtual bool | isConvex (const double &tolerance=1e-7) const =0 | 
|  | Returns true if the polygon is convex within tolerance. 
 | 
|  | 
| virtual bool | isIn (const DVect &v, DVect *on=0, const double &tolerance=1e-7) const =0 | 
|  | 
| virtual DVect | getClosestPoint (const DVect &v) const =0 | 
|  | Returns the closest point to /a v on the polygon, which could be on a point, on an edge, or on the surface of the polygon. 
 | 
|  | 
| virtual int | getConnectIndex () const | 
|  | Returns the connect index, computed. 
 | 
|  | 
| virtual int | getManifoldIndex () const | 
|  | Returns the manifold index, computed. 
 | 
|  | 
| virtual int | getFrontSideIndex () const | 
|  | Returns the front side index, computed. 
 | 
|  | 
| virtual int | getBackSideIndex () const | 
|  | Returns the back side index, computed. 
 | 
|  | 
| virtual CLinkType< IGeomPoly > | getNext (uint32 index) const =0 | 
|  | Returns an interface to a CLinkType<> object, a const pointer to the next object in the linked list. 
 | 
|  | 
| virtual LinkType< IGeomPoly > | getNext (uint32 index)=0 | 
|  | Returns an interface to a LinkType<> object, a pointer to the next object in the linked list. 
 | 
|  | 
| virtual const GeomBase * | getGeomBase () const =0 | 
|  | Return const GeomBase. 
 | 
|  | 
| virtual DVect | convertToGlobal (double u, double v) const =0 | 
|  | 
| virtual DVect2 | convertToLocal (const DVect &pos) const =0 | 
|  | 
| virtual void | triangulatedList (FArray< DVect > *ret, const double &tolerance=1e-7)=0 | 
|  | Return a list of triangulated vertices for plotting. 
 | 
|  | 
| virtual uint32 | index (const IGeomEdge *edge) const =0 | 
|  | 
| virtual uint32 | index (const IGeomPoly *vert) const =0 | 
|  | 
| virtual void | setEdge (uint32 ind, IGeomEdge *edge)=0 | 
|  | 
A class representing a single closed polygon made up of a list of edges.