Groups | |
MODELING_COMMIT | |
MODELING_ERROR | |
MODELING_GETNGON_FLAG | |
MODELING_SETNGON_FLAG | |
MODELING_SETPOINT_FLAG | |
TRANSMAP_FLAG | |
TRANSMAP_PLYFLAG | |
TRANSMAP_PNTFLAG | |
Classes | |
struct | PointMove |
struct | TransIndexMapData |
struct | TransMapData |
struct | TransMapNewData |
struct | TransPointInterData |
struct | TransPointDeltaData |
class | TranslationMaps |
class | Modeling |
Macros | |
#define | NOTINDEX |
#define | LIBRARY_MODELLING |
Typedefs | |
typedef Bool(* | TriangulateHook) (BaseObject *pObj, Int32 lNgonID, Ngon *ngon, const Vector *pvPoints, Int32 lPointCount, CPolygon *&pPolys, Int32 &lPolyCount, Bool &bTriang, void *pData) |
#define NOTINDEX |
Invalid index.
#define LIBRARY_MODELLING |
Modeling library ID.
typedef Bool(* TriangulateHook) (BaseObject *pObj, Int32 lNgonID, Ngon *ngon, const Vector *pvPoints, Int32 lPointCount, CPolygon *&pPolys, Int32 &lPolyCount, Bool &bTriang, void *pData) |
Called to triangulate the N-gon in ngon, returning the result in pPolys.
Here is part of a trivial example of a triangulation algorithm that preserves quads:
[in] | pObj | An initialized object. |
[in] | lNgonID | The N-gon ID of ngon. |
[in] | ngon | The N-gon to triangulate. |
[in] | pvPoints | The points of pObj. |
[in] | lPointCount | The array size of pvPoints. |
[out] | pPolys | Always nullptr in the call. Assign the resulting triangulated polygon array here. It should be an array of CPolygon, allocated with NewMemClear(). The caller takes over the ownership of the pointed array. |
[out] | lPolyCount | Assign the size of pPolys here. |
[in] | bTriang | Assign true if ngon was triangulated, otherwise false. |
[in] | pData | The private hook data, passed from Modeling::SetTriangulateHook(). |