A multi-polygon shape class.
This class is used in the caching of bezier shapes. This is used for doing a one time interpolation of a bezier shape into a form that is the same shape but doesn't require any further interpolation. In this way the system can do the complex calculations once, store the shape into this PolyShape representation, and not have to go through the cubic spline calculations to figure out where the points are in the future. This class maintains an array of PolyLines. As an example, this is used in the Extrude modifier. First, it generates a PolyShape from the bezier shape it is extruding. Next, this PolyShape is used to generate the mesh.
- See also
- Class ShapeObject, Class PolyLine, Class ShapeVSel, Class ShapeSSel, Class ShapePSel, Class ShapeHierarchy.
|
| CoreExport | PolyShape () |
| | Constructor. More...
|
| |
| CoreExport | PolyShape (PolyShape &from) |
| | Constructor. More...
|
| |
| CoreExport | ~PolyShape () |
| | Destructor. More...
|
| |
| CoreExport void | Init () |
| | For Internal use only. More...
|
| |
| CoreExport void | NewShape () |
| | This deletes all the lines from the PolyShape and clears the shape out. More...
|
| |
| CoreExport BOOL | SetNumLines (int count, BOOL keep=TRUE) |
| | Sets the number of polygons used by the poly shape. More...
|
| |
| CoreExport PolyLine * | NewLine () |
| | Creates a new PolyLine and appends it to the end of the list of lines maintained by this PolyShape. More...
|
| |
| CoreExport void | Append (PolyLine &l) |
| | Appends the specified PolyLine to the end of the lines list. More...
|
| |
| CoreExport void | Insert (int where, PolyLine &l) |
| | Inserts the specified PolyLine at the input location. More...
|
| |
| CoreExport void | Delete (int where) |
| | Deletes the specified PolyLine from the lines list. More...
|
| |
| CoreExport PolyShape & | operator= (PolyShape &from) |
| | Assignment operator. More...
|
| |
| CoreExport PolyShape & | operator= (BezierShape &from) |
| | Assignment operator. More...
|
| |
| CoreExport void | BuildBoundingBox (void) |
| | Builds a bounding box surrounding every line in the lines list. More...
|
| |
| CoreExport void | InvalidateGeomCache (BOOL unused) |
| | Invalidates the cache of each line in the PolyShape. More...
|
| |
| CoreExport void | InvalidateCapCache () |
| | Invalidates the morph, and grid cap caches. More...
|
| |
| CoreExport Box3 | GetBoundingBox (Matrix3 *tm=NULL) |
| | Returns the bounding box of the PolyLines in this PolyShape. More...
|
| |
| CoreExport void | GetDeformBBox (TimeValue t, Box3 &box, Matrix3 *tm, BOOL useSel) |
| | Computes the bounding box of this PolyShape. More...
|
| |
| CoreExport void | Render (GraphicsWindow *gw, Material *ma, RECT *rp, int compFlags, int numMat) |
| |
| CoreExport BOOL | Select (GraphicsWindow *gw, Material *ma, HitRegion *hr, int abortOnHit=FALSE) |
| |
| CoreExport void | Snap (GraphicsWindow *gw, SnapInfo *snap, IPoint2 *p, Matrix3 &tm) |
| |
| CoreExport void | Snap (GraphicsWindow *gw, SnapInfo *snap, IPoint2 *p, Matrix3 &tm, DWORD flags) |
| |
| CoreExport void | Transform (Matrix3 &tm) |
| | Transforms the vertices of each PolyLine in this PolyShape by the specified matrix. More...
|
| |
| CoreExport int | MakeCap (TimeValue t, MeshCapInfo &capInfo, int capType) |
| | This method may be called to fill in the MeshCapInfo passed with the appropriate capping information. More...
|
| |
| CoreExport int | MakeCap (TimeValue t, PatchCapInfo &capInfo) |
| | This method may be called to fill in the PatchCapInfo passed with the appropriate capping information. More...
|
| |
| CoreExport int | Make3DSCap (MeshCapInfo &capInfo, DWORD options=0) |
| |
| CoreExport int | MakeGridCap (MeshCapInfo &capInfo) |
| |
| CoreExport void | Dump (const MCHAR *title=NULL) |
| | This may be called to display information about the PolyShape to the debug window via DebugPrint(). More...
|
| |
| CoreExport void | UpdateCachedHierarchy () |
| |
| CoreExport ShapeHierarchy & | OrganizeCurves (TimeValue t, ShapeHierarchy *hier=NULL) |
| | This methods looks at the shape organization, and puts together a shape hierarchy. More...
|
| |
| CoreExport void | UpdateSels () |
| | This is a very important call to make. More...
|
| |
| CoreExport void | Reverse (int poly, BOOL keepZero=FALSE) |
| | Reverses the PolyLine whose index is passed. More...
|
| |
| CoreExport void | Reverse (BitArray &reverse, BOOL keepZero=FALSE) |
| | Reverses the splines of this shape if the corresponding bit in reverse is set. More...
|
| |
| CoreExport MtlID | GetMatID (int poly, int piece) |
| | Returns the material ID for the specified segment of the specified poly. More...
|
| |
| CoreExport BitArray | VertexTempSel (int poly) |
| | Constructs a vertex selection list based on the current selection level of the specified poly. More...
|
| |
| CoreExport void | ShallowCopy (PolyShape *ashape, ChannelMask channels) |
| |
| CoreExport void | DeepCopy (PolyShape *ashape, ChannelMask channels) |
| |
| CoreExport void | NewAndCopyChannels (ChannelMask channels) |
| |
| CoreExport void | FreeChannels (ChannelMask channels, int zeroOthers=1) |
| |
| CoreExport IOResult | Save (ISave *isave) |
| |
| CoreExport IOResult | Load (ILoad *iload) |
| |
| CoreExport bool | Delete (const unsigned int *indices, unsigned int n) |
| | Deletes multiple lines at once. More...
|
| |
| CoreExport void | Append (PolyLine *lines, unsigned int n, bool useSwap=false) |
| | Append multiple lines at once. 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...
|
| |