3ds Max C++ API Reference
|
Classes | |
class | SplinePoint |
Provides the vertex-level point information for the Spline3D class. More... | |
class | SplineKnotAssy |
Used for the internal storage of spline knot assemblies in the Spline3D class. More... | |
class | SplineKnot |
Describes a single knot in a spline. More... | |
class | Spline3D |
General-purpose 3D spline class. More... | |
Macros | |
#define | BEZ_SHAPE_KNOT (1<<0) |
A knot point. More... | |
#define | BEZ_SHAPE_INTERPOLATED (1<<1) |
An interpolated point between two knots. More... | |
#define | LTYPE_CURVE 0 |
Specifies that the segment should interpolate based on the bezier handles for the segment. More... | |
#define | LTYPE_LINE 1 |
Specifies that the segment should go straight from knot to knot and ignore the bezier handles. More... | |
#define | CURVE_CURVE (LTYPE_CURVE | (LTYPE_CURVE<<2)) |
#define | LINE_CURVE (LTYPE_LINE | (LTYPE_CURVE<<2)) |
#define | CURVE_LINE (LTYPE_CURVE | (LTYPE_LINE<<2)) |
#define | LINE_LINE (LTYPE_LINE | (LTYPE_LINE<<2)) |
#define | KTYPE_AUTO 0 |
Produces the bezier handles automatically to produce a smooth curve. More... | |
#define | KTYPE_CORNER 1 |
Produces a sharp corner. More... | |
#define | KTYPE_BEZIER 2 |
This knot type produces bezier handles that are collinear (the bezier vectors coming out of the knot are collinear). More... | |
#define | KTYPE_BEZIER_CORNER (KTYPE_BEZIER | KTYPE_CORNER) |
This knot type has bezier handles but they are not constrained to be opposite each other. More... | |
#define | KTYPE_RESET 4 |
#define | PARM_UNIFORM 0 |
#define | PARM_ARCLENGTH 1 |
#define | PARM_CENTRIPETAL 2 |
#define | PARM_CUSTOM 3 |
#define | DRAW_IDLE 0 |
#define | DRAW_INITIAL_MOUSE_DOWN 1 |
#define | DRAW_FREEMOVE_POINT 2 |
#define | DRAW_FREEMOVE_POINT_MOUSE_DOWN 3 |
Inserting's initial click inside spline. More... | |
#define | DRAW_INITIAL_BEZ_ADJ 11 |
#define | DRAW_DRAGGING_VECTOR 22 |
#define | SPLINE_INTERP_SIMPLE 0 |
Parameter space based on segments. More... | |
#define | SPLINE_INTERP_NORMALIZED 1 |
Parameter space normalized to curve length. More... | |
#define | SPLINE_MATID_SHIFT 16 |
The mat ID is stored in the HIWORD of the knot flags. More... | |
#define | SPLINE_MATID_MASK 0xFFFF |
The mat ID is stored in the HIWORD of the knot flags. More... | |
#define | SEGMENT_VISIBLE (1<<0) |
#define | SPLINEKNOT_NO_SNAP (1<<1) |
Suppresses snapping to knot if set. More... | |
#define | SPLINEKNOT_ADD_SEL (1<<2) |
Primarily for internal use, and is designed for the new "connect copy" feature of spline segments. More... | |
#define | SPLINEKNOT_USER1 (1 << 8) |
Developer-defined knot flags Flag bits 8-15 are reserved for use by developers. More... | |
#define | SPLINEKNOT_USER2 (1 << 9) |
#define | SPLINEKNOT_USER3 (1 << 10) |
#define | SPLINEKNOT_USER4 (1 << 11) |
#define | SPLINEKNOT_USER5 (1 << 12) |
#define | SPLINEKNOT_USER6 (1 << 13) |
#define | SPLINEKNOT_USER7 (1 << 14) |
#define | SPLINEKNOT_USER8 (1 << 15) |
#define | SPLINEKNOT_USERFLAGS (SPLINEKNOT_USER1 | SPLINEKNOT_USER2 | SPLINEKNOT_USER3 | SPLINEKNOT_USER4 | SPLINEKNOT_USER5 | SPLINEKNOT_USER6 | SPLINEKNOT_USER7 | SPLINEKNOT_USER8) |
#define | SPLINE_CLOSED (1<<0) |
#define | SPLINE_ORTHOG (1<<1) |
#define | SPLINE_COMPUTE_BEZ_IN_USE (1<<2) |
#define SPLINE_MATID_SHIFT 16 |
The mat ID is stored in the HIWORD of the knot flags.
#define SPLINE_MATID_MASK 0xFFFF |
The mat ID is stored in the HIWORD of the knot flags.
#define SEGMENT_VISIBLE (1<<0) |
#define SPLINEKNOT_NO_SNAP (1<<1) |
Suppresses snapping to knot if set.
#define SPLINEKNOT_ADD_SEL (1<<2) |
Primarily for internal use, and is designed for the new "connect copy" feature of spline segments.
The method XFormVerts() normally operates on the selected knots (or the knots of selected spline segments), but if the knots have the SPLINEKNOT_ADD_SEL flag set, and the SplineShape also has the ES_ADDED_SELECT flag set, then those additional knots will be affected as well. Additional selection for transformation
#define SPLINEKNOT_USER1 (1 << 8) |
Developer-defined knot flags Flag bits 8-15 are reserved for use by developers.
These bits should only be used temporarily, since other developers may also use them for other purposes.
#define SPLINEKNOT_USER2 (1 << 9) |
#define SPLINEKNOT_USER3 (1 << 10) |
#define SPLINEKNOT_USER4 (1 << 11) |
#define SPLINEKNOT_USER5 (1 << 12) |
#define SPLINEKNOT_USER6 (1 << 13) |
#define SPLINEKNOT_USER7 (1 << 14) |
#define SPLINEKNOT_USER8 (1 << 15) |
#define SPLINEKNOT_USERFLAGS (SPLINEKNOT_USER1 | SPLINEKNOT_USER2 | SPLINEKNOT_USER3 | SPLINEKNOT_USER4 | SPLINEKNOT_USER5 | SPLINEKNOT_USER6 | SPLINEKNOT_USER7 | SPLINEKNOT_USER8) |