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 17488

Members

Boolean

# static attached

true if this bone is attached to its parent.

View Source DuAEF.jsxinc, line 17518

Array.<OCOBone>

# static children

The child bones.

View Source DuAEF.jsxinc, line 17525

Array.<OCOLimb>

# static limbs

The child limbs.

View Source DuAEF.jsxinc, line 17532

string

# static name

The name of the bone

View Source DuAEF.jsxinc, line 17490

OCO.Bone

# static type

The type of bone.

View Source DuAEF.jsxinc, line 17539

float

# static x

The x coordinate of the bone

View Source DuAEF.jsxinc, line 17497

float

# static y

The y coordinate of the bone

View Source DuAEF.jsxinc, line 17504

int

# static zIndex

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

View Source DuAEF.jsxinc, line 17511

# 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 17552

Methods

# 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 17780

The new bone
OCOBone

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

Finds the maximum and minimum Z index from all bones

View Source DuAEF.jsxinc, line 17753

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

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

Gets all the bones sorted by z index

View Source DuAEF.jsxinc, line 17731

The list of bones
Array.<OCOBone>

# length() → {int}

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

View Source DuAEF.jsxinc, line 17572

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 17587

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 17714

The highest index
int

# numBones() → {int}

Counts the total number of child bones

View Source DuAEF.jsxinc, line 17598

int

# numLimbs() → {int}

Counts the total number of child limbs

View Source DuAEF.jsxinc, line 17616

int

# 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 17678

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 17634

# 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 17655