Roto

Synopsis

This class encapsulates all things related to the roto node. See detailed description below.

Functions

Detailed Description

The Roto class is uses for now in Natron exclusively by the roto node, but its functionalities could be re-used for other nodes as well. Its purpose is to manage all layers and shapes. You can create new shapes with the createBezier(x,y,time), createEllipse(x,y,diameter,fromCenter,time) and createRectangle(x,y,size,time) functions.

To create a new Layer you can use the createLayer() function.

As for other auto-declared variables, all shapes in the Roto objects can be accessed by their script-name, e.g.:

Roto1.roto.Layer1.Bezier1

Member functions description

NatronEngine.Roto.createBezier(x, y, time)
Parameters
  • xfloat

  • yfloat

  • timeint

Return type

BezierCurve

Creates a new BezierCurve with one control point at position (x,y) and a keyframe at the given time.

NatronEngine.Roto.createEllipse(x, y, diameter, fromCenter, time)
Parameters
  • xfloat

  • yfloat

  • diameterfloat

  • fromCenterbool

  • timeint

Return type

BezierCurve

Creates a new ellipse. This is a convenience function that uses createBezier(x,y,time) to create a new BezierCurve and then adds 3 other control points to the Bezier so that it forms an ellipse of the given diameter. A new keyframe will be set at the given time. If fromCenter is true, then (x,y) is understood to be the coordinates of the center of the ellipse, otherwise (x,y) is understood to be the position of the top-left point of the smallest enclosing rectangle of the ellipse.

NatronEngine.Roto.createLayer()
Return type

Layer

Creates a new layer.

NatronEngine.Roto.createRectangle(x, y, size, time)
Parameters
  • xfloat

  • yfloat

  • sizefloat

  • timeint

Return type

BezierCurve

Creates a new rectangle. This is a convenience function that uses createBezier(x,y,time) to create a new BezierCurve and then adds 3 other control points to the Bezier so that it forms a rectangle of the given size on each of its sides. A new keyframe will be set at the given time.

NatronEngine.Roto.getBaseLayer()
Return type

Layer

Convenience function to access to the base Layer. Note that all shapes should belong to a Layer, the base layer being the top-level parent of all the hierarchy.

NatronEngine.Roto.getItemByName(name)
Parameters

namestr

Return type

ItemBase

Returns an item by its script-name. See this section for the details of what is the script-name of an item. E.g:

app1.Roto1.roto.Layer1.Bezier1 = app1.Roto1.roto.getItemByName("Bezier1")