# IRiCharacterEditor Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | ActivateSelectionTool ()
HRESULT | SetBoneSkinEnvelopeJointParams ([in] BSTR szName,[in] VARIANT vJointId,[in] VARIANT fRadius,[in] VARIANT fFactor)
HRESULT | ScaleBoneSkinEnvelope ([in] BSTR szName,[in] VARIANT fRadius,[in] VARIANT fFactor)
HRESULT | AttachTemplateObjectToBone ([in] BSTR szBone,[in] BSTR szTemplate,[in] VARIANT fRotX,[in] VARIANT fRotY,[in] VARIANT fRotZ,[in] VARIANT fPosX,[in] VARIANT fPosY,[in] VARIANT fPosZ,[in] VARIANT fScale)
HRESULT | LinkTemplateObjectToBone ([in] BSTR szBone,[in] BSTR szTemplate,[in] VARIANT fRotX,[in] VARIANT fRotY,[in] VARIANT fRotZ,[in] VARIANT fPosX,[in] VARIANT fPosY,[in] VARIANT fPosZ)
HRESULT | AlignHandleWithSkeleton ([in] BSTR szHandle)
HRESULT | AlignHandleWithOwner ([in] BSTR szHandle)
HRESULT | ActivateCharacterTool ([in] BSTR szWidgetId)
HRESULT | ActivateCharacterToolEx ([in] BSTR szWidgetId,[in] BSTR szAspect,[in] BSTR szParams,[in] BSTR szSelection)
HRESULT | InsertJointAt ([in] BSTR szBone,[in] VARIANT fPosX,[in]VARIANT fPosY,[in]VARIANT fPosZ)
HRESULT | RemoveJoint ([in] BSTR szNodes)
HRESULT | EditJointsDirectly ([in] BSTR szNodes)
HRESULT | GetCurrentCharacter ([out, retval] BSTR *szCharacterNode)
HRESULT | ExitCharacterTool ()
HRESULT | EndEditMode ()
HRESULT | ResetPose ([in] BSTR szSelection)
HRESULT | SetDefaultPose ([in] BSTR szSelection)
HRESULT | ToggleDynamicIkLock ([in] BSTR szLock)
HRESULT | DuplicateIkHandle ([in] BSTR szBone,[in] BSTR szTemplate,[in] VARIANT fPosX,[in] VARIANT fPosY,[in] VARIANT fPosZ)
HRESULT | DetachObjectFromBone ([in] BSTR szNode)
HRESULT | AttachObjectToBone ([in] BSTR szNode,[in] BSTR szBone)
HRESULT | DetachSkinFromBone ([in] BSTR szNode,[in] BSTR szBone)
HRESULT | AttachSkinToBone ([in] BSTR szNode,[in] BSTR szBone)
HRESULT | DetachSkinFromSkeleton ([in] BSTR szNode,[in] BSTR szSkeleton)
HRESULT | AttachSkinToSkeleton ([in] BSTR szNode,[in] BSTR szSkeleton,[in] VARIANT vBlendRegion,[in] VARIANT vTransitionSmoothness,[in] VARIANT vMaxNumBones)
HRESULT | RemoveDynaposeAutoLocks ([in] BSTR szNode)
HRESULT | RemoveLimb ([in] BSTR szJoint)
HRESULT | AddMorph ([in] BSTR szSelection)
HRESULT | ShowMorphPanel ([in] BSTR szSelection)
HRESULT | ToggleCeModalTool ([in] BSTR szToolName,[in] BSTR szSelection)
HRESULT | RemoveCurrentMorph ([in] BSTR szSelection)
HRESULT | HealSkin ([in] BSTR szSelection)
HRESULT | MaskSkin ([in] BSTR szSelection)
HRESULT | SkinToSelection ([in] BSTR szBone)
HRESULT | SelectionToSkin ([in] BSTR szBone)
HRESULT | TransferSkin ([in] BSTR szSource,[in] BSTR szTarget,[in] BSTR szSkeletonMode,[in] BSTR szSkinMode)
HRESULT | ActivateEditModeTool ([in] BSTR szMode,[in] BSTR szTool,[in] BSTR szParams)

