|
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.