Class NURBSProjectVectorCurve

3DS Max Plug-In SDK

Class NURBSProjectVectorCurve

See Also: Class NURBSCurve, Class Point2, Class Point3.

class NURBSProjectVectorCurve : public NURBSCurve

Description:

This class is available in release 2.5 and later only.

This class provides access to the Vector Projected Curve. A Vector Projected curve lies on a surface. This is almost the same as a Normal Projected curve, except that the projection from the existing curve to the surface is in the direction of a vector that you can control. Vector projected curves may be used for trimming.

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:

NURBSProjectVectorCurve(void);

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNProjectVectorCurve;

 mpObject = NULL;

 mpNSet = NULL;

 mParentId[0] = mParentId[1] = 0;

 mParentIndex[0] = mParentIndex[1] = -1;

 mTrim = FALSE;

 mFlipTrim = FALSE;

 mSeed = Point2(0.0, 0.0);

 mPVec = Point3(0.0, 0.0, 1.0);

Prototype:

virtual ~NURBSProjectVectorCurve(void);

Remarks:

Destructor.

Prototype:

void SetParent(int pnum, int index);

Remarks:

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

int index

The index in the NURBSSet of the surface or curve.

Prototype:

void SetParentId(int pnum, NURBSId id);

Remarks:

Sets the surface or curve used by specifying its NURBSId.

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

NURBSId id

The id of the surface or curve.

Prototype:

int GetParent(int pnum);

Remarks:

Returns the index into the NURBSSet of surface or curve used.

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

Prototype:

NURBSId GetParentId(int pnum);

Remarks:

Returns the NURBSId of surface or curve used.

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

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 surface.

Prototype:

void SetSeed(Point2& seed);

Remarks:

Sets the UV location of the seed value on the surface. If there is a choice of projections, the projection closest to the seed point is the one used to create the curve.

Parameters:

Point2& seed

The seed value to set.

Prototype:

void SetPVec(TimeValue t, Point3& pvec);

Remarks:

Sets the projection vector used at the time passed.

Parameters:

TimeValue t

The time at which to set the projection vector.

Point3& pvec

The vector to set.

Prototype:

Point3& GetPVec(TimeValue t);

Remarks:

Returns the projection vector used at the time passed.

Parameters:

TimeValue t

The time at which to get the projection vector.

Prototype:

NURBSProjectVectorCurve & operator=(const NURBSProjectVectorCurve& curve);

Remarks:

Assignment operator.

Parameters:

const NURBSProjectVectorCurve& curve

The curve to assign.