Class NURBSIsoCurve

3DS Max Plug-In SDK

Class NURBSIsoCurve

See Also: Class NURBSCurve.

class NURBSIsoCurve : public NURBSCurve

Description:

This class is available in release 2.0 and later only.

This class defines a dependent iso curve. U and V iso curves are dependent curves created along lines of constant parameter value of a NURBS surface. Note the difference between "Iso Lines", which are a display artifact, and "Iso Curves" which are the dependent objects. There are methods available to get/set the parent surface index and id, get/set the direction of the iso curve, and get/set the parameter which determines the location on the surface the curve matches.

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:

NURBSIsoCurve();

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNIsoCurve;

 mpObject = NULL;

 mpNSet = NULL;

 mParentId = 0;

 mParentIndex = -1;

 mIsU = TRUE;

 mParam = 0.0;

 mTrim = FALSE;

 mFlipTrim = FALSE;

 mSeed = Point2(0.0, 0.0);

Prototype:

~NURBSIsoCurve();

Remarks:

Destructor.

Prototype:

void SetParent(int index);

Remarks:

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

Parameters:

int index

The index into the NURBSSet of the parent surface.

Prototype:

void SetParentId(NURBSId id);

Remarks:

Sets the NURBSId of the specified parent.

Parameters:

NURBSId id

The id to set.

Prototype:

int GetParent();

Remarks:

Returns the index in the NURBSSet of the parent object.

Prototype:

NURBSId GetParentId();

Remarks:

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

Prototype:

void SetDirection(BOOL isU);

Remarks:

Sets the direction of the iso curve, either U or V.

Parameters:

BOOL isU

TRUE for U; FALSE for V.

Prototype:

BOOL GetDirection();

Remarks:

Returns TRUE if the iso curve is in the U direction; FALSE for the V direction.

Prototype:

void SetParam(TimeValue t, double p);

Remarks:

Sets the parameter which determines where on the surface the iso curve is defined.

Parameters:

TimeValue t

The time at which to evaluate the surface.

double p

The parameter defining the location on the surface.

Prototype:

double GetParam(TimeValue t);

Remarks:

Returns the parameter which determines where on the surface the iso curve is defined.

Parameters:

TimeValue t

The time at which to evaluate the surface.

Prototype:

BOOL GetTrim();

Remarks:

Returns the state of the trim flag. When set the surface is trimmed against the curve. When not set, the surface isn’t trimmed

Prototype:

void SetTrim(BOOL trim);

Remarks:

Sets the state of the trim flag. When set the surface is trimmed against the curve. When not set, the surface isn’t trimmed

Parameters:

BOOL trim

TRUE to trim; FALSE to not trim.

Prototype:

BOOL GetFlipTrim();

Remarks:

Returns the state of the trim flip flag. When set this trims the surface in the opposite direction

Prototype:

void SetFlipTrim(BOOL flip);

Remarks:

Sets the state of the trim flip flag. When set this trims the surface in the opposite direction

Parameters:

BOOL flip

TRUE to flip; FALSE to not flip.

Prototype:

Point2 GetSeed();

Remarks:

Returns the UV location of the seed value on the curve.

Prototype:

void SetSeed(Point2& seed);

Remarks:

Sets the UV location of the seed value on the curve.

Parameters:

Point2& seed

The seed value to set.

Operators:

Prototype:

NURBSIsoCurve & operator=(const NURBSIsoCurve& curve);

Remarks:

Assignment operator.

Parameters:

const NURBSIsoCurve& curve

The curve to assign.