autorigs.utils package

Submodules

autorigs.utils.autoRigsBuilderCtrlUtils module

autorigs.utils.autoRigsBuilderCtrlUtils.axisDifference(axis)
autorigs.utils.autoRigsBuilderCtrlUtils.axisToMask(axis=('tx', 'ty', 'tz', 'rx', 'ry', 'rz', 'sx', 'sy', 'sz'))

takes a tuple of axis and converts it to a bitmask

autorigs.utils.autoRigsBuilderCtrlUtils.createLookAtCHOP(node, lookat, lookup, blendvalue=1, blendnode=None, blendparm=None)

Creates a simple look at CHOP. node: the node to in which to create the CHOP lookat: the look at target lookup: the look up target

autorigs.utils.autoRigsBuilderCtrlUtils.lockAllNoPick(node)
autorigs.utils.autoRigsBuilderCtrlUtils.lockAndHide(node)
autorigs.utils.autoRigsBuilderCtrlUtils.lockForRCtrl(node, raxis='xyz')
autorigs.utils.autoRigsBuilderCtrlUtils.lockForTCtrl(node, taxis='xyz')
autorigs.utils.autoRigsBuilderCtrlUtils.lockForTRCtrl(node, taxis='xyz', raxis='xyz')
autorigs.utils.autoRigsBuilderCtrlUtils.lockNoPick(node)
autorigs.utils.autoRigsBuilderCtrlUtils.lockPS(node)
autorigs.utils.autoRigsBuilderCtrlUtils.lockTransform(node, transform, axis='xyz')

Locks the specified axis of the transform

autorigs.utils.autoRigsBuilderCtrlUtils.lockTransformAxis(node, transform, axis='xyz')

Locks the non-specified axis of the transform

autorigs.utils.autoRigsBuilderCtrlUtils.makeAxisDriver(driver, driven, axis='xyz', blend=1)
autorigs.utils.autoRigsBuilderCtrlUtils.makeCustomParentBlend(node, parents)

Creates a constraints network such that node’s position moves according to a blend of the local transform of the parents

autorigs.utils.autoRigsBuilderCtrlUtils.makeDifferenceParentBlend(node, parents)

Creates a constraints network such that node’s position moves according to a difference blend of the local transform of the parents. The parents are orderd - default, next

autorigs.utils.autoRigsBuilderCtrlUtils.makeIntoBoxCtrl(node, size=0.05)
autorigs.utils.autoRigsBuilderCtrlUtils.makeIntoCircleCtrl(node, size=0.15)
autorigs.utils.autoRigsBuilderCtrlUtils.makeIntoCircleYZCtrl(node, size=0.15)
autorigs.utils.autoRigsBuilderCtrlUtils.makeIntoInvisibleCtrl(node)
autorigs.utils.autoRigsBuilderCtrlUtils.makeIntoRCtrl(nullnode, axis='xyz')
autorigs.utils.autoRigsBuilderCtrlUtils.makeIntoTCtrl(nullnode, axis='xyz')
autorigs.utils.autoRigsBuilderCtrlUtils.makeIntoTRCtrl(nullnode, taxis='xyz', raxis='xyz')

autorigs.utils.autoRigsBuilderInterfaceUtils module

autorigs.utils.autoRigsBuilderInterfaceUtils.addCallback(template, function_header)
autorigs.utils.autoRigsBuilderInterfaceUtils.addResetToDefaultCallback(button)
autorigs.utils.autoRigsBuilderInterfaceUtils.addSetKeyCallback(button)
autorigs.utils.autoRigsBuilderInterfaceUtils.create01Slider(key, grp)

Creates a 0 to 1 float slider with strict min and max. id: the name/id of the parm, label: the label of the parm, grp: (BuilderGroup) the builder group to create the parm

