Class NURBSMultiCurveTrimSurface

3DS Max Plug-In SDK

Class NURBSMultiCurveTrimSurface

See Also: Class NURBSSurface.

class NURBSMultiCurveTrimSurface : public NURBSSurface

Description:

This class is available in release 2.5 and later only.

This class provides access to the Multicurve Trim Surface which is a surface that is trimmed by multiple curves forming a loop.

Friend Classes:

friend class NURBSSet

Methods:

protected:

Prototype:

void Clean(NURBSIdTab ids);

Remarks:

This method is available in release 3.0 and later only.

This methods breaks the relation between this NURBSObject and a NURBSSet.

Parameters:

NURBSIdTab ids

A table with the IDs of each object in the NURBSSet.

public:

Prototype:

NURBSMultiCurveTrimSurface();

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNMultiCurveTrimSurface;

 mpObject = NULL;

 mpNSet = NULL;

 mParentId.SetCount(0);

 mParentIndex.SetCount(0);

 mSurfaceId = NULL;

 mSurfaceIndex = -1;

 mFlipTrim = FALSE;

 

Prototype:

virtual ~NURBSMultiCurveTrimSurface();

Remarks:

Destructor.

Prototype:

void SetNumCurves(int num);

Remarks:

Sets the number of curves used for the trim loop.

Parameters:

int num

The number of curves to use.

 

Prototype:

int GetNumCurves(void);

Remarks:

Returns the number of curves used for the trim loop.

Prototype:

int AppendCurve(int index);

Remarks:

Adds the specified curve (using a NURBSSet index) to the end of the list of curves comprising the trim loop.

Parameters:

int index

The index into the NURBSSet of the curve to add.

Return Value:

The number of curves in the loop prior to appending.

Prototype:

int AppendCurve(NURBSId id);

Remarks:

Adds the specified curve (using a NURBSSet index) to the end of the list of curves comprising the trim loop.

Parameters:

NURBSId id

The id to use.

Return Value:

The number of curves in the loop prior to appending.

Prototype:

void SetParent(int pnum, int index);

Remarks:

Sets the specified curve in the trim loop to the curve specified by an index into the NURBSSet.

Parameters:

int pnum

Zero based index of which curve to set.

int index

The index into the NURBSSet of the curve to use.

Prototype:

void SetParentId(int pnum, NURBSId id);

Remarks:

Sets the specified curve in the trim loop to the curve specified by a NURBSId.

Parameters:

int pnum

Zero based index of which curve to set.

NURBSId id

The id of the curve to use.

Prototype:

int GetParent(int pnum);

Remarks:

Returns the index in the NURBSSet of the specified parent object.

Parameters:

int pnum

Zero based index of which curve to get.

Prototype:

NURBSId GetParentId(int pnum);

Remarks:

Returns the NURBSId of the specified curve in the trim loop.

Parameters:

int pnum

Zero based index of which curve to get.

Prototype:

void SetSurfaceParent(int index);

Remarks:

Sets the surface that's trimmed by specifying it's index into the NURBSSet.

Parameters:

int index

The index in the NURBSSet of the surface.

Prototype:

void SetSurfaceParentId(NURBSId id);

Remarks:

Sets the surface that's trimmed by specifying it's NURBSId.

Parameters:

NURBSId id

The id of the surface.

Prototype:

int GetSurfaceParent();

Remarks:

Returns the index in the NURBSSet of the surface that is trimmed.

Prototype:

NURBSId GetSurfaceParentId();

Remarks:

Returns the NURBSId of the surface that's trimmed.

Prototype:

BOOL GetFlipTrim();

Remarks:

Returns the state of the flip trim flag. This controls which side of the curve is trimmed from the surface.

Prototype:

void SetFlipTrim(BOOL flip);

Remarks:

Sets the state of the flip trim flag.

Parameters:

BOOL flip

TRUE to flip; FALSE to not flip.

Operators:

Prototype:

NURBSMultiCurveTrimSurface & operator=(const NURBSMultiCurveTrimSurface& surf);

Remarks:

Assignment operator.

Parameters:

const NURBSMultiCurveTrimSurface& surf

The surface to assign.