This reference page is linked to from the following overview topics: Shape and Spline Principal Classes, Capping a Shape with a Patch.
#include <shape.h>

Public Member Functions |
|
| CoreExport | BezierShape () |
| CoreExport | BezierShape (BezierShape &fromShape) |
| CoreExport void | Init () |
| CoreExport | ~BezierShape () |
| CoreExport BezierShape & | operator= (BezierShape &fromShape) |
| CoreExport BezierShape & | operator= (PolyShape &fromShape) |
| CoreExport Point3 | GetVert (int poly, int i) |
| CoreExport void | SetVert (int poly, int i, const Point3 &xyz) |
| CoreExport void | Render (GraphicsWindow *gw, Material *ma, RECT *rp, int compFlags, int numMat) |
| CoreExport void | RenderGizmo (GraphicsWindow *gw) |
| 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 BOOL | SubObjectHitTest (GraphicsWindow *gw, Material *ma, HitRegion *hr, DWORD flags, SubShapeHitList &hitList) |
| CoreExport void | BuildBoundingBox (void) |
| CoreExport Box3 | GetBoundingBox (Matrix3 *tm=NULL) |
| CoreExport void | InvalidateGeomCache () |
| CoreExport void | InvalidateCapCache () |
| CoreExport void | ShallowCopy (BezierShape *ashape, ChannelMask channels) |
| CoreExport void | DeepCopy (BezierShape *ashape, ChannelMask channels) |
| CoreExport void | NewAndCopyChannels (ChannelMask channels) |
| CoreExport void | FreeChannels (ChannelMask channels, int zeroOthers=1) |
| CoreExport void | SetDispFlag (DWORD f) |
| CoreExport DWORD | GetDispFlag (DWORD f) |
| CoreExport void | ClearDispFlag (DWORD f) |
| CoreExport BitArray | VertexTempSel (int poly, int level=-1) |
| CoreExport BitArray | VertexTempSelAll (int poly=-1, BOOL includeVecs=FALSE, int level=0, BOOL forceSel=FALSE) |
| CoreExport BitArray | VertexFlagSel (int poly, DWORD flag) |
| Constructs a vertex selection list of the
specified poly. |
|
| CoreExport IOResult | Save (ISave *isave) |
| CoreExport IOResult | Load (ILoad *iload) |
| int | SplineCount () |
| CoreExport Spline3D * | GetSpline (int index) |
| CoreExport Spline3D * | NewSpline (int itype=KTYPE_CORNER, int dtype=KTYPE_BEZIER, int ptype=PARM_UNIFORM) |
| CoreExport Spline3D * | AddSpline (Spline3D *spline) |
| CoreExport int | DeleteSpline (int index) |
| CoreExport int | InsertSpline (Spline3D *spline, int index) |
| CoreExport void | NewShape () |
| CoreExport int | GetNumVerts () |
| CoreExport int | GetNumSegs () |
| CoreExport void | GetDeformBBox (TimeValue t, Box3 &box, Matrix3 *tm, BOOL useSel) |
| CoreExport void | UpdateSels (BOOL save=FALSE) |
| CoreExport void | GetClosures (BitArray &array) |
| CoreExport void | SetClosures (BitArray &array) |
| CoreExport float | FindSegmentPoint (int poly, int segment, GraphicsWindow *gw, Material *ma, HitRegion *hr, int ptype=PARAM_SIMPLE) |
| CoreExport void | Reverse (int poly, BOOL keepZero=FALSE) |
| CoreExport void | Reverse (BitArray &reverse, BOOL keepZero=FALSE) |
| CoreExport ShapeHierarchy & | OrganizeCurves (TimeValue t, ShapeHierarchy *hier=NULL) |
| CoreExport void | MakePolyShape (PolyShape &pshp, int steps=-1, BOOL optimize=FALSE) |
| CoreExport void | MakeFirst (int poly, int vertex) |
| CoreExport void | Transform (Matrix3 &tm) |
| CoreExport BezierShape & | operator+= (BezierShape &from) |
| CoreExport void | AddAndWeld (BezierShape &from, float weldThreshold) |
| CoreExport void | ReadyCachedPolyShape () |
| CoreExport int | MakeCap (TimeValue t, MeshCapInfo &capInfo, int capType) |
| CoreExport int | MakeCap (TimeValue t, PatchCapInfo &capInfo) |
| CoreExport int | ReadyPatchCap () |
| CoreExport void | CopyShapeDataFrom (BezierShape &fromShape) |
| CoreExport void | PrepVertBaseIndex () |
| CoreExport int | GetVertIndex (int poly, int vert) |
| CoreExport void | GetPolyAndVert (int index, int &polyOut, int &vertOut) |
| CoreExport int | GetTotalVerts () |
| CoreExport Point3 | GetVert (int index) |
| CoreExport void | SetVert (int index, const Point3 &xyz) |
| CoreExport void | PrepKnotBaseIndex () |
| CoreExport int | GetKnotIndex (int poly, int knot) |
| CoreExport void | GetPolyAndKnot (int index, int &polyOut, int &knotOut) |
| CoreExport int | GetTotalKnots () |
| CoreExport BOOL | DeleteSelVerts (int poly) |
| CoreExport BOOL | DeleteSelSegs (int poly) |
| CoreExport BOOL | DeleteSelectedVerts () |
| CoreExport BOOL | DeleteSelectedSegs () |
| CoreExport BOOL | DeleteSelectedPolys () |
| CoreExport BOOL | CloneSelectedParts (BOOL reverse=FALSE) |
| CoreExport BOOL | RecordTopologyTags (int channel=0) |
| CoreExport Point3 | InterpCurve3D (int poly, float param, int ptype=PARAM_SIMPLE) |
| CoreExport Point3 | TangentCurve3D (int poly, float param, int ptype=PARAM_SIMPLE) |
| CoreExport Point3 | InterpPiece3D (int poly, int piece, float param, int ptype=PARAM_SIMPLE) |
| CoreExport Point3 | TangentPiece3D (int poly, int piece, float param, int ptype=PARAM_SIMPLE) |
| CoreExport MtlID | GetMatID (int poly, int piece) |
| CoreExport float | LengthOfCurve (int poly) |
| CoreExport void | GetTopology (BezierShapeTopology &topo) |
| CoreExport BOOL | PerformTrimOrExtend (IObjParam *ip, ViewExp *vpt, ShapeHitData *hit, IPoint2 &m, ShapeContextCallback &cb, int trimType, int trimInfinite) |
| CoreExport BOOL | SelVertsSameType () |
| CoreExport BOOL | SelSegsSameType () |
| CoreExport BOOL | SelSplinesSameType () |
| CoreExport void | BindKnot (BOOL isEnd, int segIndex, int splineSegID, int splinePointID) |
| CoreExport BOOL | UnbindKnot (int splineID, BOOL isEnd) |
| CoreExport void | UpdateBindList (BOOL useGeometricTracking=FALSE) |
| CoreExport BOOL | HideSelectedSegs () |
| CoreExport BOOL | HideSelectedVerts () |
| CoreExport BOOL | HideSelectedSplines () |
| CoreExport BOOL | UnhideSegs () |
| CoreExport int | UnselectHiddenVerts () |
| CoreExport int | UnselectHiddenSegs () |
| CoreExport int | UnselectHiddenSplines () |
| CoreExport void | SetVertexWeightCount (int i) |
| CoreExport void | SetVertexWeight (int i, float w) |
| CoreExport float | VertexWeight (int i) |
| CoreExport bool | VertexWeightSupport () |
| CoreExport float * | GetVSelectionWeights () |
| CoreExport void | SupportVSelectionWeights () |
| CoreExport int | UseEdgeDists () |
| CoreExport void | SetUseEdgeDists (int edgeDist) |
| CoreExport int | EdgeDist () |
| CoreExport void | SetEdgeDist (int edgeDist) |
| CoreExport int | UseSoftSelections () |
| CoreExport void | SetUseSoftSelections (int useSoftSelections) |
| CoreExport int | AffectBackface () |
| CoreExport void | SetAffectBackface (int affectBackface) |
| CoreExport float | Falloff () |
| CoreExport void | SetFalloff (float falloff) |
| CoreExport float | Pinch () |
| CoreExport void | SetPinch (float pinch) |
| CoreExport float | Bubble () |
| CoreExport void | SetBubble (float bubble) |
| CoreExport void | InvalidateVertexWeights () |
| CoreExport void | UpdateVertexDists () |
| CoreExport void | UpdateEdgeDists () |
| CoreExport void | UpdateVertexWeights () |
| CoreExport bool | DeleteSplines (const unsigned int *indices, unsigned int n) |
| Delete multiple splines at once. |
|
Public Attributes |
|
| PatchCapInfo | patchCap |
| BOOL | patchCapCacheValid |
| Spline3D ** | splines |
| int | splineCount |
| int | steps |
| BOOL | optimize |
| ShapeVSel | vertSel |
| ShapeSSel | segSel |
| ShapePSel | polySel |
| int | bezVecPoly |
| int | bezVecVert |
| DWORD | selLevel |
| DWORD | dispFlags |
| Tab< bindShape > | bindList |
| float * | mpVertexWeights |
| int | numVertexWeights |
| int * | mpVertexEdgeDists |
| float * | mpVertexDists |
| float | mFalloff |
| float | mPinch |
| float | mBubble |
| int | mEdgeDist |
| int | mUseEdgeDist |
| int | mAffectBackface |
| int | mUseSoftSelections |
Friends |
|
| INT_PTR CALLBACK | SplineSelectDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) |
| CoreExport BezierShape | ( | ) |
| CoreExport BezierShape | ( | BezierShape & | fromShape | ) |
| CoreExport ~BezierShape | ( | ) |
| CoreExport void Init | ( | ) |
| CoreExport BezierShape& operator= | ( | BezierShape & | fromShape | ) |
| CoreExport BezierShape& operator= | ( | PolyShape & | fromShape | ) |
| CoreExport Point3 GetVert | ( | int | poly, |
| int | i | ||
| ) |
| CoreExport void SetVert | ( | int | poly, |
| int | i, | ||
| const Point3 & | xyz | ||
| ) |
| CoreExport void Render | ( | GraphicsWindow * | gw, |
| Material * | ma, | ||
| RECT * | rp, | ||
| int | compFlags, | ||
| int | numMat | ||
| ) |
| CoreExport void RenderGizmo | ( | GraphicsWindow * | gw | ) |
| 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 BOOL SubObjectHitTest | ( | GraphicsWindow * | gw, |
| Material * | ma, | ||
| HitRegion * | hr, | ||
| DWORD | flags, | ||
| SubShapeHitList & | hitList | ||
| ) |
| CoreExport void BuildBoundingBox | ( | void | ) |
| CoreExport void InvalidateGeomCache | ( | ) |
| CoreExport void InvalidateCapCache | ( | ) |
| CoreExport void ShallowCopy | ( | BezierShape * | ashape, |
| ChannelMask | channels | ||
| ) |
| CoreExport void DeepCopy | ( | BezierShape * | ashape, |
| ChannelMask | channels | ||
| ) |
| CoreExport void NewAndCopyChannels | ( | ChannelMask | channels | ) |
| CoreExport void FreeChannels | ( | ChannelMask | channels, |
| int | zeroOthers =
1 |
||
| ) |
| CoreExport void SetDispFlag | ( | DWORD | f | ) |
| CoreExport DWORD GetDispFlag | ( | DWORD | f | ) |
| CoreExport void ClearDispFlag | ( | DWORD | f | ) |
| CoreExport BitArray VertexTempSel | ( | int | poly, |
| int | level = -1 |
||
| ) |
| CoreExport BitArray VertexTempSelAll | ( | int | poly = -1, |
| BOOL | includeVecs =
FALSE, |
||
| int | level = 0, |
||
| BOOL | forceSel =
FALSE |
||
| ) |
| CoreExport BitArray VertexFlagSel | ( | int | poly, |
| DWORD | flag | ||
| ) |
Constructs a vertex selection list of the specified poly.
| poly | - Specifies the polygon to construct the list from. |
| flag | - The flag value each vertex will be tested for. |
| int SplineCount | ( | ) | [inline] |
{ return splineCount; }
| CoreExport Spline3D* GetSpline | ( | int | index | ) |
| CoreExport Spline3D* NewSpline | ( | int | itype =
KTYPE_CORNER, |
| int | dtype =
KTYPE_BEZIER, |
||
| int | ptype =
PARM_UNIFORM |
||
| ) |
| CoreExport int DeleteSpline | ( | int | index | ) |
| CoreExport int InsertSpline | ( | Spline3D * | spline, |
| int | index | ||
| ) |
| CoreExport void NewShape | ( | ) |
| CoreExport int GetNumVerts | ( | ) |
| CoreExport int GetNumSegs | ( | ) |
| CoreExport void UpdateSels | ( | BOOL | save = FALSE |
) |
| CoreExport void GetClosures | ( | BitArray & | array | ) |
| CoreExport void SetClosures | ( | BitArray & | array | ) |
| CoreExport float FindSegmentPoint | ( | int | poly, |
| int | segment, | ||
| GraphicsWindow * | gw, | ||
| Material * | ma, | ||
| HitRegion * | hr, | ||
| int | ptype =
PARAM_SIMPLE |
||
| ) |
| CoreExport void Reverse | ( | int | poly, |
| BOOL | keepZero =
FALSE |
||
| ) |
| CoreExport void Reverse | ( | BitArray & | reverse, |
| BOOL | keepZero =
FALSE |
||
| ) |
| CoreExport ShapeHierarchy& OrganizeCurves | ( | TimeValue | t, |
| ShapeHierarchy * | hier = NULL |
||
| ) |
| CoreExport void MakePolyShape | ( | PolyShape & | pshp, |
| int | steps = -1, |
||
| BOOL | optimize =
FALSE |
||
| ) |
| CoreExport void MakeFirst | ( | int | poly, |
| int | vertex | ||
| ) |
| CoreExport void Transform | ( | Matrix3 & | tm | ) |
| CoreExport BezierShape& operator+= | ( | BezierShape & | from | ) |
| CoreExport void AddAndWeld | ( | BezierShape & | from, |
| float | weldThreshold | ||
| ) |
| CoreExport void ReadyCachedPolyShape | ( | ) |
| CoreExport int MakeCap | ( | TimeValue | t, |
| MeshCapInfo & | capInfo, | ||
| int | capType | ||
| ) |
| CoreExport int MakeCap | ( | TimeValue | t, |
| PatchCapInfo & | capInfo | ||
| ) |
| CoreExport int ReadyPatchCap | ( | ) |
| CoreExport void CopyShapeDataFrom | ( | BezierShape & | fromShape | ) |
| CoreExport void PrepVertBaseIndex | ( | ) |
| CoreExport int GetVertIndex | ( | int | poly, |
| int | vert | ||
| ) |
| CoreExport void GetPolyAndVert | ( | int | index, |
| int & | polyOut, | ||
| int & | vertOut | ||
| ) |
| CoreExport int GetTotalVerts | ( | ) |
| CoreExport Point3 GetVert | ( | int | index | ) |
| CoreExport void SetVert | ( | int | index, |
| const Point3 & | xyz | ||
| ) |
| CoreExport void PrepKnotBaseIndex | ( | ) |
| CoreExport int GetKnotIndex | ( | int | poly, |
| int | knot | ||
| ) |
| CoreExport void GetPolyAndKnot | ( | int | index, |
| int & | polyOut, | ||
| int & | knotOut | ||
| ) |
| CoreExport int GetTotalKnots | ( | ) |
| CoreExport BOOL DeleteSelVerts | ( | int | poly | ) |
| CoreExport BOOL DeleteSelSegs | ( | int | poly | ) |
| CoreExport BOOL DeleteSelectedVerts | ( | ) |
| CoreExport BOOL DeleteSelectedSegs | ( | ) |
| CoreExport BOOL DeleteSelectedPolys | ( | ) |
| CoreExport BOOL CloneSelectedParts | ( | BOOL | reverse = FALSE |
) |
| CoreExport BOOL RecordTopologyTags | ( | int | channel = 0 |
) |
| CoreExport Point3 InterpCurve3D | ( | int | poly, |
| float | param, | ||
| int | ptype =
PARAM_SIMPLE |
||
| ) |
| CoreExport Point3 TangentCurve3D | ( | int | poly, |
| float | param, | ||
| int | ptype =
PARAM_SIMPLE |
||
| ) |
| CoreExport Point3 InterpPiece3D | ( | int | poly, |
| int | piece, | ||
| float | param, | ||
| int | ptype =
PARAM_SIMPLE |
||
| ) |
| CoreExport Point3 TangentPiece3D | ( | int | poly, |
| int | piece, | ||
| float | param, | ||
| int | ptype =
PARAM_SIMPLE |
||
| ) |
| CoreExport MtlID GetMatID | ( | int | poly, |
| int | piece | ||
| ) |
| CoreExport float LengthOfCurve | ( | int | poly | ) |
| CoreExport void GetTopology | ( | BezierShapeTopology & | topo | ) |
| CoreExport BOOL PerformTrimOrExtend | ( | IObjParam * | ip, |
| ViewExp * | vpt, | ||
| ShapeHitData * | hit, | ||
| IPoint2 & | m, | ||
| ShapeContextCallback & | cb, | ||
| int | trimType, | ||
| int | trimInfinite | ||
| ) |
| CoreExport BOOL SelVertsSameType | ( | ) |
| CoreExport BOOL SelSegsSameType | ( | ) |
| CoreExport BOOL SelSplinesSameType | ( | ) |
| CoreExport void BindKnot | ( | BOOL | isEnd, |
| int | segIndex, | ||
| int | splineSegID, | ||
| int | splinePointID | ||
| ) |
| CoreExport BOOL UnbindKnot | ( | int | splineID, |
| BOOL | isEnd | ||
| ) |
| CoreExport void UpdateBindList | ( | BOOL | useGeometricTracking =
FALSE |
) |
| CoreExport BOOL HideSelectedSegs | ( | ) |
| CoreExport BOOL HideSelectedVerts | ( | ) |
| CoreExport BOOL HideSelectedSplines | ( | ) |
| CoreExport BOOL UnhideSegs | ( | ) |
| CoreExport int UnselectHiddenVerts | ( | ) |
| CoreExport int UnselectHiddenSegs | ( | ) |
| CoreExport int UnselectHiddenSplines | ( | ) |
| CoreExport void SetVertexWeightCount | ( | int | i | ) |
| CoreExport void SetVertexWeight | ( | int | i, |
| float | w | ||
| ) | [inline] |
{ assert( mpVertexWeights ); if ( i >= numVertexWeights ) return; mpVertexWeights[i] = w; }
| CoreExport float VertexWeight | ( | int | i | ) | [inline] |
{ if ( !mpVertexWeights ) return 0.0f; if ( i >= numVertexWeights ) return 0.0f; return mpVertexWeights[i]; }
| CoreExport bool VertexWeightSupport | ( | ) | [inline] |
{ if ( mpVertexWeights ) return true; return false; }
| CoreExport float* GetVSelectionWeights | ( | ) | [inline] |
{ return mpVertexWeights; }
| CoreExport void SupportVSelectionWeights | ( | ) |
| CoreExport int UseEdgeDists | ( | ) |
| CoreExport void SetUseEdgeDists | ( | int | edgeDist | ) |
| CoreExport int EdgeDist | ( | ) |
| CoreExport void SetEdgeDist | ( | int | edgeDist | ) |
| CoreExport int UseSoftSelections | ( | ) |
| CoreExport void SetUseSoftSelections | ( | int | useSoftSelections | ) |
| CoreExport int AffectBackface | ( | ) |
| CoreExport void SetAffectBackface | ( | int | affectBackface | ) |
| CoreExport float Falloff | ( | ) |
| CoreExport void SetFalloff | ( | float | falloff | ) |
| CoreExport float Pinch | ( | ) |
| CoreExport void SetPinch | ( | float | pinch | ) |
| CoreExport float Bubble | ( | ) |
| CoreExport void SetBubble | ( | float | bubble | ) |
| CoreExport void InvalidateVertexWeights | ( | ) |
| CoreExport void UpdateVertexDists | ( | ) |
| CoreExport void UpdateEdgeDists | ( | ) |
| CoreExport void UpdateVertexWeights | ( | ) |
| CoreExport bool DeleteSplines | ( | const unsigned int * | indices, |
| unsigned int | n | ||
| ) |
Delete multiple splines at once.
Deleting multiple splines at once is faster than deleting one by one by calling DeleteSpline(), because the internal bookkeeping only needs to be done once.
| [in] | indices | Point to an array of indices to delete. Indices should be unique, and sorted in ascending order. |
| [in] | n | Number of entries in the indices array. |
| INT_PTR CALLBACK SplineSelectDlgProc | ( | HWND | hDlg, |
| UINT | message, | ||
| WPARAM | wParam, | ||
| LPARAM | lParam | ||
| ) | [friend] |