## Add2DShapePointArray

### Introduced

v3.0

### Description

Adds an array of points to a 2D shape (mask shape).
The difference between this command and the Insert2DShapePoint command is that you use Add2DShapePointArray to define the original set of points while creating the shape, but Insert2DShapePoint adds points to an existing shape after it has been created.
Note: You can add points using either the Add2DShapePoint or Add2DShapePointArray commands.

### Scripting Syntax

    Add2DShapePointArray( [Shape], points );

### Parameters

Parameter | Type | Description
--- | --- | ---
Shape | String | Parameter path name for the shape where you are defining the point(s). Default Value: Current selection. Note: If the current selection is not a valid shape, an error occurs.
points | Array of Doubles | Specifies the position of the new point as a 1-dimensional array of x,y values.

### 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

Add2DShape Add2DShapePoint Insert2DShapePoint Delete2DShapePoint