Storyboard Pro
Scripting Interface Documentation
MotionManager Class Reference

This interface is used to access the shot cameras or the panel layers, and add or remove motion to them. More...

Public Slots

Camera Motion
bool addCameraKeyFrame (String &shotId, int offset)
 adds a Keyframe to the camera More...
 
bool removeCameraKeyFrame (String &shotId, int offset)
 remove Keyframe from the camera More...
 
bool clearCameraMotion (String &shotId)
 clears all Motion from the camera More...
 
String linkedCameraFunction (String &shotId, String &attrName)
 retrieves a specific function from the camera, which may be manipulated using the FunctionManager attributes for camera pegs are position.attr3dpath, scale.x, scale.y, scale.z, rotation.anglez, skew More...
 
Layer Motion
bool addLayerKeyFrame (String &panelId, int layerIndex, int offset)
 adds a Keyframe to the layer More...
 
bool removeLayerKeyFrame (String &panelId, int layerIndex, int offset)
 remove Keyframe from the layer More...
 
bool clearLayerMotion (String &panelId, int layerIndex)
 clears all Motion from the layer More...
 
String linkedLayerFunction (String &panelId, int layerIndex, String &attrName)
 retrieves a specific function from the layer, which may be manipulated using the FunctionManager attributes for layers are offset.attr3dpath, scale.x, scale.y, scale.z, rotation.anglez, skew More...
 
Node Methods

Do not use unless you are sure of what you are doing, as the following methods touch underlying data structures directly. Corruption of your project can occur.

The idString is crucial to identifying the function or module. An empty string refers to objects at the project level, a shot Id refers to objects within that shot, the panelId refers to objects within the panel. Thus, sound columns, and the project read live at the project level. The read representing the shot, it's camera and camera peg live within the shot. The reads representing the layers live within the panel. All node names should be preceded by "Top/".The names are TopLayer, Camera, Camera-Peg, and the layer names.

No examples are provided, however these methods are similar to the Harmony column and node interfaces.

String getLinkedFunction (String &idString, String &nodeName, String &attrName)
 returns the linked function name for the given node and attribute, which may be manipulated using the FunctionManager More...
 
bool setLinkedFunction (String &idString, String &nodeName, String &attrName, String &functionName)
 sets the linked function for the given node and attribute More...
 
bool addFunction (String &idString, String &name, String &type)
 creates a new function of the given type within the project or shot or panel More...
 
bool setTextAttr (String &idString, String &nodeName, String &attrName, double atFrame, String &attrValue)
 Changes the attributes of a module. More...
 
String getTextAttr (String &idString, String &nodeName, String &attrName, double atFrame)
 Gets the value of a attribute in a module. More...
 
QObject getNodeMatrix (String &idString, String &nodeName, double atFrame)
 returns the model matrix for the given node. More...
 

Detailed Description

This interface is used to access the shot cameras or the panel layers, and add or remove motion to them.

The following examples are provided:

function AddingLayerMotion()
{
var mm = new MotionManager();
var fm = new FunctionManager();
// retrieve the second panel in the project
var sb = new StoryboardManager();
var panelId = sb.panelInProject( 1);
// add 3 keyframes to the first layer in the panel
mm.addLayerKeyFrame(panelId, 0, 1);
mm.addLayerKeyFrame(panelId, 0, 10);
mm.addLayerKeyFrame(panelId,0, 20);
// Get the function representing the motion path
var path3d = mm.linkedLayerFunction( panelId,0, "offset.attr3dpath" );
// Adjust the motion path points ( using the Function Manager )
fm.setPointPath3d( panelId, path3d, 0, 10.0, 10.0, 0.0, 0.0,0.0,0.0);
fm.setPointPath3d( panelId, path3d, 1, -10.0, -10.0, 0.0, 0.0,0.0,0.0);
fm.setPointPath3d( panelId, path3d, 2, 10.0, 10.0, 0.0, 0.0,0.0,0.0);
// mm.removeLayerKeyFrame( panelId, 0, 11);
// mm.clearLayerMotion( panelId, 0 );
}

Member Function Documentation

◆ addCameraKeyFrame

bool MotionManager::addCameraKeyFrame ( String &  shotId,
int  offset 
)
slot

adds a Keyframe to the camera

Parameters
shotId- unique Id of the scene
offset- offset ( in frames ) into the scene

◆ addFunction

