3ds Max C++ API Reference
Spline IK Parameters

Provides the PB2 parameter IDs particular to the SplineIK solver. More...

Enumerations

enum  SplineIKParams {
  kPickShape = kLastHIIKParam , kTwistHStartDisplay , kTwistHEndDisplay , kTwistHStartSize ,
  kTwistHEndSize , kTwistHStartLength , kTwistHEndLength , kTwistHStartAngle ,
  kTwistHEndAngle , kAutoSplineCreate , kSplineTypeChoice , kSplineKnotCount ,
  kCreateHelper , kLinktoRootNode , kHelpersize , kHelperCentermarker ,
  kHelperAxisTripod , kHelperCross , kHelperBox , kHelperScreensize ,
  kHelperDrawontop , kUpnode , kUseUpnode , kLastSplineIKParam
}
 

Detailed Description

Provides the PB2 parameter IDs particular to the SplineIK solver.

Enumeration Type Documentation

◆ SplineIKParams

Enumerator
kPickShape 

Associated with the "Pick Shape" button on the UI.

This is also the "goal" for the IK chain. Contains the Spline node which the IK chain follows.

kTwistHStartDisplay 

Controls display of the Start Twist Handle manipulator; default: OFF.

kTwistHEndDisplay 

Controls display of the EndTwist Handle manipulator; default: OFF.

kTwistHStartSize 

Spinner and editbox for the size of the Start Twist Handle manipulator; default size: 1.0.

kTwistHEndSize 

Spinner and editbox for the size of the End Twist Handle manipulator; default size: 1.0.

kTwistHStartLength 

Spinner and editbox for the length of the Start Twist Handle manipulator; default length: 75.0.

kTwistHEndLength 

Spinner and editbox for the length of the End Twist Handle manipulator; default length: 75.0.

kTwistHStartAngle 

Spinner and editbox for the Start Twist Handle manipulator angle; default angle: 0.0.

kTwistHEndAngle 

Spinner and editbox for the End Twist Handle manipulator angle; default angle: 0.0.

kAutoSplineCreate 

When the user checks "Auto Create Spline" checkbox, a spline with # of knot points equal to the # of bones.

The spline passes through all the bone pivot points. If "Auto Create Spline" checkbox is unchecked, no spline is created. In this case, to use splineIK, the user needs to open the UI (motion panel), click on "Pick Shape" pushbutton and select an already existing spline. Then the user can assign the SplineIKControl modifier or go to the sub-object level and animate the vertices of the spline. For the checkbox "Auto Create Spline" default: on

kSplineTypeChoice 

Allows the user to use a Bezier Spline, NURBS Point curve or NURBS CV curve.

For the set of three radiobuttons called "Curve Type"; default: Bezier Spline

kSplineKnotCount 

The user can change the default number of knots during the creation process.

Available only for Bezier Spline curves. The default is equal to the number of joints in the IKChain. Minimum is 2 knots. Internally a 'normalize spline' modifier is applied to the spline. Note that as you decrease the knotCount, the resulting spline may have a significantly different shape, and consequently the IKChain might move. For the checkbox "Number of Spline Knots"; Default: equal to chain DOF.

kCreateHelper 

If "Create Helpers" checkbox is checked, it is assumed that the user wants to automatically assign the SplineIKControl modifier.

So the modifier is assigned in agreement with the helper properties specified in the pop-up. If the checkbox is un-checked no modifier is assigned. For the checkbox "Create Helper"; default: ON

kLinktoRootNode 

If checked, attaches position constraint to the rootbone of the IKchain to constrain it to the first helper.

Note that the "position" of the rootbone is outside the scope of the IK. In addition, makes all helpers children to Helper#1, i.e., knot#1. Helper#1 can be position constrained or linked to another object. And, individual helpers can be moved and rotated without any other helper being affect. If unchecked, all helpers are independent – not linked to any other helper – so that they can be moved and rotated without any other helper being affect. For the checkbox "Link to Root Node"; default: ON

kHelpersize 

Display Option for Point Helper; default: 20.0.

kHelperCentermarker 

Display Option for Point Helper; default: OFF.

kHelperAxisTripod 

Display Option for Point Helper; default: OFF.

kHelperCross 

Display Option for Point Helper; default: OFF.

kHelperBox 

