DrawingTools Class Reference

The DrawingTools JavaScript global object. Get information about the currently selected drawing. More...

Classes

class  vectorize
 

Public Slots

void setCurrentArt (int currentArt)
 Sets the current art to be one of the following : underlayArt, colourArt, lineArt or overlayArt. More...
 
bool setCurrentDrawingFromColumnName (String columnName, int frame=1)
 
bool setCurrentDrawingFromNodeName (String nodeName, int frame=1)
 Sets the current drawing to be from node nodeName at frame frame. More...
 
void convertPencilToBrush (int art=LineArtMask, DrawingToolParams *params=0)
 Converts the selected pencil lines in layer of the current drawing using params. More...
 
void extractCenterline (int srcArt=LineArtMask, int dstArt=ColourArtMask, DrawingToolParams *params=0)
 Extracts the centerline from srcArt and puts the extracted line in dstArt using params. More...
 
void computeBreakingTriangles (DrawingToolParams *params=0)
 Computes the breaking triangles of the current layer using params. More...
 
void recolorDrawing ()
 Recolours the drawing identified by a DrawingKey. More...
 
QScriptValue getDrawingUsedColors ()
 Returns an array containing the set of colour ids used by the drawing. More...
 
QScriptValue getDrawingUsedColorsWithSource ()
 Returns an array of objects describing the set of colour ids used by the drawing along with the source of the colour. More...
 
QScriptValue getMultipleDrawingsUsedColors ()
 Return an array containing the set of colour ids used by all drawings in the array. More...
 

Public Member Functions

QVariant vectorize (...)
 
bool optimize (QVariant config)
 Performs the same operation as Drawing->Optimize->Optimize menu item. More...
 
bool flatten (QVariant config)
 Performs the same operation as Drawing->Optimize->Flatten menu item. More...
 
bool clearArt (QVariant config)
 Clears an art of a drawing. More...
 

Properties

int underlayArt
 Returns the underlayArt mask. More...
 
int colourArt
 Returns the colourArt mask. More...
 
int lineArt
 Returns the lineArt mask. More...
 
int overlayArt
 Returns the overlayArt mask. More...
 
int allArts
 Returns the mask for all 4 art layers. More...
 

Detailed Description

The DrawingTools JavaScript global object. Get information about the currently selected drawing.

Member Function Documentation

◆ clearArt()

bool DrawingTools::clearArt ( QVariant  config)

Clears an art of a drawing.

Takes an object that can contain: drawing : Drawing Key art : int The art to clear. 0 = Underlay, 1 = Colour Art, 2 = Line Art, 3 = Overlay

◆ computeBreakingTriangles

void DrawingTools::computeBreakingTriangles ( DrawingToolParams params = 0)
slot

Computes the breaking triangles of the current layer using params.

Parameters
params: The DrawingToolParams.

◆ convertPencilToBrush

void DrawingTools::convertPencilToBrush ( int  art = LineArtMask,
DrawingToolParams params = 0 
)
slot

Converts the selected pencil lines in layer of the current drawing using params.

Parameters
art: The current drawing.
params: The DrawingToolParams.

◆ extractCenterline

void DrawingTools::extractCenterline ( int  srcArt = LineArtMask,
int  dstArt = ColourArtMask,
DrawingToolParams params = 0 
)
slot

Extracts the centerline from srcArt and puts the extracted line in dstArt using params.

Parameters
srcArt: The source art.
dstArt: The destination art layer.
params: The DrawingToolParams.

◆ flatten()

bool DrawingTools::flatten ( QVariant  config)

Performs the same operation as Drawing->Optimize->Flatten menu item.

Takes an object that can contain: drawing : Drawing Key removeInvisibleLines : bool default false

◆ getDrawingUsedColors

QScriptValue DrawingTools::getDrawingUsedColors ( )
slot

Returns an array containing the set of colour ids used by the drawing.

◆ getDrawingUsedColorsWithSource

QScriptValue DrawingTools::getDrawingUsedColorsWithSource ( )
slot

Returns an array of objects describing the set of colour ids used by the drawing along with the source of the colour.

Returns
Returns an array of objects describing the set of colour ids used by the drawing along with the source of the colour. The returned objects are formatted as follows:
{ "colorId": <string>, "colorSource": <"COLOR"|"PENCIL_TEXTURE"> }
If the colorSource is "COLOR", the colorId is compatible with a Colour palette. If the colorSource is "PENCIL_TEXTURE", the colorId is compatible with a Pencil palette.

◆ getMultipleDrawingsUsedColors

QScriptValue DrawingTools::getMultipleDrawingsUsedColors ( )
slot

