Add2DShape

Introduced

3.0

Description

Adds a 2D shape (mask shape) to the shape list of any FxOperator except Painterly Fx (for example, a Color Correct operator).

Note: You can add points using either the Add2DShapePoint or Add2DShapePointArray commands.

Scripting Syntax

    Add2DShape( [ShapeList], ShapeType )

Parameters

Parameter | Type | Description
ShapeList | String | Parameter path name for the shape list where you are adding the new shape. Default Value: Current selection. Note: If the current selection is not a valid list, an error occurs.
ShapeType | String | Specifies the type of 2D shape. Possible Values: • Bezier: Bezier type. • BSpline: BSpline type. • Polygon: Polygon type.

Return Value

The new 2D shape (mask shape) as a CollectionItemLegacy.

Examples

VBScript Example

    '
    ' This example demonstrates how to set a garbage matte mask for a
    ' ColorCorrect operator in the FxTree.
    '
    ' Create a new FxTree
    set oTree = CreateFxTree()

    ' Get the projects path for the current system
    sPath = InstallationPath( siProjectPath )
    set oClip = CreateImageClip( sPath & "\Pictures\noIcon.pic", "NewClip" )

    ' Use the clip to create a new image clip operator
    set oOperator = AddImageClipFxOp( oTree, oClip )

    ' Add a Color Correct operator to the same tree
    set oCCOp = AddFxOp( oTree, "Color Correct" )

    ' Connect the two operators
    ConnectFxOp oOperator, oCCOp, "1"

    ' Since the ConnectFxOp command does not return the new operator,
    ' you need to get it from the OperatorCollection on the FxTree object
    for each oMember in oTree.FxOperators
       if oMember.Name = "ColorCorrect" then
           set oGBMatteOp = oMember
           exit for
       end if
    next

    ' Adjust the HSV Offset and Gain levels so you can see the
    ' results of the color correction
    SetValue oGBMatteOp.FullName & ".MasterHueShift," _
           & oGBMatteOp.FullName & ".MasterOffset," _
           & oGBMatteOp.FullName & ".MasterGain", _
           Array(0, 0.820731514055631, 0.852844886888196)

    ' Add the 2D shape (mask shape) to the GarbageMatte and reshape it so you can see
    ' the shape when you open the Fx Viewer with the ColorCorrect operator selected
    set oRotospline = Add2DShape( oGBMatteOp & ".GarbageShapes", "Bezier" )
    Move2DShapePin oRotospline, 124.333333333333, 145.166666666667

    aPointPositions = Array(56, 207, 196, 170, 179, 85, 132, 142, 108, 105, 75, 162)
    Add2DShapePointArray oRotospline, aPointPositions

    ' Print out the RGB values
    getRGBValues oRotospline

    ' Set new values and print out the new results
    setRGBValues oRotospline, 2, 3, 5
    getRGBValues oRotospline

    ' ---------------------- FUNCTIONS ----------------------------------
    function getRGBValues( in_roto_name )
       ' Get the RGB Values from the rotospline shape
       vRed = GetValue( oRotospline & ".Red", 1 )
       vGreen = GetValue( oRotospline & ".Green", 1 )
       vBlue = GetValue( oRotospline & ".Blue", 1 )

       Application.LogMessage "The RGB values for the " & oRotospline _
              & " are: " & vRed & ", " & vGreen & ", " & vBlue
    end function

    function setRGBValues( in_roto_name, in_R, in_G, in_B )
       SetValue oRotospline & ".Red", in_R
       SetValue oRotospline & ".Green", in_G
       SetValue oRotospline & ".Blue", in_B
    end function

    ' ------------------------ OUTPUT -----------------------------------
    ' Output of above script:
    'INFO : "The RGB values for the FxTree.ColorCorrect_Image.ColorCorrect.GarbageShapes.Bezier are: 1, 1, 1"
    'INFO : "The RGB values for the FxTree.ColorCorrect_Image.ColorCorrect.GarbageShapes.Bezier are: 2, 3, 5"

See Also

Add2DShapePoint | Add2DShapePointArray | Insert2DShapePoint | Move2DShape
Scale2DShape | Move2DShapePin | Set2DShapeRotation | Move2DShapePoint
Move2DShapeLHandle | Move2DShapeRHandle | Delete2DShapePoint | Key2DShapePoints

Autodesk Softimage v7.5