3ds Max C++ API Reference
Predefined PolyPt Flags

Developers can use bits 0-7 of the flags for their own use. More...

Macros

#define POLYPT_KNOT   (1 << 8)
 Indicates if this point in the PolyLine corresponds to a knot in the original spline. More...
 
#define POLYPT_INTERPOLATED   (1 << 9)
 Indicates that the point is an interpolated point and not a knot. More...
 
#define POLYPT_SMOOTH   (1 << 10)
 Indicates that the point is part of a smooth transition. More...
 
#define POLYPT_SEG_SELECTED   (1 << 11)
 The segment that starts with this point is selected. More...
 
#define POLYPT_BRIDGE   (1 << 16)
 
#define POLYPT_SPLICE   (1 << 17)
 
#define POLYPT_VISEDGE   (1 << 18)
 
#define POLYPT_NO_SPLICE   (1 << 19)
 
#define POLYPT_INVIS_EDGE    (1 << 20)
 
#define POLYPT_NO_SNAP   (1 << 21)
 

Detailed Description

Developers can use bits 0-7 of the flags for their own use.

Bits 8 and above are used by the system. If you are converting some other type of shape or spline to a PolyShape (and thus PolyLines) you can set certain flags to make things operate smoother. These flags are described here.

Macro Definition Documentation

◆ POLYPT_KNOT

#define POLYPT_KNOT   (1 << 8)

Indicates if this point in the PolyLine corresponds to a knot in the original spline.

For example if you had a circle that was a bezier spline it should have four of the points in the PolyLine designated as POLYPT_KNOT. These are the points at the 12 o'clock, 3 o'clock, 6 o'clock and 9 o'clock positions. Then all the other points would be POLYPT_INTERPOLATED. This is used to make capping more efficient, for example, the system generally tries to attach to a knot when making connections between polygons.

◆ POLYPT_INTERPOLATED

#define POLYPT_INTERPOLATED   (1 << 9)

Indicates that the point is an interpolated point and not a knot.

Can be used to make capping more efficient. Use it if your class converts to a PolyLine. For example, the system generally tries to attach to a knot when making connections between polygons

◆ POLYPT_SMOOTH

#define POLYPT_SMOOTH   (1 << 10)

Indicates that the point is part of a smooth transition.

If you convert to a PolyLine, use this bit to control smoothing of the resulting shape. Having this bit set to 1 means that any mesh generated will share smoothing across the edge. For example, all the points on a curved section of a spline between knots will have this flag set. Depending on the knot type (if it's a corner or bezier corner) this smooth flag might not be set. If this shape is then extruded or lofted this information is used to determine smoothing groups. As a conclusion, if this flag is set it will generate a smooth transition. If this bit is not set, it will generate a sharp corner.

◆ POLYPT_SEG_SELECTED

#define POLYPT_SEG_SELECTED   (1 << 11)

The segment that starts with this point is selected.

This is used in the drawing routines so that PolyShapes generated from BezierShapes will still have the selected segments drawn in the selected color.

◆ POLYPT_BRIDGE

#define POLYPT_BRIDGE   (1 << 16)

Span between two polygons. Used internally by capping code.

◆ POLYPT_SPLICE

#define POLYPT_SPLICE   (1 << 17)

Point is endpoint of a bridge. Used internally by capping code.

◆ POLYPT_VISEDGE

#define POLYPT_VISEDGE   (1 << 18)

Segment should be visible on mesh. Used internally by capping code.

◆ POLYPT_NO_SPLICE

#define POLYPT_NO_SPLICE   (1 << 19)

Don't allow a bridge at this point. Used internally by capping code.

◆ POLYPT_INVIS_EDGE

#define POLYPT_INVIS_EDGE    (1 << 20)

Force segment to be invisible on capping. Used internally by capping code

◆ POLYPT_NO_SNAP

#define POLYPT_NO_SNAP   (1 << 21)

Suppress snapping when set. Used internally by capping code.