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 DuESF.jsxinc, line 17257

Members

OCO.Limb

# static limb

The predefined limb

View Source DuESF.jsxinc, line 17259

Array.<OCOLimb>

# static limbs

The limbs/ Armatures

View Source DuESF.jsxinc, line 15697

OCO.Location

# static location

The location of the limb

View Source DuESF.jsxinc, line 17280

Array.<OCOBone>

# static location

The bones of the limb

View Source DuESF.jsxinc, line 17287

OCO.Side

# static side

The sided of the limb

View Source DuESF.jsxinc, line 17273

OCO.LimbType

# static type

The type of the limb

View Source DuESF.jsxinc, line 17266

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 DuESF.jsxinc, line 17459

The new limb
OCOLimb

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

Gets the boundaries of the limb

View Source DuESF.jsxinc, line 17328

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

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

Gets all the bones sorted by z index

View Source DuESF.jsxinc, line 17424

The list of bones
Array.<OCOBone>

# 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 DuESF.jsxinc, line 17340

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 DuESF.jsxinc, line 17407

The highest index
int

# numBones() → {int}

Counts the total number of bones in this limb

View Source DuESF.jsxinc, line 17300

int

# numLimbs() → {int}

Counts the total number of limbs in this limb

View Source DuESF.jsxinc, line 17314

int

# toObject() → {Object}

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

View Source DuESF.jsxinc, line 17383

The JS Object
Object

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

Finds the maximum and minimum Z index from all bones

View Source DuESF.jsxinc, line 17441

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