Enumerations

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

enum SplineIKParams [inherited]
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 
                      {
      // Paramter ids (of PB2) of Spline IK, i.e. that on which
      // GoalInterfaceID() == IKSys::kSplineIKGoalID.
      //
      // Following parameter ids are inherited from the HIIK 
      // kStartJoint,
      // kEndJoint,
      // kSolverName,
      // kAutoEnable,
      // kEEDisplay,
      // kEESize,
      // kGoalDisplay,
      // kGoalSize,
      // kSolverDisplay,
      // kAutoSnap,
      //
      // Spline IK paramters start here:
      kPickShape = kLastHIIKParam,  
          kTwistHStartDisplay,      
          kTwistHEndDisplay,        
          kTwistHStartSize,         
          kTwistHEndSize,           
          kTwistHStartLength,       
          kTwistHEndLength,         
          kTwistHStartAngle,        
          kTwistHEndAngle,          
//        kTwistHStartTarget,
//        kTwistHEndTarget,
//        kTwistHUseStartTarget,
//        kTwistHUseEndTarget,
          
//parameters below are in the first pop-up dialog box "Spline IK SOlver"
          kAutoSplineCreate,        

          kSplineTypeChoice,        

          kSplineKnotCount,         

          kCreateHelper,            

          kLinktoRootNode,          
          kHelpersize,              
          kHelperCentermarker,      
          kHelperAxisTripod,        
          kHelperCross,             
          kHelperBox,               
          kHelperScreensize,        
          kHelperDrawontop,         
          kUpnode,                  
          kUseUpnode,               
      kLastSplineIKParam            
  };