autorigs.utils.autoRigsBuilderInterfaceUtils.createButtonTemplate(namelabel, displaykey, prefix)
autorigs.utils.autoRigsBuilderInterfaceUtils.createDisplayTemplate(namelabel, displaykey, prefix, menulabel, default_display=0)
autorigs.utils.autoRigsBuilderInterfaceUtils.createTransformTemplate(namelabel, prefix, controlname, transform, components=3, defaults=(0, 0, 0))
autorigs.utils.autoRigsBuilderInterfaceUtils.createTransformTemplates(namelabel, prefix, interface_control_keys, foldertemplate, controls)
autorigs.utils.autoRigsBuilderInterfaceUtils.getLabel(namelabel, controltype)
autorigs.utils.autoRigsBuilderInterfaceUtils.getLabelTransform(namelabel, prefix, controltype, transform)
autorigs.utils.autoRigsBuilderInterfaceUtils.getName(namelabel, prefix, controltype)
autorigs.utils.autoRigsBuilderInterfaceUtils.getNamePrefix(namelabel, index)
autorigs.utils.autoRigsBuilderInterfaceUtils.getNameTransform(namelabel, prefix, controltype, transform)
autorigs.utils.autoRigsBuilderInterfaceUtils.linkDisplay(assetnode, parm_id, nodesgroup, indexes)

Link the display of the controlgroup to autorig display enum parameter. This function will not override existing linking of display to other parameters. assetnode: the autorigs node parm_id: the name of the paramater used in expression nodesgroup: the nodesgroup to link the display to indexes: (Tuples) the indexes of the enum to map the display

autorigs.utils.autoRigsBuilderInterfaceUtils.linkDisplayTemplate(controls, controlkeys, assetnode, displayname, displayformat)
autorigs.utils.autoRigsBuilderInterfaceUtils.linkDisplayTemplateFKIK(controls, controlkeys, assetnode, displayname, displayfkikname, displayformat)
autorigs.utils.autoRigsBuilderInterfaceUtils.linkSwitchTemplate(controls, controlkeys, assetnode, displayname, displayformat)
autorigs.utils.autoRigsBuilderInterfaceUtils.linkTransformTemplate(namelabel, assetnode, controls, prefix, controlname, interfacename, transform)
autorigs.utils.autoRigsBuilderInterfaceUtils.linkTransformTemplateObj(assetnode, control, interface_name, transform)

Link the transform parm template interface to the control. assetnode: (hou.Node) the autorigs node, control: (hou.Node) the control with the parameter to be linked, interface_name: (str) the interface/parameter name, transform: (str) the transform to link

autorigs.utils.autoRigsBuilderInterfaceUtils.linkTransformTemplates(namelabel, assetnode, controls, prefix, interface_control_keys)
autorigs.utils.autoRigsBuilderInterfaceUtils.linkTransformTemplatesObj(assetnode, interfacename_controls)

Link the given transform (t, r, s) parm templates assetnode: (hou.ObjNode) the assetnode with the autorigs interface interfacename_controls: (List) (parmname, rigcontrol, transforms)

autorigs.utils.autoRigsBuilderInterfaceUtils.relativePathChParmTo(node, relnode, parm)

autorigs.utils.autoRigsBuilderNameUtils module

autorigs.utils.autoRigsBuilderNameUtils.getInterfaceName(cls, prefix, key)
autorigs.utils.autoRigsBuilderNameUtils.getMatchFKIKFcnName(cls, prefix)
autorigs.utils.autoRigsBuilderNameUtils.getMatchIKFKFcnName(cls, prefix)

autorigs.utils.autoRigsBuilderUtils module

This module stores functionality to build bones from nulls for autorigs TODO: This module needs to be refactored. Most of it is copied from ../rigtoolutils/rigutils.py and ../rigtoolutils/iktwisttool.py

autorigs.utils.autoRigsBuilderUtils.addObjControlsToGroup(controls, group)
autorigs.utils.autoRigsBuilderUtils.appendNodeGroups(src, dest)

src: (NodesDataGroup) src data group dest: (NodesDataGroup) dest data group

autorigs.utils.autoRigsBuilderUtils.buildBoneBetweenNulls(null0, null1, netparent, boneparent, name)

