Class NURBSCurveSurfaceIntersectionPoint

3DS Max Plug-In SDK

Class NURBSCurveSurfaceIntersectionPoint

See Also: Class NURBSPoint.

class NURBSCurveSurfaceIntersectionPoint : public NURBSPoint

Description:

This class is available in release 2.5 and later only.

This class is used to create a dependent point at the intersection of a curve and a surface.

Data Members:

protected:

NURBSId mParentId[2];

The NURBSIds of the parent surface and curve. Parent 0 should be the surface parent 1 should be the curve.

int mParentIndex[2];

The NURBSSet indexes of the parent surface and curve. Parent 0 should be the surface parent 1 should be the curve.

double mSeed;

The seed location is a U position along the length of the parent curve.

BOOL mTrimCurve;

The trim curve flag.

BOOL mFlipTrim;

The trim flip flag.

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:

NURBSCurveSurfaceIntersectionPoint(void);

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNCurveSurfaceIntersectionPoint;

 mpObject = NULL;

 mpNSet = NULL;

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

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

 mSeed = 0.5;

 mTrimCurve = FALSE;

 mFlipTrim = FALSE;

Prototype:

virtual ~NURBSCurveSurfaceIntersectionPoint(void);

Remarks:

Destructor.

Prototype:

void SetSeed(double seed);

Remarks:

Sets the seed value.

Parameters:

double seed

The U position along the length of the parent curve.

Prototype:

double GetSeed();

Remarks:

Returns the seed value.

Prototype:

void SetParent(int pnum, int index);

Remarks:

Establishes the curve or surface used by specifying its index in the NURBSSet.

Parameters:

int pnum

Pass 0 for the surface; 1 for the curve.

int index

The index in the NURBSSet of the curve or surface.

Prototype:

void SetParentId(int pnum, NURBSId id);

Remarks:

Establishes the curve or surface used by specifying its NURBSId.

Parameters:

int pnum

Pass 0 for the surface; 1 for the curve.

NURBSId id

The id to set.

Prototype:

int GetParent(int pnum);

Remarks:

Returns the index in the NURBSSet of the parent curve or surface.

Parameters:

int pnum

Pass 0 for the surface; 1 for the curve.

Prototype:

NURBSId GetParentId(int pnum);

Remarks:

Returns the NURBSId of the parent curve or surface.

Parameters:

int pnum

Pass 0 for the surface; 1 for the curve.

Prototype:

BOOL GetTrimCurve();

Remarks:

Returns the state of the trim curve flag. TRUE causes trimming; FALSE does not.

Prototype:

void SetTrimCurve(BOOL trim);

Remarks:

Sets the state of the trim curve flag.

Parameters:

BOOL trim

TRUE to trim; FALSE to not trim.

Prototype:

BOOL GetFlipTrim();

Remarks:

Returns the state of the trim flip flag. TRUE for flipped; FALSE for not flipped.

Prototype:

void SetFlipTrim(BOOL flip);

Remarks:

Sets the state of the trim flip flag.

Parameters:

BOOL flip

TRUE to flip; FALSE to not flip.

Prototype:

NURBSCurveSurfaceIntersectionPoint & operator=(const NURBSCurveSurfaceIntersectionPoint &pt);

Remarks:

Assignment operator.

Parameters:

const NURBSCurveSurfaceIntersectionPoint &pt

The point to assign.