Class NURBSSurfSurfIntersectionCurve

3DS Max Plug-In SDK

Class NURBSSurfSurfIntersectionCurve

See Also: Class NURBSCurve, Class Point2.

class NURBSSurfSurfIntersectionCurve : public NURBSCurve

Description:

This class is available in release 2.5 and later only.

This class provides access to the Surface-Surface Intersection Curve. This is a curve that is defined by the intersection of two surfaces. You can use surface-surface intersection curves 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:

NURBSSurfSurfIntersectionCurve(void);

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNSurfSurfIntersectionCurve;

 mpObject = NULL;

 mpNSet = NULL;

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

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

 mTrim[0] = mTrim[1] = FALSE;

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

 mSeed = Point2(0.0, 0.0);

Prototype:

virtual ~NURBSSurfSurfIntersectionCurve(void);

Remarks:

Destructor.

Prototype:

void SetParent(int pnum, int index);

Remarks:

Sets the surface or curve by specifying its index into the NURBSSet.

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

int index

The index into the NURBSSet of the object to set.

Prototype:

void SetParentId(int pnum, NURBSId id);

Remarks:

Sets the surface or curve by specifying its index into the NURBSSet.

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

NURBSId id

The id of the object to set.

Prototype:

int GetParent(int pnum);

Remarks:

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

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

Prototype:

NURBSId GetParentId(int pnum);

Remarks:

Returns the NURBSId of the curve or surface.

Parameters:

int pnum

Pass 0 for the surface and 1 for the curve.

Prototype:

BOOL GetTrim(int tnum);

Remarks:

Returns the state of the specified trim flag. When on, the surface is trimmed against the intersection curve. When off, the surface isn’t trimmed.

Parameters:

int tnum

Passing 0 trims the first parent surface, and passing 1 trims the second parent surface

Prototype:

void SetTrim(int tnum, BOOL trim);

Remarks:

Sets the state of the specified trim flag. When on, the surface is trimmed against the intersection curve. When off, the surface isn’t trimmed.

Parameters:

int tnum

Passing 0 trims the first parent surface, and passing 1 trims the second parent surface

BOOL trim

TRUE to trim; FALSE to not trim.

Prototype:

BOOL GetFlipTrim(int tnum);

Remarks:

Returns the state of the trim flip flag. When on, the specified surface is trimmed in the opposite direction.

Parameters:

int tnum

0 for the first surface; 1 for the second surface.

Prototype:

void SetFlipTrim(int tnum, BOOL flip);

Remarks:

Sets the state of the trim flip flag. When on, the specified surface is trimmed in the opposite direction.

Parameters:

int tnum

0 for the first surface; 1 for the second surface.

BOOL flip

TRUE to flip; FALSE not to flip.

Prototype:

void SetSeed(Point2& seed);

Remarks:

Change the UV location of the seed value on the first surface. If there is a choice of intersections, the intersection closest to the seed point is the one used to create the curve.

Parameters:

Point2& seed

The UV location.

Prototype:

Point2 GetSeed();

Remarks:

Returns the UV location of the seed value on the first surface. If there is a choice of intersections, the intersection closest to the seed point is the one used to create the curve.

Prototype:

NURBSSurfSurfIntersectionCurve & operator=(const NURBSSurfSurfIntersectionCurve& curve);

Remarks:

Assignment operator.

Parameters:

const NURBSSurfSurfIntersectionCurve& curve

The curve to assign.