Describes a single polygon in a PolyShape using linear segments.
All methods of this class are implemented by the system.
- See also
- PolyPt, PolyShape
|
CoreExport | PolyLine () |
| Constructor. More...
|
|
CoreExport | PolyLine (PolyLine &from) |
| Constructor. More...
|
|
CoreExport | ~PolyLine () |
| Destructor. More...
|
|
CoreExport void | Init () |
| Initializes the PolyLine. More...
|
|
CoreExport BOOL | SetNumPts (int count, BOOL keep=TRUE) |
| Sets the number of points in the polyline. More...
|
|
CoreExport void | Append (const PolyPt &p) |
| Appends the specified point to the polyline. More...
|
|
CoreExport void | Insert (int where, const PolyPt &p) |
| Inserts the specified point at the location passed. More...
|
|
CoreExport void | Delete (int where) |
| Deletes the specified point. More...
|
|
CoreExport void | Reverse (BOOL keepZero=FALSE) |
| Reverses the order of the points in the polyline. More...
|
|
CoreExport PolyLine & | operator= (PolyLine &from) |
| Assignment operator. More...
|
|
CoreExport PolyLine & | operator= (Spline3D &from) |
| Assignment operator. More...
|
|
CoreExport PolyPt & | operator[] (int index) |
| Array access operator. More...
|
|
CoreExport void | Dump (const MCHAR *title=NULL) |
| Called to dump the polyline structure via DebugPrint(). More...
|
|
CoreExport void | SpliceLine (int where, PolyLine &source, int splicePoint) |
|
CoreExport BOOL | HitsSegment (Point2 p1, Point2 p2, BOOL findAll=FALSE, IntersectionCallback3D *cb=NULL) |
| Tells if the line segment defined between the two input points intersects this PolyLine object or not. More...
|
|
CoreExport BOOL | HitsPolyLine (PolyLine &line, BOOL findAll=FALSE, IntersectionCallback3D *cb=NULL) |
| Tells if the input PolyLine intersects this PolyLine or not. More...
|
|
CoreExport MtlID | GetMatID (int segment) |
| Returns the material ID for the specified segment. More...
|
|
CoreExport void | GetSmoothingMap (IntTab &map) |
|
CoreExport IOResult | Save (ISave *isave) |
|
CoreExport IOResult | Load (ILoad *iload) |
|
CoreExport void | Swap (PolyLine &line) |
| Lets the developer transfer the content of a line object to another object without suffering from any copy penalties. More...
|
|
|
|
void | Close () |
| Marks the polyline as closed by setting the POLYLINE_CLOSED flag to one. More...
|
|
CoreExport BOOL | IsClosed () |
| Tells if the polyline is closed or not. More...
|
|
void | Open () |
| Marks the polyline as open by resetting the POLYLINE_CLOSED flag to zero. More...
|
|
CoreExport BOOL | IsOpen () |
| Tells if the polyline is open or not. More...
|
|
void | SetNoSelfInt () |
| Sets the POLYLINE_NO_SELF_INT flag. More...
|
|
BOOL | IsNoSelfInt () |
| Returns true if the POLYLINE_NO_SELF_INT flag is set, false if it is not. More...
|
|
CoreExport BOOL | SurroundsPoint (Point2 &point) |
| Returns TRUE if the specified point is surrounded (contained within) this PolyLine. More...
|
|
CoreExport float | CurveLength () |
| Returns the length of the calling PolyLine object. More...
|
|
CoreExport BOOL | IsClockWise () |
| Returns true if the polyline is clockwise in the XY plane (ignoring the Z dimension), false otherwise. More...
|
|
CoreExport BOOL | SelfIntersects (BOOL findAll=FALSE, IntersectionCallback3D *cb=NULL) |
| Returns TRUE if the polyline intersects itself in the XY plane (ignoring the Z dimension), false otherwise. More...
|
|
|
|
int | Verts () |
| Returns the number of vertices (points) in the polyline. More...
|
|
CoreExport int | Segments () |
| Returns the number of segments (edges between vertices) of the polyline. More...
|
|
|
|
CoreExport void | BuildBoundingBox (void) |
| Computes the bounding box of the polyline. More...
|
|
CoreExport void | InvalidateGeomCache () |
| Ensures that the calling PolyLine object has flushed out any cached data it may have had. More...
|
|
CoreExport Box3 | GetBoundingBox (Matrix3 *tm=NULL) |
| Returns the bound box of the polyline. More...
|
|
|
|
CoreExport void | Render (GraphicsWindow *gw, Material *ma, RECT *rp, int compFlags, int numMat) |
|
CoreExport void | Render (GraphicsWindow *gw, Material *ma, int numMat, BOOL colorSegs, BitArray &segsel, BOOL useStartSegments=TRUE) |
| This renders the polyline to the display. More...
|
|
CoreExport BOOL | Select (GraphicsWindow *gw, Material *ma, HitRegion *hr, int abortOnHit=FALSE) |
|
CoreExport void | Snap (GraphicsWindow *gw, SnapInfo *snap, IPoint2 *p, Matrix3 &tm, DWORD vflags) |
|
CoreExport void | Transform (Matrix3 &tm) |
| Transforms the points of the polyline by the specified matrix. More...
|
|
|
|
CoreExport int | Cap3DS (CapVert *capverts, MeshCapInfo &capInfo, DWORD options=0) |
|
|
|
CoreExport Point3 | InterpPiece3D (int segment, float t) |
| Returns a point interpolated on a segment between two points. More...
|
|
CoreExport Point3 | InterpCurve3D (float u, int ptype=POLYSHP_INTERP_SIMPLE) |
| Returns a point interpolated on the entire curve. More...
|
|
CoreExport Point3 | TangentPiece3D (int segment, float t) |
| Returns a tangent vector interpolated on a segment between two points. More...
|
|
CoreExport Point3 | TangentCurve3D (float u, int ptype=POLYSHP_INTERP_SIMPLE) |
| Returns a tangent vector interpolated on the entire curve. More...
|
|
|
static UtilExport void * | operator new (size_t size) |
| Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
| Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void | operator delete (void *ptr) |
| Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
| Placement new operator. More...
|
|
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
| Placement delete operator. More...
|
|
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
| Allocates memory on a specified alignment boundary. More...
|
|
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
| Reallocates memory on a specified alignment boundary. More...
|
|
static UtilExport void | aligned_free (void *ptr) |
| Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
|
|