Display Option for Point Helper; default: ON.

kHelperScreensize 

Display Option for Point Helper;.

kHelperDrawontop 

Display Option for Point Helper; default: ON.

kUpnode 

Display Option for Point Helper;.

kUseUpnode 

Display Option for Point Helper;.

kLastSplineIKParam 
210  {
211  // Paramter ids (of PB2) of Spline IK, i.e. that on which
212  // GoalInterfaceID() == IKSys::kSplineIKGoalID.
213  //
214  // Following parameter ids are inherited from the HIIK
215  // kStartJoint,
216  // kEndJoint,
217  // kSolverName,
218  // kAutoEnable,
219  // kEEDisplay,
220  // kEESize,
221  // kGoalDisplay,
222  // kGoalSize,
223  // kSolverDisplay,
224  // kAutoSnap,
225  //
226  // Spline IK paramters start here:
238 // kTwistHStartTarget,
239 // kTwistHEndTarget,
240 // kTwistHUseStartTarget,
241 // kTwistHUseEndTarget,
242 
243 //parameters below are in the first pop-up dialog box "Spline IK SOlver"
264  kCreateHelper,
273  kHelpersize,
276  kHelperCross,
277  kHelperBox,
280  kUpnode,
281  kUseUpnode,
283  };
@ kLastHIIKParam
Definition: iiksys.h:203
@ kHelperCentermarker
Display Option for Point Helper; default: OFF.
Definition: iiksys.h:274
@ kTwistHEndSize
Spinner and editbox for the size of the End Twist Handle manipulator; default size: 1....
Definition: iiksys.h:233
@ kCreateHelper
If "Create Helpers" checkbox is checked, it is assumed that the user wants to automatically assign th...
Definition: iiksys.h:264
@ kSplineTypeChoice
Allows the user to use a Bezier Spline, NURBS Point curve or NURBS CV curve.
Definition: iiksys.h:253
@ kUseUpnode
Display Option for Point Helper;.
Definition: iiksys.h:281
@ kHelperScreensize
Display Option for Point Helper;.
Definition: iiksys.h:278
@ kPickShape
Associated with the "Pick Shape" button on the UI.
Definition: iiksys.h:229
@ kLastSplineIKParam
Definition: iiksys.h:282
@ kHelperCross
Display Option for Point Helper; default: OFF.
Definition: iiksys.h:276
@ kTwistHEndAngle
Spinner and editbox for the End Twist Handle manipulator angle; default angle: 0.0.
Definition: iiksys.h:237
@ kTwistHStartSize
Spinner and editbox for the size of the Start Twist Handle manipulator; default size: 1....
Definition: iiksys.h:232
@ kTwistHStartDisplay
Controls display of the Start Twist Handle manipulator; default: OFF.
Definition: iiksys.h:230
@ kAutoSplineCreate
When the user checks "Auto Create Spline" checkbox, a spline with # of knot points equal to the # of ...
Definition: iiksys.h:251
@ kTwistHStartLength
Spinner and editbox for the length of the Start Twist Handle manipulator; default length: 75....
Definition: iiksys.h:234
@ kHelpersize
Display Option for Point Helper; default: 20.0.
Definition: iiksys.h:273
@ kHelperAxisTripod
Display Option for Point Helper; default: OFF.
Definition: iiksys.h:275
@ kTwistHEndLength
Spinner and editbox for the length of the End Twist Handle manipulator; default length: 75....
Definition: iiksys.h:235
@ kTwistHStartAngle
Spinner and editbox for the Start Twist Handle manipulator angle; default angle: 0....
Definition: iiksys.h:236
@ kHelperBox
Display Option for Point Helper; default: ON.
Definition: iiksys.h:277
@ kUpnode
Display Option for Point Helper;.
Definition: iiksys.h:280
@ kHelperDrawontop
Display Option for Point Helper; default: ON.
Definition: iiksys.h:279
@ kTwistHEndDisplay
Controls display of the EndTwist Handle manipulator; default: OFF.
Definition: iiksys.h:231
@ kSplineKnotCount
The user can change the default number of knots during the creation process.
Definition: iiksys.h:259
@ kLinktoRootNode
If checked, attaches position constraint to the rootbone of the IKchain to constrain it to the first ...
Definition: iiksys.h:272