Return an array containing the set of colour ids used by all drawings in the array.

◆ optimize()

bool DrawingTools::optimize ( QVariant  config)

Performs the same operation as Drawing->Optimize->Optimize menu item.

Takes an object that can contain: drawing : Drawing Key removeInvisibleLines : bool default false

◆ recolorDrawing

void DrawingTools::recolorDrawing ( )
slot

Recolours the drawing identified by a DrawingKey.

DrawingKey : A DrawingKey, built from { ElementID : id, exposure : "drawingName"}, or {node: "Qualified_name", frame : i}

ColorMap : An array of colour mappings of the format [ {from : "colorId", to : "colorId"}, ... ,{...} ].

◆ setCurrentArt

void DrawingTools::setCurrentArt ( int  currentArt)
slot

Sets the current art to be one of the following : underlayArt, colourArt, lineArt or overlayArt.

◆ setCurrentDrawingFromColumnName

bool DrawingTools::setCurrentDrawingFromColumnName ( String  columnName,
int  frame = 1 
)
slot
Parameters
columnName: The name of the column to start the drawing at.
frame: The frame number to set the current drawing at.
Returns
Returns true if successful.

◆ setCurrentDrawingFromNodeName

bool DrawingTools::setCurrentDrawingFromNodeName ( String  nodeName,
int  frame = 1 
)
slot

Sets the current drawing to be from node nodeName at frame frame.

Parameters
nodeName: The name of the node to start the drawing at.
frame: The frame number to set the current drawing at.
Returns
Returns true if successful.

◆ vectorize()

QVariant DrawingTools::vectorize (   ...)

vectorize function; Can be called with a variable list of arguments.

vectorize( { node: "Top/Drawing", frame : 1 }, { node : "Top/Output", frame : 1 }, "-threshold 0.5" );
vectorize( "-file", { node: "Top/Drawing", frame : 1 }, "-outfile", { node : "Top/Output", frame : 1 }, "-threshold 0.5" );
vectorize( "-file", "full_path.png", "-outfile", "full_path.tvg", "-threshold 0.5" );
var descriptor = new Drawing.Key({ elementId: 1, exposure: "12", layer : "eye");
var outputDescriptor = {node: "Top/Eye_v", frame : 12};
// It can work with all the return values of Drawing.Key();
vectorize( descriptor, outputDescriptor, "-threshold 0.5" );
// A more detailed example
function vectorizeExample()
{
{
MessageLog.trace("Please select one Element Node");
return;
}
var n = selection.selectedNode(0);
if (node.type(n) != "READ")
{
MessageLog.trace("The selected node is NOT an Element Node. " );
return;
}
var attrType = node.getTextAttr(n, 1, "lineArtDrawingMode");
if (attrType != "Bitmap")
{
MessageLog.trace("The selected node must be an Element Node with bitmap line art.");
return;
}
var destination = n + "_vect";
if (!node.getName(destination))
{
MessageLog.trace("Please make sure there is a node named " + node.getName(n) + "_vect in the same group as the selected node" );
}
var options = {
no_break : true,
thresh : 0.01,
rmv_hairs : 5
};
var optionsLine = "-no_break -thresh 0.01 -rmv_hairs 5";
scene.beginUndoRedoAccum("Vectorize drawings of " + node.getName(n) + " to " + node.getName(destination));
for(var i=1 ; i<frame.numberOf() ; ++i)
{
var keySrc = Drawing.Key({ node: n , frame : i});
var keyDst = Drawing.Key({ node: destination , frame : i});
if (keySrc.isNull || keyDst.isNull)
{
continue;
}
var r = DrawingTools.vectorize(keySrc, keyDst, options);
}
}
  • Will vectorize the drawing and create an undo command when the destination drawing is a key. It is not undoable when the destination is file.
  • You can get the help for vectorize by calling DrawingTools.vectorize.help();

    Returns
    false oif it fails and true if is succeeds.

Property Documentation

◆ allArts

int DrawingTools::allArts
read

Returns the mask for all 4 art layers.

Returns
The mask for all 4 art layers.

◆ colourArt

int DrawingTools::colourArt
read

Returns the colourArt mask.

Returns
The colourArt mask.

◆ lineArt

int DrawingTools::lineArt
read

Returns the lineArt mask.

Returns
The lineArt mask.

◆ overlayArt

int DrawingTools::overlayArt
read

Returns the overlayArt mask.

Returns
The overlayArt mask.

◆ underlayArt

int DrawingTools::underlayArt
read

Returns the underlayArt mask.

Returns
The underlayArt mask.