## OCO

The Open Cut Out library

View Source Duik_api_fordoc.jsxinc, line 15707

### Requires

- module:yaml.jsxinc
- module:json.jsxinc

# Members

Type: `string`

#### # static Bone

Some bone identifierss

##### Properties:

Name | Type | Description
--- | --- | ---
`CUSTOM` | `string` |
`TIP` | `string` |
`CLAVICLE` | `string` |
`HUMERUS` | `string` |
`RADIUS` | `string` |
`CARPUS` | `string` |
`FINGER` | `string` |
`HEEL` | `string` |
`FEMUR` | `string` |
`TIBIA` | `string` |
`TARSUS` | `string` |
`TOE` | `string` |
`HIPS` | `string` |
`SPINE` | `string` |
`TORSO` | `string` |
`NECK` | `string` |
`SKULL_TIP` | `string` |
`SKULL` | `string` |
`TAIL` | `string` |
`TAIL_ROOT` | `string` |
`TAIL_MID` | `string` |
`TAIL_END` | `string` |
`FEATHER` | `string` |
`SNAKE_SPINE_ROOT` | `string` |
`SNAKE_SPINE_MID` | `string` |
`SNAKE_SPINE_END` | `string` |
`FISH_SPINE_ROOT` | `string` |
`FISH_SPINE_MID` | `string` |
`FISH_SPINE_END` | `string` |
`HAIR` | `string` |
`HAIR_ROOT` | `string` |
`HAIR_MID` | `string` |
`HAIR_END` | `string` |
`FIN` | `string` |
`FIN_FISHBONE` | `string` |

View Source Duik_api_fordoc.jsxinc, line 15745

Type: `Array.<string>`

#### # static BoneName

Some (localized) bone names

View Source Duik_api_fordoc.jsxinc, line 38017

Type: `OCOConfig`

#### # static config

The OCO Configuration. This is changed everytime a new OCOConfig object is instantiated.

View Source Duik_api_fordoc.jsxinc, line 15853

##### Example

    new OCOConfig('path/to/the/OCO.config');
    OCO.config === ocoConf; // This is true, OCO.config has been changed by the previous line.
    var configPath = OCO.config.path(); // Returns the path of the current config file.

Type: `string`

#### # static ImageEncoding

How images are encoded in the OCO file

##### Properties:

Name | Type | Description
--- | --- | ---
`PNG_BASE64` | `string` |
`RELATIVE_PATH` | `string` |
`ABSOLUTE_PATH` | `string` |

View Source Duik_api_fordoc.jsxinc, line 15839

Type: `string`

#### # static Limb

Predefined limbs

##### Properties:

Name | Type | Description
--- | --- | ---
`SPINE` | `string` |
`ARM` | `string` |
`LEG` | `string` |
`TAIL` | `string` |
`WING` | `string` |
`HAIR` | `string` |
`SNAKE_SPINE` | `string` |
`FISH_SPINE` | `string` |
`FIN` | `string` |
`CUSTOM` | `string` |

View Source Duik_api_fordoc.jsxinc, line 15728

Type: `string`

#### # static LimbType

Types of limbs

##### Properties:

Name | Type | Description
--- | --- | ---
`HOMINOID` | `string` |
`PLANTIGRADE` | `string` |
`DIGITIGRADE` | `string` |
`UNGULATE` | `string` |
`ARTHROPOD` | `string` |
`CUSTOM` | `string` |

View Source Duik_api_fordoc.jsxinc, line 15787

Type: `string`

#### # static Location

Locations for the limbs. Use these with `OCO.Side` to differenciate similar limbs,
for example, a leg can be Front-Right, Front-Left, Back-Right, Back-Left, etc.

##### Properties:

Name | Type | Description
--- | --- | ---
`FRONT` | `string` |
`BACK` | `string` |
`TAIL` | `string` |
`MIDDLE` | `string` |
`ABOVE` | `string` |
`UNDER` | `string` |
`NONE` | `string` |

View Source Duik_api_fordoc.jsxinc, line 15812

Type: `string`

#### # static Side

Sides for the limbs Use these with `OCO.Location` to differenciate similar limbs,
for example, a leg can be Front-Right, Front-Left, Back-Right, Back-Left, etc.

##### Properties:

Name | Type | Description
--- | --- | ---
`LEFT` | `string` |
`RIGHT` | `string` |
`NONE` | `string` |

View Source Duik_api_fordoc.jsxinc, line 15801

Type: `string`

#### # static Type

Types of OCO armatures

##### Properties:

Name | Type | Description
--- | --- | ---
`META` | `string` | A meta-rig, used to automatically create a default armature to be used with an auto-rig.
`CHARACTER` | `string` | An actual (rigged) character.

View Source Duik_api_fordoc.jsxinc, line 15713

Type: `int`

#### # static View

View axis for limbs.

##### Properties:

Name | Type | Description
--- | --- | ---
`FRONT` | `int` |
`LEFT` | `int` |
`RIGHT` | `int` |
`BACK` | `int` |
`TOP` | `int` |
`BOTTOM` | `int` |

View Source Duik_api_fordoc.jsxinc, line 15826

# Methods

#### # static getBounds(armature) → {Array.<float>}

Gets the boundaries of an armature (a chain of bones)

##### Parameters:

Name | Type | Description
--- | --- | ---
`armature` | `Array.<OCOBone>` | The chain of bones

View Source Duik_api_fordoc.jsxinc, line 15860

Returns:
[left, top, right, bottom]
Type: `Array.<float>`