Class NURBSExtrudeSurface

3DS Max Plug-In SDK

Class NURBSExtrudeSurface

See Also: Class NURBSSurface.

class NURBSExtrudeSurface : public NURBSSurface

Description:

This class is available in release 2.0 and later only.

This class defines a dependent extrude surface. An extrude surface is extruded from a curve sub-object. It is similar to a surface created with the Extrude modifier. The advantage is that an extrude sub-object is part of the NURBS model, so you can use it to construct other curve and surface sub-objects. Methods are available to get/set the parent index and id, get/set the extrusion vector and get/set the extrusion distance.

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:

NURBSExtrudeSurface();

Remarks:

Constructor. The data members are initialized as follows:

 mType = kNExtrudeSurface;

 mpObject = NULL;

 mpNSet = NULL;

 mParentId = 0;

 mParentIndex = -1;

 mXForm.IdentityMatrix();

 mDistance = 0.0;

 mCurveStartParam = 0.0;

Prototype:

virtual ~NURBSExtrudeSurface();

Remarks:

Destructor.

Prototype:

void SetParent(int index);

Remarks:

Sets the index in the NURBSSet of the 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 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 SetAxis(TimeValue t, Matrix3& ray);

Remarks:

This method is available in release 3.0 and later only.

Sets the extrusion axis at the specified time.

Parameters:

TimeValue t

The time at which to set the axis system.

Matrix3& ray

The extrusion axis.

Prototype:

Matrix3& GetAxis(TimeValue t);

Remarks:

This method is available in release 3.0 and later only.

Returns the extrusion axis at the specified time.

Parameters:

TimeValue t

The time at which to get the axis.

Prototype:

void SetDistance(TimeValue t, double d);

Remarks:

Sets the length of the extrudion at the specified time.

Parameters:

TimeValue t

The time at which to set the distance.

double d

The distance to set.

Prototype:

double GetDistance(TimeValue t);

Remarks:

Returns the length of the extrudion at the specified time.

Parameters:

TimeValue t

The time at which to return the distance.

Prototype:

void SetCurveStartPoint(TimeValue t, double startpoint);

Remarks:

This method is available in release 3.0 and later only.

Sets the start point at the specified time.

Parameters:

TimeValue t

The time at which to set the start point.

double startpoint

The start point in the range 0.0 to 1.0.

Prototype:

double GetCurveStartPoint(TimeValue t);

Remarks:

This method is available in release 3.0 and later only.

Returns the start point at the specified time.

Parameters:

TimeValue t

The time at which to get the start point.

Operators:

Prototype:

NURBSExtrudeSurface & operator=(const NURBSExtrudeSurface& surf);

Remarks:

Assignment operator.

Parameters:

const NURBSExtrudeSurface& surf

The surface to assign.