Class

OCOBone

OCOBone(name)

A bone contained in an OCO Limb.
Constructor

# new OCOBone(name)

Creates a new OCO Bone.
Parameters:
Name Type Description
name string The name

View Source Duik_api_fordoc.jsxinc, line 18577

Members

Boolean

# static attached

true if this bone is attached to its parent.

View Source Duik_api_fordoc.jsxinc, line 18607

Array.<OCOBone>

# static children

The child bones.

View Source Duik_api_fordoc.jsxinc, line 18614

Array.<OCOLimb>

# static limbs

The child limbs.

View Source Duik_api_fordoc.jsxinc, line 18621

string

# static name

The name of the bone

View Source Duik_api_fordoc.jsxinc, line 18579

OCO.Bone

# static type

The type of bone.

View Source Duik_api_fordoc.jsxinc, line 18628

float

# static x

The x coordinate of the bone

View Source Duik_api_fordoc.jsxinc, line 18586

float

# static y

The y coordinate of the bone

View Source Duik_api_fordoc.jsxinc, line 18593

int

# static zIndex

An arbitrary Z-index. Higher is under, lower is above

View Source Duik_api_fordoc.jsxinc, line 18600

Object

# envelop

The envelop of the bone,
In a meta rig, this is a silhouette which will contain the design, and can be used to help locate the joint, link the design to the bone, etc.
In a rigged character, this should be a simple silhouette close to the artwork silhouette.

View Source Duik_api_fordoc.jsxinc, line 18642

Methods

# static fromComp(layer, doc) → {OCOBone}

Creates a bone using a layer from a comp
Parameters:
Name Type Description
layer Layer the layer
doc OCODoc the doc which will be containing the bone. Needed for coordinates.

View Source Duik_api_fordoc.jsxinc, line 39625

the bone
OCOBone

# static fromObject(data) → {OCOBone}

Creates a bone from a js object.
Parameters:
Name Type Description
data Object The js object representing the bone

View Source Duik_api_fordoc.jsxinc, line 18884

The new bone
OCOBone

# static getBoneId(name, fuzzyopt) → {OCO.Bone}

Gets the internal bone id according to the (localized) given name, using the synonyms dictionnary
Parameters:
Name Type Attributes Default Description
name string The name to look for
fuzzy boolean <optional>
true Performs a fuzzy search

View Source Duik_api_fordoc.jsxinc, line 39704

The bone id
OCO.Bone

# static getNameSynonyms(name, fuzzyopt) → {Array.<string>}

Gets the (localized) synonyms of this name
Parameters:
Name Type Attributes Default Description
name string The name to look for
fuzzy boolean <optional>
true Performs a fuzzy search

View Source Duik_api_fordoc.jsxinc, line 39656

The synonyms. A 'score' property is added to the object to be used in case of fuzzy search.
Array.<string>

# static zBounds() → {Array.<int>}

Finds the maximum and minimum Z index from all bones

View Source Duik_api_fordoc.jsxinc, line 18857

The [min, max] Z indices
Array.<int>

# getBones() → {Array.<OCOBone>}

Gets all the bones sorted by z index

View Source Duik_api_fordoc.jsxinc, line 18835

The list of bones
Array.<OCOBone>

# getLayers() → {Array.<Layer>}

Gets the After Effects child layers of this bone (including it)

View Source Duik_api_fordoc.jsxinc, line 39607

May be an empty array if this bone has not been created in After Effects yet
Array.<Layer>

# getLimbs() → {Array.<OCOLimb>}

Recursively gets all the children limbs of this bone

View Source Duik_api_fordoc.jsxinc, line 18722

The array of all limbs
Array.<OCOLimb>

# length() → {int}

The length of the bone (this distance with its first child)

View Source Duik_api_fordoc.jsxinc, line 18662

The length
int

# newLimb(limbopt, sideopt, locationopt, typeopt) → {OCOLimb}

Creates a new limb and adds it to the bone
Parameters:
Name Type Attributes Default Description
limb OCO.Limb <optional>
OCO.Limb.CUSTOM A Predefined limb
side OCO.Side <optional>
OCO.Side.NONE The side of the limb
location OCO.Location <optional>
OCO.Location.NONE The location of the limb
type OCO.LimbType <optional>
OCO.LimbType.CUSTOM The type of the limb

View Source Duik_api_fordoc.jsxinc, line 18677

The new limb
OCOLimb

# normalizeZIndices(offsetopt) → {int}

Normalizes the Z indices of all bones so they're positive (including 0) and continuous integers
Parameters:
Name Type Attributes Default Description
offset int <optional>
0 An offset/start number

View Source Duik_api_fordoc.jsxinc, line 18818

The highest index
int

# numBones() → {int}

Counts the total number of child bones

View Source Duik_api_fordoc.jsxinc, line 18688

int

# numLimbs() → {int}

Counts the total number of child limbs

View Source Duik_api_fordoc.jsxinc, line 18706

int

# toComp(doc, limb, compopt, parentLayeropt, limbIdopt, boneIndexopt) → {Array.<Layer>}

Creates the limbs and armatures in the comp
Parameters:
Name Type Attributes Default Description
doc OCODoc The doc containing the bone.
limb OCOLimb The limb containing the bone.
comp CompItem <optional>
DuAEProject.getActiveComp() The composition to use.
parentLayer Layer <optional>
null The parent layer of the bone.
limbId int <optional>
A Unique identifier for this armature. If omitted, a new one will be assigned.
boneIndex int <optional>
0 The index of the bone in the chain.

View Source Duik_api_fordoc.jsxinc, line 39484

The new layers
Array.<Layer>

# toObject() → {Object}

Creates a js object containing this bone data.
This object could then be exported to JSON for example.

View Source Duik_api_fordoc.jsxinc, line 18782

the JS Object
Object

# translate(xopt, yopt, translateChildrenopt)

Translates the bone by [x, y] pixels
Parameters:
Name Type Attributes Default Description
x int <optional>
0 The horizontal offset
y int <optional>
0 The vertical offset
translateChildren bool <optional>
true If false, the children stay at their current location

View Source Duik_api_fordoc.jsxinc, line 18738

# translateTo(xopt, yopt, translateChildrenopt)

Translates the bone to the new coordinates
Parameters:
Name Type Attributes Default Description
x int <optional>
The new X value. If omitted, moves the layer vertically
y int <optional>
The new Y value. If omitted, moves the layer horizontally
translateChildren bool <optional>
true If false, the children stay at their current location

View Source Duik_api_fordoc.jsxinc, line 18759