3ds Max C++ API Reference
Loading...
Searching...
No Matches
splshape.h File Reference
#include "maxheap.h"
#include "shape.h"
#include "istdplug.h"
#include "sbmtlapi.h"
#include "objmode.h"
#include "MouseCursors.h"

Classes

class  SplineShapePointTab
class  SplineShapeVertexDelta
class  NamedVertSelSetList
class  NamedSegSelSetList
class  NamedPolySelSetList
class  SSNamedSelSetList
class  SplineShape
class  SSPickSplineAttach
class  SSOutlineTransformer
class  SSOutlineMouseProc
class  SSOutlineSelectionProcessor
class  SSOutlineCMode
class  SSFilletTransformer
class  SSFilletMouseProc
class  SSFilletSelectionProcessor
class  SSFilletCMode
class  SSChamferTransformer
class  SSChamferMouseProc
class  SSChamferSelectionProcessor
class  SSChamferCMode
class  SSSegBreakTransformer
class  SSSegBreakMouseProc
class  SSSegBreakCMode
class  SSSegRefineMouseProc
class  SSSegRefineCMode
class  SSCrossInsertMouseProc
class  SSCrossInsertCMode
class  SSVertConnectMouseProc
class  SSVertConnectCMode
class  SSVertInsertMouseProc
class  SSVertInsertCMode
class  SSCreateLineMouseProc
class  SSCreateLineCMode
class  SSCrossSectionMouseProc
class  SSCrossSectionCMode
class  SSBooleanMouseProc
class  SSBooleanCMode
class  SSTrimMouseProc
class  SSTrimCMode
class  SSExtendMouseProc
class  SSExtendCMode
class  SSBindMouseProc
class  SSBindCMode
class  SSRefineConnectMouseProc
class  SSRefineConnectCMode
class  SSCopyTangentMouseProc
class  SSCopyTangentCMode
class  SSPasteTangentMouseProc
class  SSPasteTangentCMode
class  SingleRefMakerSplineNode
class  SingleRefMakerSplineMtl

Macros

#define BOOL_UNION   0
#define BOOL_SUBTRACTION   1
#define BOOL_INTERSECTION   2
#define MIRROR_HORIZONTAL   3
#define MIRROR_VERTICAL   4
#define MIRROR_BOTH   5
#define POLYBOOL   (1 << 0)
#define POLYOUTSIDE   (1 << 1)
#define POLYINSIDE   (1 << 2)
#define ES_DISP_RESULT   0x0100
#define ES_ADDED_SELECT   0x0200
#define ES_POINT_CTRL_CONTAINER_REF   SHAPE_OBJ_NUM_REFS
#define ES_VERT_BASE_REF   (SHAPE_OBJ_NUM_REFS + 1)
#define SS_OBJECT   0
#define SS_VERTEX   1
#define SS_SEGMENT   2
#define SS_SPLINE   3
#define CID_OUTLINE   CID_USER + 201
#define CID_SEGBREAK   CID_USER + 202
#define CID_SEGREFINE   CID_USER + 203
#define CID_VERTCONNECT   CID_USER + 204
#define CID_VERTINSERT   CID_USER + 205
#define CID_BOOLEAN   CID_USER + 206
#define CID_CREATELINE   CID_USER + 207
#define CID_CROSSINSERT   CID_USER + 208
#define CID_FILLET   CID_USER + 209
#define CID_CHAMFER   CID_USER + 210
#define CID_TRIM   CID_USER + 211
#define CID_EXTEND   CID_USER + 212
#define CID_SPLINEBIND   CID_USER + 213
#define CID_REFINECONNECT   CID_USER + 214
#define CID_CROSSSECTION   CID_USER + 215
#define CID_COPYTANGENT   CID_USER + 216
#define CID_PASTETANGENT   CID_USER + 217
#define NS_SS_VERT   0
#define NS_SS_SEG   1
#define NS_SS_POLY   2
#define REFINE_VERT   0
#define REFINE_SEG   1
#define ID_SPLINE_MENU   1320
#define ID_SPLINE_SELECT_SIMILAR   4261

Functions

CoreExport ClassDescGetSplineShapeDescriptor ()
CoreExport int ApplyOffset (Interface *intf, INode *node, float amount)
CoreExport int MeasureOffset (Interface *intf, INode *node, Point3 *point, float *result)
CoreExport void SetAlwaysShowSplineClosurePrompt (bool option)
CoreExport bool GetAlwaysShowSplineClosurePrompt ()

Variables

CoreExport Class_ID splineShapeClassID
HINSTANCE hInstance
const DWORD kSplineActions = 0x34fe2c73
const DWORD kSplineActionsContext = 0x34fe2c73
const DWORD kSplineToolsActions = 0x2f121ff4
const DWORD kSplineToolsActionsContext = 0x5951127d

Macro Definition Documentation

◆ BOOL_UNION

#define BOOL_UNION   0

◆ BOOL_SUBTRACTION

#define BOOL_SUBTRACTION   1

◆ BOOL_INTERSECTION

#define BOOL_INTERSECTION   2