## Detailed Description

The IRiCharacterEditor interface provides methods to perform various mesh modifications.
Root-level name in the scripting engine's name space: CharacterEditor

## Member Function Documentation

HRESULT IRiCharacterEditor::ActivateSelectionTool | ( |  | ) |

Activate default selection tool widget.

HRESULT IRiCharacterEditor::SetBoneSkinEnvelopeJointParams | ( | [in] BSTR | szName,
|  | [in] VARIANT | vJointId,
|  | [in] VARIANT | fRadius,
|  | [in] VARIANT | fFactor |
| ) |  |  |

Set bone envelope weights associated with joint.

Parameters:

  | szName | [in] Defines name of a bone node that implements IRsUnknownBone interface.
  | vJointID | [in] Defines joint attached to bone.
  | fRadius | [in] Specifies radius to set.
  | fFactor | [in] Specify mixing factor for a joint.

HRESULT IRiCharacterEditor::ScaleBoneSkinEnvelope | ( | [in] BSTR | szName,
|  | [in] VARIANT | fRadius,
|  | [in] VARIANT | fFactor |
| ) |  |  |

Scales bone envelope weights for all bone joints.

Parameters:

  | szName | [in] Defines name of a bone node that implements IRsUnknownBone interface.
  | fRadius | [in] Specifies multiplier for radius to set.
  | fFactor | [in] Specifies multiplier of mixing factor for a joint.

HRESULT IRiCharacterEditor::AttachTemplateObjectToBone | ( | [in] BSTR | szBone,
|  | [in] BSTR | szTemplate,
|  | [in] VARIANT | fRotX,
|  | [in] VARIANT | fRotY,
|  | [in] VARIANT | fRotZ,
|  | [in] VARIANT | fPosX,
|  | [in] VARIANT | fPosY,
|  | [in] VARIANT | fPosZ,
|  | [in] VARIANT | fScale |
| ) |  |  |

Attach object defined by template to specified bone.

Parameters:

  | szBone | [in] Bone path.
  | szTemplate | [in] Template node stored in preobjects directory.
  | fRotX | [in], fRotY [in], fRotZ [in] Rotation of new object in skeleton space.
  | fPosX | [in], fPosY [in], fPosZ [in] Position of new object in skeleton space.
  | fScale | [in] .

HRESULT IRiCharacterEditor::LinkTemplateObjectToBone | ( | [in] BSTR | szBone,
|  | [in] BSTR | szTemplate,
|  | [in] VARIANT | fRotX,
|  | [in] VARIANT | fRotY,
|  | [in] VARIANT | fRotZ,
|  | [in] VARIANT | fPosX,
|  | [in] VARIANT | fPosY,
|  | [in] VARIANT | fPosZ |
| ) |  |  |

Attach aligned object defined by template to specified bone.

Parameters:

  | szBone | Bone path.
  | szTemplate | [in] Template node stored in preobjects directory.
  | fRotX | [in], fRotY [in], fRotZ [in] Rotation of new object in skeleton space.
  | fPosX | [in], fPosY [in], fPosZ [in] Position of new object in skeleton space.

HRESULT IRiCharacterEditor::AlignHandleWithSkeleton | ( | [in] BSTR | szHandle | ) |

Set IK handle alignment to World space.

Parameters:

  | szHandle | [in] Handle name to align, empty string to align current selection.

HRESULT IRiCharacterEditor::AlignHandleWithOwner | ( | [in] BSTR | szHandle | ) |

Set IK handle alignment to owning bone.

Parameters:

  | szHandle | [in] Handle name to align, empty string to align current selection.

HRESULT IRiCharacterEditor::ActivateCharacterTool | ( | [in] BSTR | szWidgetId | ) |

Activate character editor tool.

Parameters:

  | szWidgetId | [in] .

HRESULT IRiCharacterEditor::ActivateCharacterToolEx | ( | [in] BSTR | szWidgetId,
|  | [in] BSTR | szAspect,
|  | [in] BSTR | szParams,
|  | [in] BSTR | szSelection |
| ) |  |  |

