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