◆ MIRROR_HORIZONTAL

#define MIRROR_HORIZONTAL   3

◆ MIRROR_VERTICAL

#define MIRROR_VERTICAL   4

◆ MIRROR_BOTH

#define MIRROR_BOTH   5

◆ POLYBOOL

#define POLYBOOL   (1 << 0)

◆ POLYOUTSIDE

#define POLYOUTSIDE   (1 << 1)

◆ POLYINSIDE

#define POLYINSIDE   (1 << 2)

◆ ES_DISP_RESULT

#define ES_DISP_RESULT   0x0100

◆ ES_ADDED_SELECT

#define ES_ADDED_SELECT   0x0200

◆ ES_POINT_CTRL_CONTAINER_REF

#define ES_POINT_CTRL_CONTAINER_REF   SHAPE_OBJ_NUM_REFS

◆ ES_VERT_BASE_REF

#define ES_VERT_BASE_REF   (SHAPE_OBJ_NUM_REFS + 1)

◆ SS_OBJECT

#define SS_OBJECT   0

◆ SS_VERTEX

#define SS_VERTEX   1

◆ SS_SEGMENT

#define SS_SEGMENT   2

◆ SS_SPLINE

#define SS_SPLINE   3

◆ CID_OUTLINE

#define CID_OUTLINE   CID_USER + 201

◆ CID_SEGBREAK

#define CID_SEGBREAK   CID_USER + 202

◆ CID_SEGREFINE

#define CID_SEGREFINE   CID_USER + 203

◆ CID_VERTCONNECT

#define CID_VERTCONNECT   CID_USER + 204

◆ CID_VERTINSERT

#define CID_VERTINSERT   CID_USER + 205

◆ CID_BOOLEAN

#define CID_BOOLEAN   CID_USER + 206

◆ CID_CREATELINE

#define CID_CREATELINE   CID_USER + 207

◆ CID_CROSSINSERT

#define CID_CROSSINSERT   CID_USER + 208

◆ CID_FILLET

#define CID_FILLET   CID_USER + 209

◆ CID_CHAMFER

#define CID_CHAMFER   CID_USER + 210

◆ CID_TRIM

#define CID_TRIM   CID_USER + 211

◆ CID_EXTEND

#define CID_EXTEND   CID_USER + 212

◆ CID_SPLINEBIND

#define CID_SPLINEBIND   CID_USER + 213

◆ CID_REFINECONNECT

#define CID_REFINECONNECT   CID_USER + 214

◆ CID_CROSSSECTION

#define CID_CROSSSECTION   CID_USER + 215

◆ CID_COPYTANGENT

#define CID_COPYTANGENT   CID_USER + 216

◆ CID_PASTETANGENT

#define CID_PASTETANGENT   CID_USER + 217

◆ NS_SS_VERT

#define NS_SS_VERT   0

◆ NS_SS_SEG

#define NS_SS_SEG   1

◆ NS_SS_POLY

#define NS_SS_POLY   2

◆ REFINE_VERT

#define REFINE_VERT   0

◆ REFINE_SEG

#define REFINE_SEG   1

◆ ID_SPLINE_MENU

#define ID_SPLINE_MENU   1320

◆ ID_SPLINE_SELECT_SIMILAR

#define ID_SPLINE_SELECT_SIMILAR   4261

Function Documentation

◆ GetSplineShapeDescriptor()

CoreExport ClassDesc * GetSplineShapeDescriptor ( )

◆ ApplyOffset()

CoreExport int ApplyOffset ( Interface * intf,
INode * node,
float amount )

◆ MeasureOffset()

CoreExport int MeasureOffset ( Interface * intf,
INode * node,
Point3 * point,
float * result )

◆ SetAlwaysShowSplineClosurePrompt()

CoreExport void SetAlwaysShowSplineClosurePrompt ( bool option)
Remarks
Set the master override switch that allows spline editing to ignore the Auto-Weld switch and always prompt for closure. This is used in the 3ds Max Line object to preserve legacy behavior and always show the closure prompt, regardless of the state of the Auto Weld switch used in Editable and Edit Spline.

Parameters:
bool option

When set to 'true', the master spline Auto-Weld switch is ignored and spline editing always displays a prompt to the user asking whether the spline should be closed when the knot being created is near the spline's starting knot.

◆ GetAlwaysShowSplineClosurePrompt()

CoreExport bool GetAlwaysShowSplineClosurePrompt ( )
Remarks
Get the master override switch that allows spline editing to ignore the Auto-Weld switch and always prompt for closure.

Returns
true if the override switch is set; false otherwise.

Variable Documentation

◆ splineShapeClassID

CoreExport Class_ID splineShapeClassID
extern

◆ hInstance

HINSTANCE hInstance
extern

◆ kSplineActions

const DWORD kSplineActions = 0x34fe2c73

◆ kSplineActionsContext

const DWORD kSplineActionsContext = 0x34fe2c73

◆ kSplineToolsActions

const DWORD kSplineToolsActions = 0x2f121ff4

◆ kSplineToolsActionsContext

const DWORD kSplineToolsActionsContext = 0x5951127d