Given two nulls, creates a bone between the origins of the two nulls and adds boneparent as the parent of the newly created bone

autorigs.utils.autoRigsBuilderUtils.calculatePlaneNormal(obj0, obj1, obj2)
autorigs.utils.autoRigsBuilderUtils.cleanNode(node)

Removes all contents of given node

autorigs.utils.autoRigsBuilderUtils.copyNodeGroup(src, dest, group_key, src_idx=0, dest_idx=0)

Copy the specific node gorup from src builder to dest builder src: (AutoRigsBaseBuilder) src builder dest: (AutoRigsBaseBuilder) dest builder group_key: the key of the group as defined in AutoRigsBaseBuilder

autorigs.utils.autoRigsBuilderUtils.createIKSolverWithBones(netparent, startbone, endbone, solvername, endcontrol, chopnet=None, chopnetname='KIN_chop')

Given a start bone and end bone, creates an chop network with ik solver in it Optional parameters to give an already existing chopnetwork to place solver in

autorigs.utils.autoRigsBuilderUtils.createIKTwistSolverWithBones(netparent, startbone, endbone, solvername, endcontrol, twistcontrol, chopnet=None, chopnetname='Kin_chop')
autorigs.utils.autoRigsBuilderUtils.createNewBoneNonOriented(obj0, obj1, parent, netparent, name)

Given two objs, creates a bone between them in netparent with prefix name such that the position is at obj0 and the end of bone is at obj1. This function also parents the newbone to parent

autorigs.utils.autoRigsBuilderUtils.createNewBoneNonOrientedFromPosition(pos0, obj1, netparent, name)
autorigs.utils.autoRigsBuilderUtils.createNewBoneOriented(obj0, obj1, normal, boneparent, netparent, name)

Given two objs, places a bone in between them such that the bone is positioned at obj0 world and the end of the bone is at obj1 world. The bone is oriented such that its x-axis is aligned with the normal.

input:
boneparent - parent of the bone netparent - where to create the bone in the network

this can be used in conjunction with calculatePlaneNormal to get the normal of the plane that three nulls to create a bone orientation plane

autorigs.utils.autoRigsBuilderUtils.createNewBoneOrientedHelper(obj0, obj1, normal, parent, netparent, name)

Given two objs, creates a bone between them in netparent with prefix name such that the position is at obj0 and the end of bone is at obj1. This function also parents the newbone to parent

autorigs.utils.autoRigsBuilderUtils.createNullAtEndOfBone(bone, name)

Creates a null at the end of the bone

autorigs.utils.autoRigsBuilderUtils.createNullAtNode(node, name)

Creates a null at the input node

autorigs.utils.autoRigsBuilderUtils.initBoneSettings(b)
autorigs.utils.autoRigsBuilderUtils.initSettingsInBonesGroup(bonegroup)
autorigs.utils.autoRigsBuilderUtils.isObjectNode(node)
autorigs.utils.autoRigsBuilderUtils.makeBonesFromCurve(curve, chainname, numberofbones, kintype)
autorigs.utils.autoRigsBuilderUtils.setAllRestAngles(node, value)
autorigs.utils.autoRigsBuilderUtils.setAllRotateParms(node, value)

autorigs.utils.autoRigsColors module

class autorigs.utils.autoRigsColors.AutoRigsColors
BONE_NETWORK = <hou.Color r=1, g=0.8, b=0>
CONTROL_NETWORK = <hou.Color r=0, g=0.75, b=0>
VIEWPORT_GUIDE = <hou.Color r=0, g=0.9, b=0>

autorigs.utils.buildGuideHelper module

autorigs.utils.buildGuideHelper.addAngleParameter(guide, r_parm, r_range, offset=0, negative=True)

Adds an angle parameter to the given guide, and drive the expression for r_parm. The expression is “offset (+ or -) angle” guide: the guide node to add the parameter, r_parm: the rotate parm_name to be driven by the angle, r_range: the hard range for the angle (min, max), offset: offset for the expression, negative: + or -

