Class

OCODoc

OCODoc(name)

An Open Cut-Out character or meta-rig document.
Constructor

# new OCODoc(name)

Creates a new OCO Document.
Parameters:
Name Type Description
name string The name of the character or the meta rig

View Source DuAEF_DuGR_api.jsxinc, line 15046

Members

Array.<float>

# static centerOfMass

The coordinates of the center of mass of the character. [X, Y].

View Source DuAEF_DuGR_api.jsxinc, line 15076

float

# static height

The height of the character. Should always be 1!

View Source DuAEF_DuGR_api.jsxinc, line 15062

string

# static name

The name of this OCO Doc

View Source DuAEF_DuGR_api.jsxinc, line 15055

string

# static type

The type of this OCO Doc

View Source DuAEF_DuGR_api.jsxinc, line 15048

float

# static width

The width of the character.

View Source DuAEF_DuGR_api.jsxinc, line 15069

string

# icon

An icon or thumbnail path

View Source DuAEF_DuGR_api.jsxinc, line 15109

OCO.ImageEncoding

# imageEncoding

How images should be encoded when exporting the doc to a file/folder

View Source DuAEF_DuGR_api.jsxinc, line 15114

float

# pixelsPerCm

The definition

View Source DuAEF_DuGR_api.jsxinc, line 15104

Array.<int>

# resolution

The resolution, in pixels, of the document

View Source DuAEF_DuGR_api.jsxinc, line 15094

Array.<float>

# world

The world origin in pixels in the document

View Source DuAEF_DuGR_api.jsxinc, line 15099

Methods

# static extractIcon(file, destinationopt) → {File}

Extracts the icon from the OCO file
Parameters:
Name Type Attributes Description
file string | File The OCO file
destination string | File <optional>
The destination file if the file is included in the OCO file. Next to the OCO file by default.

View Source DuAEF_DuGR_api.jsxinc, line 16491

The icon file, or null if there was no icon/the file could not be written.
File

# static fromFile(file) → {OCODoc|null}

Creates a new doc by reading a file
Parameters:
Name Type Description
file File | string The file

View Source DuAEF_DuGR_api.jsxinc, line 16518

The document or null if the file couldn't be read or parsed
OCODoc | null

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

Gets the boundaries of the doc

View Source DuAEF_DuGR_api.jsxinc, line 15151

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

# fromPixels(point) → {Array.<float>|float}

Converts coordinates in pixels in the world to centimeters coordinates in the doc
For multidimensionnal values (coordinates), the origin is adjusted image to doc.
Parameters:
Name Type Description
point Array.<float> | float The coordinate to convert

View Source DuAEF_DuGR_api.jsxinc, line 16396

The coordinates in centimeters relative to the doc
Array.<float> | float

# newArm(typeopt, sideopt, shoulderopt, armopt, forearmopt, handopt, clawsopt, positionopt, locationopt, viewopt) → {OCOLimb}

Creates a new arm.
Parameters:
Name Type Attributes Default Description
type OCO.LimbType <optional>
OCO.LimbType.HOMINOID The type of limb
side OCO.Side <optional>
OCO.Side.LEFT The side
shoulder Boolean <optional>
false Whether to create a shoulder
arm Boolean <optional>
true Whether to create an arm / humerus
forearm Boolean <optional>
true Whether to create a forearm
hand Boolean <optional>
true Whether to create a hand
claws Boolean <optional>
false Whether to add claws
position Array.<float> <optional>
The position of the first bone of the arm.
If omitted, computed automatically according to the current character in the doc.
location OCO.Location <optional>
OCO.Location.FRONT The location of the limb
view OCO.View <optional>
The view

View Source DuAEF_DuGR_api.jsxinc, line 15214

The arm
OCOLimb

# newFin(sideopt, fishbonesopt, positionopt, viewopt) → {OCOLimb}

Creates a new fin.
Parameters:
Name Type Attributes Default Description
side OCO.Side <optional>
OCO.Side.LEFT The side
fishbones int <optional>
5 Number of feathers
position Array.<float> <optional>
The position of the first bone of the arm.
If omitted, computed automatically according to the current character in the doc.
view OCO.View <optional>
OCO.View.RIGHT The view

View Source DuAEF_DuGR_api.jsxinc, line 16279

The fin
OCOLimb

# newFishSpine(headopt, spineopt, positionopt) → {OCOLimb}

Creates a new fish spine.
Parameters:
Name Type Attributes Default Description
head Boolean <optional>
true Whether to create a head
spine int <optional>
3 Number of spine bones
position Array.<float> <optional>
The position of the first bone of the spine.
If omitted, computed automatically according to the current character in the doc.

View Source DuAEF_DuGR_api.jsxinc, line 16194

The fish spine
OCOLimb

# newHairStrand(numBonesopt) → {OCOLimb}

Creates a new hair strand.
Parameters:
Name Type Attributes Default Description
numBones int <optional>
3 Number of hair bones

