Classes | Defines

spline3d.h File Reference

#include "maxheap.h"
#include "polyshp.h"
#include "GraphicsConstants.h"

Go to the source code of this file.

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...

Defines

#define  BEZ_SHAPE_KNOT   (1<<0)
  A knot point.
#define  BEZ_SHAPE_INTERPOLATED   (1<<1)
  An interpolated point between two knots.
#define  LTYPE_CURVE   0
  Specifies that the segment should interpolate based on the bezier handles for the segment.
#define  LTYPE_LINE   1
  Specifies that the segment should go straight from knot to knot and ignore the bezier handles.
#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.
#define  KTYPE_CORNER   1
  Produces a sharp corner.
#define  KTYPE_BEZIER   2
  This knot type produces bezier handles that are collinear (the bezier vectors coming out of the knot are collinear).
#define  KTYPE_BEZIER_CORNER   (KTYPE_BEZIER | KTYPE_CORNER)
  This knot type has bezier handles but they are not constrained to be opposite each other.
#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.
#define  DRAW_INITIAL_BEZ_ADJ   11
#define  DRAW_DRAGGING_VECTOR   22
#define  SPLINE_INTERP_SIMPLE   0
  Parameter space based on segments.
#define  SPLINE_INTERP_NORMALIZED   1
  Parameter space normalized to curve length.
#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.
#define  SPLINE_CLOSED   (1<<0)
#define  SPLINE_ORTHOG   (1<<1)

Define Documentation

#define SPLINE_MATID_SHIFT   16

The mat ID is stored in the HIWORD of the knot flags.

Definition at line 113 of file spline3d.h.

#define SPLINE_MATID_MASK   0xFFFF

The mat ID is stored in the HIWORD of the knot flags.

Definition at line 114 of file spline3d.h.

#define SEGMENT_VISIBLE   (1<<0)

Definition at line 116 of file spline3d.h.

#define SPLINEKNOT_NO_SNAP   (1<<1)

Suppresses snapping to knot if set.

Definition at line 117 of file spline3d.h.

#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

Definition at line 125 of file spline3d.h.