autorigs.utils.buildGuideHelper.addPoseScope(node, parm, input_sop=None)

Adds posescope to the geo node and point it to parm. node: the node to create the pose scope, parm: the parm name to map the pose scope to, input_sop: a specific input within the node to connect the nodes to

autorigs.utils.buildGuideHelper.clearReferences(node)
autorigs.utils.buildGuideHelper.copyAllParms(src, dst)

Copies all the values of the parameters from the src node to the dst node.

autorigs.utils.buildGuideHelper.createAndMirrorNode(node, copyname, display=False, parent=None)

Copy and mirror the given node

autorigs.utils.buildGuideHelper.createArrowPicker(node)

Creates an arrow picker sop. node: (objNode) the sop node to create the arrow

autorigs.utils.buildGuideHelper.createGuideLines(parent, name, src, dests, color=(0, 0, 0), resample=False, segment_multiplier=100)

Creates a line point from src to each of the destination nodes. parent: the parent node to create the geometry, name: name of the node, src: the src node, dests: the list of nodes for which to create lines, color: the color of the lines, default is black, resample: whether to resample and make the line dashes, segment_multiplier: the multiplier for segmentation of resampling

autorigs.utils.buildGuideHelper.createNull(parent_node, name, parent=None, keeppos=False, size=0.05, fxn=None)

Create a basic null node(control)

autorigs.utils.buildGuideHelper.createSimpleParentCHOP(node, parent, maskvalue=None, blendvalue=1, keeppos=False, blendparm=None)

Creates a simple parent blend constraint. node: the node to be parented, parent: the parent node, maskvalue: the mask value to apply on the blend, keeppos: whether to keep position

autorigs.utils.buildGuideHelper.deleteGuides(nodesdata)
autorigs.utils.buildGuideHelper.displayGuides(nodesdata, display)
autorigs.utils.buildGuideHelper.lockGuide(guide, lock)
autorigs.utils.buildGuideHelper.lockGuideData(guidedata, lock)
autorigs.utils.buildGuideHelper.lockGuides(nodesdata, lock)
autorigs.utils.buildGuideHelper.makeNonRenderable(geo_node)

Make the geo node not renderable

autorigs.utils.buildGuideHelper.makeReferenceCopy(node, copyname, display=False, parent=None)
autorigs.utils.buildGuideHelper.makeTransformParamReferences(node, newnode)

Set mirrored transform references for the newnode

autorigs.utils.buildGuideHelper.mirrorNode(src, dest, display=False)

Mirror the src node on to the dest node src: source node dest: mirrored node display: whether to display the mirrored node

autorigs.utils.buildGuideHelper.mirrorNodes(src_list, dest_list)

Mirror all the src nodes in a list

autorigs.utils.buildGuideHelper.renameGuides(nodesdata, guidenames)
autorigs.utils.buildGuideHelper.setPosition(node, xyztuple)
autorigs.utils.buildGuideHelper.setRotation(node, xyztuple)
autorigs.utils.buildGuideHelper.setTRSPNodeParms(src, dst)
autorigs.utils.buildGuideHelper.snapGuideToGeometry(guide, node, geo, primgrp=None)

Snap the guide to the center of the geometry guide: the guide to snap node: the obj node of the geometry geometry: the geometry data (hou.Geometry) primgrp: the primitive group for bounding box

autorigs.utils.buildGuideHelper.toJSON(nodesdata)
autorigs.utils.buildGuideHelper.updateMirror(nodesdata, value)
autorigs.utils.buildGuideHelper.updateSide(nodesdata, mirrornodesdata, value)

autorigs.utils.captureutils module

autorigs.utils.captureutils.addAutoRigNodeGroupsParm(capture, region_parm_name, expr)

Adds a new parm for storing autorigs nodegroups, and drive the given parm with expression capture: (hou.Node) the capture node to add a new parm template, region_parm_name: (str) the parm name that will be driven by expression, expr: (str) the expression to drive