Activate character editor dual tool with full widget settings - tool that works both in and outside of character edit mode.

Parameters:

  | szWidgetId | [in] .
  | szAspect | [in] .
  | szParams | [in] .
  | szSelection | [in] .

HRESULT IRiCharacterEditor::InsertJointAt | ( | [in] BSTR | szBone,
|  | [in] VARIANT | fPosX,
|  | [in] VARIANT | fPosY,
|  | [in] VARIANT | fPosZ |
| ) |  |  |

Insert joint to bone.

Parameters:

  | szBone | [in] .
  | fPosX | [in] .
  | fPosY | [in] .
  | fPosZ | [in] .

HRESULT IRiCharacterEditor::RemoveJoint | ( | [in] BSTR | szNodes | ) |

Remove joint & update skeleton topology.

Parameters:

  | szNodes | [in] .

HRESULT IRiCharacterEditor::EditJointsDirectly | ( | [in] BSTR | szNodes | ) |

Show joint panels for direct setting of parameters.

Parameters:

  | szNodes | [in] .

HRESULT IRiCharacterEditor::GetCurrentCharacter | ( | [out, retval] BSTR * | szCharacterNode | ) |

Get current edited character node name.

Returns:
  szCharacterNode [out,retval] .

HRESULT IRiCharacterEditor::ExitCharacterTool | ( |  | ) |

Exit character dual tool.

- If in CE mode, default selection node is re-selected, else current character is selected.

HRESULT IRiCharacterEditor::EndEditMode | ( |  | ) |

Exit character editor tool.

HRESULT IRiCharacterEditor::ResetPose | ( | [in] BSTR | szSelection | ) |

Reset limb or pose.

Parameters:

  | szSelection | [in] .

HRESULT IRiCharacterEditor::SetDefaultPose | ( | [in] BSTR | szSelection | ) |

Set limb or pose to default.

Parameters:

  | szSelection | [in] .

HRESULT IRiCharacterEditor::ToggleDynamicIkLock | ( | [in] BSTR | szLock | ) |

Toggle IK lock for a skeleton.

Parameters:

  | szLock | [in] .

HRESULT IRiCharacterEditor::DuplicateIkHandle | ( | [in] BSTR | szBone,
|  | [in] BSTR | szTemplate,
|  | [in] VARIANT | fPosX,
|  | [in] VARIANT | fPosY,
|  | [in] VARIANT | fPosZ |
| ) |  |  |

Attach aligned object defined by template to specified bone.

Parameters:

  | szBone | Bone path.
  | szTemplate | [in] Template node graph path.
  | fPosX | [in],fPosY [in],fPosZ [in] Position of new object in skeleton space.

HRESULT IRiCharacterEditor::DetachObjectFromBone | ( | [in] BSTR | szNode | ) |

Detach object from a bone.

Parameters:

  | szNode | [in] Object to detach.

HRESULT IRiCharacterEditor::AttachObjectToBone | ( | [in] BSTR | szNode,
|  | [in] BSTR | szBone |
| ) |  |  |

Attach object to a bone.

Parameters:

  | szNode | [in] Object to attach.
  | szBone | [in] Bone to attach object to.

HRESULT IRiCharacterEditor::DetachSkinFromBone | ( | [in] BSTR | szNode,
|  | [in] BSTR | szBone |
| ) |  |  |

Detach skin from a specified bone.

Parameters:

  | szNode | [in] Object to detach.
  | szBone | [in] Bone to detach skin from.

HRESULT IRiCharacterEditor::AttachSkinToBone | ( | [in] BSTR | szNode,
|  | [in] BSTR | szBone |
| ) |  |  |

Attach skin to a specified bone. Automatic skinning is not performed.

Parameters:

  | szNode | [in] Object to attach.
  | szBone | [in] Bone to attach skin to.

HRESULT IRiCharacterEditor::DetachSkinFromSkeleton | ( | [in] BSTR | szNode,
|  | [in] BSTR | szSkeleton |
| ) |  |  |

Detach skin from skeleton.

Parameters:

  | szNode | [in] Object to detach.
  | szSkeleton | [in] Skeleton to detach skin from.

