Class NURBSFilletCurve

3DS Max Plug-In SDK

Class NURBSFilletCurve

See Also: Class NURBSCurve.

class NURBSFilletCurve : public NURBSCurve

Description:

This class is available in release 2.0 and later only.

This class defines a dependent fillet curve. A fillet is a curve that creates a circular arc corner between two parent curves. Methods are available to get/set the parent indices and ids, get/set the trim state of the curves, get/set which ends of the curves are used, and get/set the radius of the fillet.

All methods of this class are implemented by the system.

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:

NURBSFilletCurve();

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNFilletCurve;

 mpObject = NULL;

 mpNSet = NULL;

 mRadius = 10.0;

 for (int i = 0; i < 2; i++) {

  mParentId[i] = 0;

  mParentIndex[i] = -1;

  mParentEnd[i] = TRUE;

  mTrimCurve[i] = TRUE;

  mFlipTrim[i] = FALSE;

 }

Prototype:

~NURBSFilletCurve();

Remarks:

Destructor.

Prototype:

void SetParent(int pnum, int index);

Remarks:

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

Parameters:

int pnum

The parent number: 0 or 1.

int index

The index into the NURBSSet of the parent curve.

Prototype:

void SetParentId(int pnum, NURBSId id);

Remarks:

Sets the NURBSId of the specified parent.

Parameters:

int pnum

The parent number: 0 or 1.

NURBSId id

The id to set.

Prototype:

int GetParent(int pnum);

Remarks:

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

Parameters:

int pnum

The parent number: 0 or 1.

Prototype:

NURBSId GetParentId(int pnum);

Remarks:

Returns the NURBSId of the specified parent. Note that a NURBSId won't be valid until the object has been instantiated in the scene.

Parameters:

int pnum

The parent number: 0 or 1.

Prototype:

void SetEnd(int pnum, BOOL end);

Remarks:

Parameters:

int pnum

The parent number: 0 or 1.

BOOL end

TRUE to use the end of the curve; FALSE to use the beginning.

Prototype:

BOOL GetEnd(int pnum);

Remarks:

Returns which end of the specified curve is used for the fillet. TRUE if the end of the curve is used; FALSE if the beginning is used.

Parameters:

int pnum

The parent curve number: 0 or 1.

Prototype:

void SetRadius(TimeValue t, double radius);

Remarks:

Sets the radius for the fillet at the specified time.

Parameters:

TimeValue t

The time at which to set the radius value.

double radius

The radius to set.

Prototype:

double GetRadius(TimeValue t);

Remarks:

Returns the radius of the fillet at the specified time.

Parameters:

TimeValue t

The time to return the fillet value.

Prototype:

void SetTrimCurve(int pnum, BOOL trim);

Remarks:

Sets if the specified curve is trimmed beyond the fillet.

Parameters:

int pnum

The parent curve number: 0 or 1.

BOOL trim

TRUE to trim the curve beyond the fillet; otherwise FALSE.

Prototype:

BOOL GetTrimCurve(int pnum);

Remarks:

Determines if the specified curve is trimmed beyond the fillet. TRUE if the curve is trimmed; otherwise FALSE.

Parameters:

int pnum

The parent curve number: 0 or 1.

Prototype:

BOOL GetFlipTrim(int pnum);

Remarks:

Returns the flip state for the specified curve.

Parameters:

int pnum

The parent curve number: 0 or 1.

Return Value:

TRUE if flip is set; FALSE it not.

Prototype:

void SetFlipTrim(int pnum, BOOL flip);

Remarks:

Sets the flip state for the specified curve.

Parameters:

int pnum

The parent curve number: 0 or 1.

BOOL flip

TRUE to flip; FALSE to not flip.

Operators:

Prototype:

NURBSFilletCurve & operator=(const NURBSFilletCurve& curve);

Remarks:

Assignment operator.

Parameters:

const NURBSFilletCurve& curve

The curve to assign.