autorigs.utils.captureutils.addBoneGroupToParm(node, bonegroup)

Adds the bonegroup to the AutoRigs Node Groups Parameter node: the capture node to edit bonegroup: the node group to add to the parm

autorigs.utils.captureutils.buildCapture(autorigs_asset, bonecapture_postfix='', bonegroup=None)
autorigs.utils.captureutils.cookCaptureNetwork(autorigs_asset)

Cook the capture network by turning on deform

autorigs.utils.captureutils.createCapture_(capture_type, parent, geo_input, deform, stash, asset)
autorigs.utils.captureutils.createFalloffOverride(geo_obj, prefix, curve_geo, bonegroup, embed_out=None, exclude_group=None)
autorigs.utils.captureutils.deleteGroup(geoobj, group)

Deletes the specified group from the geoobj. geoobj: (hou.Node) the geometry from which to delete the group, group: (str) the group to delete

autorigs.utils.captureutils.findOrCreateNode_(parent, node_type, node_name)
autorigs.utils.captureutils.overrideCaptureRegion(parent, capture_geo, bonegroup)

Overrides the capture region using the same capture override path. parent: (hou.Node) the node where the capture network resides, capture_geo: (hou.ObjNode) the node that defines the bounding region, bonegroup: (hou.NodeGroup) the nodegroup that contains the bones of interest

autorigs.utils.faceutils module

autorigs.utils.faceutils.addLocatorSlot(node)
autorigs.utils.faceutils.addPrimParm(node)
autorigs.utils.faceutils.addUVParm(node, name='uv', label='uv', num_components=2, min=0.0, max=1.0, default_value=())
autorigs.utils.faceutils.bakeCage(template, character)

Bake the low poly cage from template to character specific poly cage

autorigs.utils.faceutils.bakeLPC(kwargs)
autorigs.utils.faceutils.buildCaptureNetwork(cpc, face_blines)
autorigs.utils.faceutils.cageGuideFromPoint(point, parent)
autorigs.utils.faceutils.clearBlendShapes(blendshapes, tmp_inputs)
autorigs.utils.faceutils.createBone(ctrl, name, ngrp=None)
autorigs.utils.faceutils.createCPCNetwork(lpc)
autorigs.utils.faceutils.createCagePoints()
autorigs.utils.faceutils.createCpc(lpc)

Creates the character specific low poly cage

autorigs.utils.faceutils.createLocator(parent, name)
autorigs.utils.faceutils.createLocatorAtIndex(node, parent, idx, prim, uv)

Create a locator at the specified index slot with the given prim and uv.

autorigs.utils.faceutils.createLocatorPresets(kwargs)
autorigs.utils.faceutils.createMasterLocatorOffset(cpc)

Creates an offset guide hovering over where the user clicks

autorigs.utils.faceutils.createMasterLocatorOffsetFromUV(cpc, name, uv)
autorigs.utils.faceutils.createMultiMasterOffset(cpc)
autorigs.utils.faceutils.createMultiSurfaceLocators(node)

Creates multiple surface locators

autorigs.utils.faceutils.createOffsetConstraints(offset, parent_offset=None)

Constraint the offsets so that they follow the parent offset translates

autorigs.utils.faceutils.createOffsetControl(locator, name, t, parent_offset=None)
autorigs.utils.faceutils.createOffsetControls(locators, rayTo)
autorigs.utils.faceutils.createOffsetParmExpressions(node, parent_offset, base_parm_name, directions)
autorigs.utils.faceutils.createPrimMasterLocatorOffset(parent, prim_id, cpc)
autorigs.utils.faceutils.createSurfaceLocator(kwargs)

Creates a locator on the specified UV position of the surface. This is should be called from the context of the surface patching node.

autorigs.utils.faceutils.createSurfacePatches(geo, srcgeo, grp_suffix, corner_primgroup)

Create the surface patches on to geo based on srcgeo. geo: the geometry to create the NURBS patches, srcgeo: the geometry where the patches are defined, grp_suffix: the group suffix to identify a patch group,

