Class SplineShape

3DS Max Plug-In SDK

Class SplineShape

See Also: Class ShapeObject, Class BezierShape, Working with Shapes and Splines.

class SplineShape : public ShapeObject, ISplineOps, ISplineSelect, ISplineSelectData, ISubMtlAPI, AttachMatDlgUser

Description:

Defines a spline object class. The SplineShape is the object that flows down the 3ds max geometry pipeline. This class is a container for the BezierShape shape. All methods of this class are implemented by the system.

Spline Shape plug-ins use a Super Class ID of SHAPE_CLASS_ID.

Data Members:

public:

BezierShape shape;

The shapes of this SplineShape.

Methods:

Prototype:

SplineShape();

Remarks:

Constructor. Initialize the member variables.

Prototype:

~SplineShape();

Remarks:

Destructor.

Prototype:

BezierShape& GetShape();

Remarks:

Returns the BezierShape data member maintained by this class.

Prototype:

void SelectBySegment(BOOL interactive = TRUE);

Remarks:

This method is available in release 4.0 and later only.

This method operates in vertex level only, and sets the vertex selection set based on the segments that are selected. Any vertex which is part of a selected segment will be selected.

Parameters:

BOOL interactive

If set to FALSE, an Undo object is not created and the method does not initiate a redraw.

Prototype:

void SelectBySpline(BOOL interactive = TRUE);

Remarks:

This method is available in release 4.0 and later only.

This method operates in vertex and segment level only, and sets the vertex or segment selection set based on the splines that are selected. If in vertex mode, any vertex which is part of a selected spline will be selected. If in segment mode, any segment whcich is part of a selected spline will be selected.

Parameters:

BOOL interactive

If set to FALSE, an Undo object is not created and the method does not initiate a redraw.

Prototype:

virtual void GetUIParam(splineUIParam uiCode, int &ret);

Remarks:

This method is available in release 4.0 and later only.

This method allows you to get the edit spline parameters from the command panel. Currently not in use.

Parameters:

splineUIParam uiCode

This enum is currently empty.

int &ret

The returned value.

Default Implementation:

{ }

Prototype:

virtual void SetUIParam(splineUIParam uiCode, int val);

Remarks:

This method is available in release 4.0 and later only.

This method allows you to set the edit spline parameters from the command panel. Currently not in use.

Parameters:

splineUIParam uiCode

This enum is currently empty.

int val

The value to set.

Default Implementation:

{ }

Prototype:

virtual void GetUIParam(splineUIParam uiCode, float &ret);

Remarks:

This method is available in release 4.0 and later only.

This method allows you to get the edit spline parameters from the command panel. Currently not in use.

Parameters:

splineUIParam uiCode

This enum is currently empty.

float &ret

The returned value.

Default Implementation:

{ }

Prototype:

virtual void SetUIParam(splineUIParam uiCode, float val);

Remarks:

This method is available in release 4.0 and later only.

This method allows you to set the edit spline parameters from the command panel. Currently not in use.

Parameters:

splineUIParam uiCode

This enum is currently empty.

float val

The value to set.

Default Implementation:

{ }

Prototype:

bool Editing();

Remarks:

This method is available in release 4.0 and later only.

This method will return TRUE if the SplineShape object or Edit Spline modifier is active in the command panel.

Default Implementation:

{ return (ip && (editObj==this)) ? TRUE : FALSE; }