bool MotionManager::addFunction ( String &  idString,
String &  name,
String &  type 
)
slot

creates a new function of the given type within the project or shot or panel

Parameters
idString- unique Id of the project, shot or panel
name- name of the new function
type- The type of column you want to add. You can add any of the following: 3DPATH, BEZIER, EASE, QUARTERNION .

◆ addLayerKeyFrame

bool MotionManager::addLayerKeyFrame ( String &  panelId,
int  layerIndex,
int  offset 
)
slot

adds a Keyframe to the layer

Parameters
panelId- unique Id of the panel
layerIndex- index of the layer in the panel
offset- panels functions are considered to be 20 frames long, thus this int represents the offset into that length.

◆ clearCameraMotion

bool MotionManager::clearCameraMotion ( String &  shotId)
slot

clears all Motion from the camera

Parameters
shotId- unique Id of the scene

◆ clearLayerMotion

bool MotionManager::clearLayerMotion ( String &  panelId,
int  layerIndex 
)
slot

clears all Motion from the layer

Parameters
panelId- unique Id of the panel
layerIndex- index of the layer in the panel

◆ getLinkedFunction

String MotionManager::getLinkedFunction ( String &  idString,
String &  nodeName,
String &  attrName 
)
slot

returns the linked function name for the given node and attribute, which may be manipulated using the FunctionManager

Parameters
idString- unique Id of the project, shot or panel
nodeName- qualified node Name, ructed from the root group to the node leaf
attrName- name of the attribute function

◆ getNodeMatrix

QObject MotionManager::getNodeMatrix ( String &  idString,
String &  nodeName,
double  atFrame 
)
slot

returns the model matrix for the given node.

Parameters
idString- unique Id of the project, shot or panel
nodeName- qualified node Name, ructed from the root group to the node leaf
frame- at which frame

◆ getTextAttr

String MotionManager::getTextAttr ( String &  idString,
String &  nodeName,
String &  attrName,
double  atFrame 
)
slot

Gets the value of a attribute in a module.

Parameters
idString- unique Id of the project, shot or panel
nodeName- qualified node Name, ructed from the root group to the node leaf
attrName- name of the attribute function
atFrame- the frame number at which you set the value

◆ linkedCameraFunction

String MotionManager::linkedCameraFunction ( String &  shotId,
String &  attrName 
)
slot

retrieves a specific function from the camera, which may be manipulated using the FunctionManager attributes for camera pegs are position.attr3dpath, scale.x, scale.y, scale.z, rotation.anglez, skew

Parameters
shotId- unique Id of the scene
attrName- name of the attribute function

◆ linkedLayerFunction

String MotionManager::linkedLayerFunction ( String &  panelId,
int  layerIndex,
String &  attrName 
)
slot

retrieves a specific function from the layer, which may be manipulated using the FunctionManager attributes for layers are offset.attr3dpath, scale.x, scale.y, scale.z, rotation.anglez, skew

Parameters
panelId- unique Id of the panel
layerIndex- index of the layer in the panel
attrName- name of the attribute function

◆ removeCameraKeyFrame

bool MotionManager::removeCameraKeyFrame ( String &  shotId,
int  offset 
)
slot

remove Keyframe from the camera

Parameters
shotId- unique Id of the scene
offset- offset ( in frames ) into the scene

◆ removeLayerKeyFrame

bool MotionManager::removeLayerKeyFrame ( String &  panelId,
int  layerIndex,
int  offset 
)
slot

remove Keyframe from the layer

Parameters
panelId- unique Id of the panel
layerIndex- index of the layer in the panel
offset- panels functions are considered to be 20 frames long, thus this int represents the offset into that length.

◆ setLinkedFunction

bool MotionManager::setLinkedFunction ( String &  idString,
String &  nodeName,
String &  attrName,
String &  functionName 
)
slot

sets the linked function for the given node and attribute

Parameters
idString- unique Id of the project, shot or panel
nodeName- qualified node Name, ructed from the root group to the node leaf
attrName- name of the attribute
functinName- name of the function.

◆ setTextAttr

bool MotionManager::setTextAttr ( String &  idString,
String &  nodeName,
String &  attrName,
double  atFrame,
String &  attrValue 
)
slot

Changes the attributes of a module.

Parameters
idString- unique Id of the project, shot or panel
nodeName- qualified node Name, ructed from the root group to the node leaf
attrName- name of the attribute function
atFrame- the frame number at which you set the value
attrValue- new value