autorigs.utils.faceutils.createSurfacePatchingInterface(n)
autorigs.utils.faceutils.createSurfacePatchingNetwork(n, sop_input)
autorigs.utils.faceutils.findClosestSurfaceOffset(sop, obj)

Find the closest point on the surface to the object (null).

autorigs.utils.faceutils.findMirrorPrimUV(sop, rayorig, dir)
autorigs.utils.faceutils.findNodeByType(parent, type_name)
autorigs.utils.faceutils.generateCageGuides(sop, parent)

Generates the cage guides subnet inside parent

autorigs.utils.faceutils.generateRig(cpc)
autorigs.utils.faceutils.getParentOffset(cpc, loc_id)
autorigs.utils.faceutils.getPrimOffsetNameFromPrimId(cpc, prim_id)
autorigs.utils.faceutils.initBoneSettings(b)
autorigs.utils.faceutils.pickSurfaceUVs(sop, message='Pick a location on the surface to create a locator')
autorigs.utils.faceutils.rayToGeo(geo, oript, dir)

Find the intersection point to geo of the ray.

autorigs.utils.faceutils.recaptureBones(kwargs)
autorigs.utils.faceutils.saveGeometry(sop, node, name)
autorigs.utils.faceutils.selectPrimtiveUVs(orisop, prompt, icon, label)
autorigs.utils.faceutils.setParmsFromUV(cpc, node, uv)

Sets the translates and rotates of the node so that it is hovering above the provided uv coordinates and rotated tangentially with the z-axis pointing away from the surface

autorigs.utils.faceutils.sopCreateEdit(name, sop1, sop2)
autorigs.utils.faceutils.updateCageGuide(point, guide)
autorigs.utils.faceutils.updateCageGuides(sop, cage_guides)
autorigs.utils.faceutils.updateChannelsMapping(patch_node)

Update the constraint channel path of a locator node, in accordance to the order executed by the channel wrangle.

autorigs.utils.faceutils.updatePolyCage(node)

autorigs.utils.fkcontrols module

TODO This is copied from ../rigtoolutils/fkcontrols.py and modified to remove the stretch

autorigs.utils.fkcontrols.createFKControls(nameslist, startbone, endbone, inchain=False)

Creates FK controls for each bone from start bone to end bone with the name prefix + ‘fkcontrol’

required type: nameslist should be in reverse order of the bone chain inchain specifies whether the fk controls should be part of the bone chain or off to the side

autorigs.utils.geometryutils module

autorigs.utils.geometryutils.addFileNodeToGeoSkin(geoskin, filename)
autorigs.utils.geometryutils.addGeoSectionToAsset(geonode, geoname, assetnode)
autorigs.utils.geometryutils.addObjectMergeToGeoSkin(geoskin, objpath, group)
autorigs.utils.geometryutils.buildCapture(autorigs_asset, bonecapture_postfix='', bonegroup=None)
autorigs.utils.geometryutils.destroyGuides(geoguides)
autorigs.utils.geometryutils.getFileName(name)
autorigs.utils.geometryutils.getGeoName(name)
autorigs.utils.geometryutils.getGeometry(node)
autorigs.utils.geometryutils.placeGeometry(autorigs_asset, stand_in, geoskin)

autorigs.utils.guideOptionsHelper module

autorigs.utils.guideOptionsHelper.createToggleButtonsWidget(label, buttonlabels, default_checked_idx, onbuttonclicked=None)

autorigs.utils.guideParamsHelper module

autorigs.utils.guideParamsHelper.beautifyLabel(name)
autorigs.utils.guideParamsHelper.createParamWidget(paramobj, paramwidget_dst=None, label=True)
autorigs.utils.guideParamsHelper.createScrollLayout(widget, scroll_policy=<sphinx.ext.autodoc.importer._MockObject object>)

Creates a borderless scroll layout for the given widget

