Skip to content

Data Structure

Wenbin edited this page Apr 26, 2016 · 1 revision

Data Structure

  • Configuration (RotoConfig.rotoInit)

To config the program, you could create RotoConfig.rotoInit within the same folder of the main program. This configuration supports tabs like:

<RotoLib> : add path of additional Qt library
<DebugOutput> : ON or OFF, enable the debug information
<RotoSolverType> : Int (0..4), initial solver type
<SmartBezier> : ON or OFF, enable the smart Bezier assistance
<FilledCurveMap> : ON or OFF, enable to fill the curve when it is exported as curveMap
<LineWidthCurveMap> : float (>0), set the line width of plotting curveMap
<ShowPtFilledCurveMap> : ON or OFF, enable to show the control points when exporting curveMap

Within a configuration file, each row consist of a tab and the content which is split by SPACE. This is an example file as follows:

RotoLib /usr/lib/x86_64-linux-gnu
RotoLib /usr/local/Qt5.5
DebugOutput ON
  • Saved/AutoSaved (*.roto, *.rotoAutoSave)
<name of project>
<name of curve>
<Time stamp for last save>
<solver status> <number of frames> <number of keyframes> <image resolution: (width,height)> <total number of points (only center point not include tangent points)>
<list of points per frame>

<points per frame> = <frame status> <number of points> <index of first node> <is Closed Curve (0 or 1)>
                     <list of points>

<solver status> = <TRACKER_GPLVM_NEXTEDIT:0 TRACKER_GPLVM:1 TRACKER:2 LINEAR_INTERP:3>
<frame status> = <NOEDIT:0 KEYFRAME:1 SUGGESTED:2 EDITING:3 NEXTEDIT:4>
<point> = <center.x center.y left.x left.y right.x right.y>

*** Follow a coordinate of right x and down y; with the origin at the center of image.
  • Logging (*.rotoLog)
<name of project>
<name of curve>
<Time stamp for last save>
<number of frames> <image resolution: (width,height)>
<List of Logs>

<Log> = <Time stamp>
        <solver status> <editType flags for frames>
        <Index of current frame> <design flags>
        <Mouse click (x,y)> <Mouse release (x,y)>
  • Export (*.rotoExport)
<name of project>
<name of curve>
<number of frames> <6 X number of points> <is data transposed (0 or 1)> <is Closed Curve (0 or 1)>
<List of points>

<point> = <center.x center.y left.x left.y right.x right.y>

*** if the data is not transposed, each row contains all points for the frame.
  • AutoExport (*.rotoAutoExport)
<name of project>
<name of curve>
<Time stamp for first save>
<number of frames> <6 X number of points> <is data transposed (0 or 1)> 
<list of status stamps>

<status stamp> = <Time stamp for last save>
				 <List of points>

<point> = <center.x center.y left.x left.y right.x right.y>

*** if the data is not transposed, each row contains all points for the frame.
Clone this wiki locally