View Source DuAEF_DuGR_api.jsxinc, line 15892

The hair
OCOLimb

# newLeg(typeopt, sideopt, thighopt, calfopt, footopt, clawsopt, positionopt, locationopt, viewopt) → {OCOLimb}

Creates a new leg.
Parameters:
Name Type Attributes Default Description
type OCO.LimbType <optional>
OCO.LimbType.HOMINOID The type of limb
side OCO.Side <optional>
OCO.Side.LEFT The side
thigh Boolean <optional>
true Whether to create a thigh
calf Boolean <optional>
true Whether to create a calf
foot Boolean <optional>
true Whether to create a foot
claws Boolean <optional>
false Whether to add claws
position Array.<float> <optional>
The position of the first bone of the arm.
If omitted, computed automatically according to the current character in the doc.
location OCO.Location <optional>
OCO.Location.BACK The location of the limb
view OCO.View <optional>
The view

View Source DuAEF_DuGR_api.jsxinc, line 15549

The leg
OCOLimb

# newLimb(limbopt, sideopt, locationopt, typeopt) → {OCOLimb}

Creates a new limb and adds it to the doc
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_DuGR_api.jsxinc, line 15192

The new limb
OCOLimb

# newSnakeSpine(headopt, spineopt, positionopt) → {OCOLimb}

Creates a new snake spine.
Parameters:
Name Type Attributes Default Description
head Boolean <optional>
true Whether to create a head
spine int <optional>
5 Number of spine bones
position Array.<float> <optional>
The position of the first bone of the arm.
If omitted, computed automatically according to the current character in the doc.

View Source DuAEF_DuGR_api.jsxinc, line 16110

The snake spine
OCOLimb

# newSpine(headopt, neckopt, spineopt, hipsopt, positionopt, viewopt) → {OCOLimb}

Creates a new spine.
Parameters:
Name Type Attributes Default Description
head Boolean <optional>
true Whether to create a head
neck int <optional>
1 Number of neck bones
spine int <optional>
2 Number of spine bones
hips Boolean <optional>
true Whether to create hips
position Array.<float> <optional>
The position of the first bone of the arm.
If omitted, computed automatically according to the current character in the doc.
view OCO.View <optional>
The view

View Source DuAEF_DuGR_api.jsxinc, line 15741

The spine
OCOLimb

# newTail(numBonesopt) → {OCOLimb}

Creates a new tail.
Parameters:
Name Type Attributes Default Description
numBones int <optional>
3 Number of tail bones

View Source DuAEF_DuGR_api.jsxinc, line 15853

The spine
OCOLimb

# newWing(sideopt, armopt, forearmopt, handopt, feathersopt, positionopt, viewopt) → {OCOLimb}

Creates a new wing.
Parameters:
Name Type Attributes Default Description
side OCO.Side <optional>
OCO.Side.LEFT The side
arm Boolean <optional>
true Whether to create an arm / humerus
forearm Boolean <optional>
true Whether to create a forearm
hand Boolean <optional>
true Whether to create a hand
feathers int <optional>
5 Number of feathers
position Array.<float> <optional>
The position of the first bone of the arm.
If omitted, computed automatically according to the current character in the doc.
view OCO.View <optional>
OCO.View.TOP The view

View Source DuAEF_DuGR_api.jsxinc, line 15945

The wing
OCOLimb

# numBones() → {int}

Counts the total number of bones in this doc

View Source DuAEF_DuGR_api.jsxinc, line 15137

int

# toFile(file) → {File}

Exports the current document to an oco file
Parameters:
Name Type Description
file File | string The file.

View Source DuAEF_DuGR_api.jsxinc, line 16472

the file.
File

# toJson(imageEncodingopt, destinationFileopt) → {string}

Creates a JSON string representing this document
Parameters:
Name Type Attributes Default Description
imageEncoding OCO.ImageEncoding <optional>
OCO.ImageEncoding.PATH How to encode images in the OCO File
destinationFile File <optional>
If imageEncoding is `OCO.ImageEncoding.PATH`, you must provide the OCO file to make the paths relative to it.

View Source DuAEF_DuGR_api.jsxinc, line 16449

the JSON document
string

# toObject() → {Object}

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

View Source DuAEF_DuGR_api.jsxinc, line 16418

the JS Object
Object

# toPixels(point) → {Array.<int>}

Converts a doc coordinate/value in centimeters to pixel coordinates.
For multidimensionnal values (coordinates), the origin is adjusted from doc to image.
Parameters:
Name Type Description
point Array.<float> The coordinate to convert

View Source DuAEF_DuGR_api.jsxinc, line 16377

The coordinates in pixels
Array.<int>

# updateSize()

Updates the width and height of the character, according to the content.
This method should be called each time a limb/bone is added/removed/edited and the bounds may change.

View Source DuAEF_DuGR_api.jsxinc, line 15174