autorigs.utils.guideParamsHelper.fromJSON(json, widgets)
autorigs.utils.guideParamsHelper.getEditableGuideObj(label, nodes, params)
autorigs.utils.guideParamsHelper.hasUnsavedChanges(widgets)
autorigs.utils.guideParamsHelper.markSaved(widgets)
autorigs.utils.guideParamsHelper.setParamWidget(widget, value)
autorigs.utils.guideParamsHelper.toJSON(widgets)
autorigs.utils.guideParamsHelper.unlinkParmWidgetDict(paramdict)
autorigs.utils.guideParamsHelper.unlinkParmWidgetList(paramwidgets)

autorigs.utils.iktwistcontrols module

TODO This is copied from ../rigtoolutils/iktwistcontrols.py and modified to have postdict

autorigs.utils.iktwistcontrols.createControlsWithBones(hastwist, startbone, endbone, parent, prefix, postdict)

Given hastwist = False (ik control) or hastwist = True (ik twist control) adds the controls to the given bone chain. Assumes that endbone is in the same chain as the start_bone. The parent is the parent of the whole structure. The prefix is the prefix name. postfix is a dictionary of values for the names

Required values for postdict are:
end - endaffector for the bones endhook - endcontrol for the end affector chopnet - chopnet that stores all the inversekin chops. Not necessary if one is provided iksolver - inversekin solver
if hastwist is true:
twist = twistaffector for the bones twisthook - twistcontrol for the twist affector
autorigs.utils.iktwistcontrols.createIKControl(startbone, endbone, parent, netparent, prefix, postdict, chopnet)

Creates a new chopnet and assigns the IK controls to all bones between start bone and end bone Assumes that startbone is parent and endbone is a child of the parent

autorigs.utils.iktwistcontrols.createIKWithTwistControl(startbone, endbone, parent, netparent, prefix, postdict, chopnet, rigscale)

Similar to createIKControl but also adds a twist affector

autorigs.utils.iktwistcontrols.createName(prefix, postdict, key)

autorigs.utils.rigutils module

TODO This is copied from rigutils.py

autorigs.utils.rigutils.buildBoneBetweenNulls(null0, null1, netparent, boneparent, name)

Given two nulls, creates a bone between the origins of the two nulls and adds boneparent as the parent of the newly created bone

autorigs.utils.rigutils.createNullAtEndOfBone(netparent, bone, name)

Creates a null at the end of the bone

autorigs.utils.rigutils.createNullAtNode(netparent, node, name)

Creates a null at the input node

autorigs.utils.rigutils.createNullHookForNode(netparent, node, name)

Creates a null parent for the node

autorigs.utils.rigutils.getAverageBoneChainLength(startbone, endbone)
autorigs.utils.rigutils.getFKControl(bone)
autorigs.utils.rigutils.getRandomColor()
autorigs.utils.rigutils.getTotalBoneChainLength(startbone, endbone)

Returns (totalbonelength, numberofbones) from start bone to end bone inclusive

autorigs.utils.rigutils.isChildConnectedToParent(child, parent)

Returns whether child is connected to parent Returns true if child is parent

autorigs.utils.rigutils.lockAllPivotParms(node, value=True)
autorigs.utils.rigutils.lockAllRotateParms(node, value=True)
autorigs.utils.rigutils.lockAllScaleParms(node, value=True)
autorigs.utils.rigutils.lockAllTranslateParms(node, value=True)
autorigs.utils.rigutils.numNodesFromChildToParent(child, parent)

Returns number of nodes from child to parent or until it reaches the end of the chain if child is not connected to parent

autorigs.utils.rigutils.setAllRestAngles(node, value)
autorigs.utils.rigutils.setAllRotateParms(node, value)
autorigs.utils.rigutils.setAllTranslateParms(node, value)
autorigs.utils.rigutils.setDisplayColor(node, color)
autorigs.utils.rigutils.setWireframeColorExpression(colorobj, refobj, refparm)

Sets the dcolorr/g/b of colorobj to be referenced to refobj/refparmrgb

Module contents