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 DuAEF.jsxinc, line 18424

Members

Boolean

# static attached

true if this bone is attached to its parent.

View Source DuAEF.jsxinc, line 18454

Array.<OCOBone>

# static children

The child bones.

View Source DuAEF.jsxinc, line 18461

Array.<OCOLimb>

# static limbs

The child limbs.

View Source DuAEF.jsxinc, line 18468

string

# static name

The name of the bone

View Source DuAEF.jsxinc, line 18426

OCO.Bone

# static type

The type of bone.

View Source DuAEF.jsxinc, line 18475

float

# static x

The x coordinate of the bone

View Source DuAEF.jsxinc, line 18433

float

# static y

The y coordinate of the bone

View Source DuAEF.jsxinc, line 18440

int

# static zIndex

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

View Source DuAEF.jsxinc, line 18447

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 DuAEF.jsxinc, line 18489

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 api3.jsxinc, line 2515

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 DuAEF.jsxinc, line 18731

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 api3.jsxinc, line 2594

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 api3.jsxinc, line 2546

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 DuAEF.jsxinc, line 18704

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

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

Gets all the bones sorted by z index

View Source DuAEF.jsxinc, line 18682

The list of bones
Array.<OCOBone>

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

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

View Source api3.jsxinc, line 2497

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 DuAEF.jsxinc, line 18569

The array of all limbs
Array.<OCOLimb>

# length() → {int}

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

View Source DuAEF.jsxinc, line 18509

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 DuAEF.jsxinc, line 18524

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 DuAEF.jsxinc, line 18665

The highest index
int

# numBones() → {int}

Counts the total number of child bones

View Source DuAEF.jsxinc, line 18535

int

# numLimbs() → {int}

Counts the total number of child limbs

View Source DuAEF.jsxinc, line 18553

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 api3.jsxinc, line 2374

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 DuAEF.jsxinc, line 18629

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 DuAEF.jsxinc, line 18585

# 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 DuAEF.jsxinc, line 18606