HRESULT IRiCharacterEditor::AttachSkinToSkeleton | ( | [in] BSTR | szNode,
|  | [in] BSTR | szSkeleton,
|  | [in] VARIANT | vBlendRegion,
|  | [in] VARIANT | vTransitionSmoothness,
|  | [in] VARIANT | vMaxNumBones |
| ) |  |  |

Attach skin to skeleton.

Parameters:

  | szNode | [in] Object to detach.
  | szSkeleton | [in] Skeleton to detach skin from.
  | vBlendRegion | [in] .
  | vTransitionSmoothness | [in] .
  | vMaxNumBones | [in] .

HRESULT IRiCharacterEditor::RemoveDynaposeAutoLocks | ( | [in] BSTR | szNode | ) |

Remove dynapose auto locks.

Parameters:

  | szNode | [in] Dynapose widget node path.

HRESULT IRiCharacterEditor::RemoveLimb | ( | [in] BSTR | szJoint | ) |

Remove limb.

Parameters:

  | sJoint | [in] Joint starting the limb.

HRESULT IRiCharacterEditor::AddMorph | ( | [in] BSTR | szSelection | ) |

Add & edit morph for selected object.

Parameters:

  | szSelection | [in] Selection to open morph panel for.

HRESULT IRiCharacterEditor::ShowMorphPanel | ( | [in] BSTR | szSelection | ) |

Show vertex morph panels.

Parameters:

  | szSelection | [in] Selection to open morph panel for.

HRESULT IRiCharacterEditor::ToggleCeModalTool | ( | [in] BSTR | szToolName,
|  | [in] BSTR | szSelection |
| ) |  |  |

Toggle Character Editor modal tool.

Parameters:

  | szToolName | [in] Widget path.
  | szSelection | [in] Selection to open morph panel for.

HRESULT IRiCharacterEditor::RemoveCurrentMorph | ( | [in] BSTR | szSelection | ) |

Remove active morph.

Parameters:

  | szSelection | [in] Selection to remove active morphs from.

HRESULT IRiCharacterEditor::HealSkin | ( | [in] BSTR | szSelection | ) |

Normalize skin, fill holes in skin and optimize skinning structures.

Parameters:

  | szSelection | [in] Selection to normalize.

HRESULT IRiCharacterEditor::MaskSkin | ( | [in] BSTR | szSelection | ) |

Clear skin weights from geometry that is not selected.

- If selection is not present, skin is cleared.

Parameters:

  | szSelection | [in] Selection.

HRESULT IRiCharacterEditor::SkinToSelection | ( | [in] BSTR | szBone | ) |

Convert skin weight for specified bone to mesh selection.

Parameters:

  | szBone | [in] Bone node name. Editable parts of whole character are used for skinning.

HRESULT IRiCharacterEditor::SelectionToSkin | ( | [in] BSTR | szBone | ) |

Convert selection weights to skin weights for specified bone.

- If mesh is not attached to specified bone, it will be attached.

Parameters:

  | szBone | [in] Bone node name. Editable parts of whole character are used for skinning.

HRESULT IRiCharacterEditor::TransferSkin | ( | [in] BSTR | szSource,
|  | [in] BSTR | szTarget,
|  | [in] BSTR | szSkeletonMode,
|  | [in] BSTR | szSkinMode |
| ) |  |  |

Transfer skin from one character to another.

Parameters:

  | szSource | [in] Skeleton to use as skin weights source
  | szTarget | [in] Target skeleton which meshes are to be skinned.
  | szSkeletonMode | [in] Skeletons mapping mode
  | szSkinMode | [in] Skin calculation mode

HRESULT IRiCharacterEditor::ActivateEditModeTool | ( | [in] BSTR | szMode,
|  | [in] BSTR | szTool,
|  | [in] BSTR | szParams |
| ) |  |  |

Activate provided edit mode widget and specified tool as a subwidget. If tool widget is active, deactivate edit. If edit widget is active, just switch tool widget.

Parameters:

  | szMode | [in] Edit mode widget
  | szTool | [in] Tool widget
  | szParams | [in] Mode widget parameters for the tool widget