Class

OCOLimb

OCOLimb(limbopt, sideopt, locationopt, typeopt)

A limb contained in an OCO Doc.
Constructor

# new OCOLimb(limbopt, sideopt, locationopt, typeopt)

Creates a new OCO Limb.
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 18359

Members

OCO.Limb

# static limb

The predefined limb

View Source DuAEF.jsxinc, line 18361

Array.<OCOLimb>

# static limbs

The limbs/ Armatures

View Source DuAEF.jsxinc, line 16785

OCO.Location

# static location

The location of the limb

View Source DuAEF.jsxinc, line 18382

Array.<OCOBone>

# static location

The bones of the limb

View Source DuAEF.jsxinc, line 18389

OCO.Side

# static side

The sided of the limb

View Source DuAEF.jsxinc, line 18375

OCO.LimbType

# static type

The type of the limb

View Source DuAEF.jsxinc, line 18368

Methods

# static fromObject(data) → {OCOLimb}

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

View Source DuAEF.jsxinc, line 18575

The new limb
OCOLimb

# bounds() → {Array.<float>}

Gets the boundaries of the limb

View Source DuAEF.jsxinc, line 18444

[left, top, right, bottom]
Array.<float>

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

Gets all the bones sorted by z index

View Source DuAEF.jsxinc, line 18540

The list of bones
Array.<OCOBone>

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

Recursively gets all the children limbs of this limb

View Source DuAEF.jsxinc, line 18430

The array of all limbs
Array.<OCOLimb>

# newArmature(name, numopt, lengthopt) → {OCOBone}

Creates a new chain of bones and adds it to the limb.
Parameters:
Name Type Attributes Default Description
name string The name of the bones (will increment if needed)
num int <optional>
2 The number of bones in the chain
length float <optional>
100.0 The length in centimeters

View Source DuAEF.jsxinc, line 18456

The root bone.
OCOBone

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

The highest index
int

# numBones() → {int}

Counts the total number of bones in this limb

View Source DuAEF.jsxinc, line 18402

int

# numLimbs() → {int}

Counts the total number of limbs in this limb

View Source DuAEF.jsxinc, line 18416

int

# toObject() → {Object}

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

View Source DuAEF.jsxinc, line 18499

The JS Object
Object

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

Finds the maximum and minimum Z index from all bones

View Source DuAEF.jsxinc, line 18557

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