Class NURBSCurveCurveIntersectionPoint

3DS Max Plug-In SDK

Class NURBSCurveCurveIntersectionPoint

See Also: Class NURBSPoint.

class NURBSCurveCurveIntersectionPoint : public NURBSPoint

Description:

This class is available in release 2.0 and later only.

This class is used to create a dependent point at the intersection of two curves.

All methods of this class are implemented by the system.

Data Members:

protected:

NURBSId mParentId[2];

The ids of the two parent curves.

int mParentIndex[2];

The indicies of the two parent curves in the NURBSSet.

BOOL mTrimCurve[2];

Indicates the point that is constrained to the curve may be used to trim the curve.

BOOL mFlipTrim[2];

If TRUE the curve is trimmed from the point towards low parameter space. If FALSE the curve is trimmed from the point towards high parameter space.

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:

NURBSCurveCurveIntersectionPoint();

Remarks:

Constructor. The data members are initialized by value:

mType = kNCurveCurveIntersectionPoint;

mpObject = NULL;

mpNSet = NULL;

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

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

mCurveParam[0] = mCurveParam[1] = 0.0;

mTrimCurve[0] = mTrimCurve[1] = FALSE;

mFlipTrim[0] = mFlipTrim[1] = FALSE;

Prototype:

virtual ~NURBSCurveCurveIntersectionPoint();

Remarks:

Destructor.

Prototype:

double GetCurveParam(int curveNum);

Remarks:

Returns the point in parameter space of the specified curve of the point of intersection.

Parameters:

int curveNum

The parent curve number: 0 or 1.

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

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:

BOOL GetTrimCurve(int pnum);

Remarks:

Returns TRUE if this point is used to trim the specified curve and FALSE if it is not.

Parameters:

int pnum

The parent curve number: 0 or 1.

Prototype:

void SetTrimCurve(int pnum, BOOL trim);

Remarks:

Sets the trim curve boolean for the specified curve.

Parameters:

int pnum

The parent curve number: 0 or 1.

BOOL trim

TRUE to indicate this point is used to trim the curve; FALSE to indicate the curve is not trimmed beyond the point.

Prototype:

BOOL GetFlipTrim(int pnum);

Remarks:

Returns the state of the flip trim boolean.

Parameters:

int pnum

The parent curve number: 0 or 1.

Return Value:

TRUE indicates the specified curve is trimmed from the point towards low parameter space. FALSE indicates the curve is trimmed from the point towards high parameter space.

Prototype:

void SetFlipTrim(int pnum, BOOL flip);

Remarks:

Sets the state of the flip trim boolean for the specified parent curve.

Parameters:

int pnum

The parent curve number: 0 or 1.

BOOL flip

TRUE to indicate the curve is trimmed from the point towards low parameter space. Use FALSE to indicate the curve is trimmed from the point towards high parameter space.

Operators:

Prototype:

NURBSCurveCurveIntersectionPoint & operator=(const NURBSCurveCurveIntersectionPoint &pt);

Remarks:

Assignment operator.

Parameters:

const NURBSCurveCurveIntersectionPoint &pt

The intersection point to assign.