Shape and Spline Principal Classes
The following are the main classes used when working with shapes and splines:
ShapeObject
- These are open or closed hierarchical shape objects. This is the base class thatSimpleSpline
,SimpleShape
,SplineShape
, andLinearShape
are derived from. This class is defined in\\MAXSDK
\INCLUDE\OBJECT.H.SplineShape
- TheSplineShape
is the shape object flows down the geometry pipeline of 3ds Max. TheSplineShape
contains aBezierShape
. ASplineShape
and its containedBezierShape
are analogous to aTriObject
which flows down the pipeline and itsMesh
. This class is defined in\\MAXSDK
\INCLUDE\SPLSHAPE.H.BezierShape
- TheBezierShape
is effectively a collection of Bezier Splines. For example, the 3ds Max Donut object has two splines in a hierarchy to make a shape. TheBezierShape
contains these splines. TheBezierShape
is analogous to theMesh
of theTriObject
. This class is defined in\\MAXSDK
\INCLUDE\SHAPE.H.Spline3D
- This is a general 3D spline class. TheBezierShape
class has a list of these splines that make up the bezier shape. This class is defined in\\MAXSDK
\INCLUDE\SPLINE3D.H.PolyShape
- This class is used in the caching of bezier shapes. This is used for doing a one time interpolation of a bezier shape into a form that is the same shape but doesn't require any further interpolation. In this way the system can do the complex calculations once, store the shape into thisPolyShape
representation, and not have to go through the cubic spline calculations to figure out where the points are in the future. This class maintains an array ofPolyLines
. This class is defined in\\MAXSDK
\INCLUDE\POLYSHP.H.PolyLine
- This class describes a single polygon in aPolyShape
using linear segments. This class is defined in\\MAXSDK
\INCLUDE\POLYSHP.H.SimpleSpline
- This is a class used in the creation of shape plugins. Most of the 3ds Max shapes and splines are derived from this class. For example, Line, Arc, Circle, Ellipse and Star are allSimpleSplines
. This class is defined in\\MAXSDK
\INCLUDE\SIMPSPL.H.SimpleShape
- This class is used to make procedural shape primitives easier to create. The 3ds Max Helix procedural shape is derived from this class. It's defined in\\MAXSDK
\INCLUDE\SIMPSHP.H.LinearShape
- This class is similar to aSplineShape
except this class uses aPolyShape
as its data while aSplineShape
uses aBezierShape
as its data. Therefore this is a shape made up of entirely linear segments. This class is defined in\\MAXSDK
\INCLUDE\LINSHAPE.H.