## Insert2DShapePoint

### Introduced

v3.0

### Description

Inserts a point in a 2D shape (mask shape). This is the scripting equivalent of selecting the Add Points tool in the ColorCorrect property page and then clicking on the outline of the shape to add points to it in the Fx Viewer.
The difference between Insert2DShapePoint and the Add2DShapePoint or Add2DShapePointArray commands is that Insert2DShapePoint adds points to an existing shape, but you use the other commands to define the original while creating it.

### Scripting Syntax

    oLong = Insert2DShapePoint( [Shape], position, x, y );

### Return Value

The index of the new point as a Long.

### Parameters

Parameter | Type | Description
--- | --- | ---
Shape | String | Parameter path name for the shape where you are adding the new point. Default Value: Current selection. Note: If the current selection is not a valid list, an error occurs.
position | Long | Index position for the new point in the array of points for the shape.
x | Double | Specifies the position in X of the new point.
y | Double | Specifies the position in Y of the new point.

### Examples

#### VBScript Example

    '
    ' This example demonstrates how to set a garbage matte mask for a
    ' ColorCorrect operator in the FxTree, and then add, move, delete,
    ' and key points on the existing shape.
    '
    ' 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
    set oEar = Add2DShape( oGBMatteOp & ".GarbageShapes", "BSpline" )
    Move2DShapePin oEar, 115.5625, 137.5625
    Add2DShapePoint oEar, 98, 198
    Add2DShapePoint oEar, 143, 197
    Add2DShapePoint oEar, 164, 167
    Add2DShapePoint oEar, 170, 135
    Add2DShapePoint oEar, 163, 98
    Add2DShapePoint oEar, 127, 82
    Add2DShapePoint oEar, 101, 91
    Add2DShapePoint oEar, 111, 116
    Add2DShapePoint oEar, 131, 120
    Add2DShapePoint oEar, 147, 124
    Add2DShapePoint oEar, 123, 132
    Add2DShapePoint oEar, 95, 122
    Add2DShapePoint oEar, 72, 120
    Add2DShapePoint oEar, 61, 144
    Add2DShapePoint oEar, 66, 167
    Add2DShapePoint oEar, 77, 188
    ' Add a few more points
    Insert2DShapePoint oEar, 1, 118.967423319817, 197.53405725956
    Insert2DShapePoint oEar, 3, 152.865771740675, 182.906040370464
    Insert2DShapePoint oEar, 5, 166.637735843658, 152.932075500488
    ' Move some points
    Move2DShapePoint oEar, 2, 138, 195
    Move2DShapePoint oEar, 12, 137, 123
    ' Delete a point
    Delete2DShapePoint oEar, 2
    ' Save keys on the 4th through 7th points
    Key2DShapePoints oEar, Array(3, 4, 5, 6)

### See Also

Add2DShape Add2DShapePoint Add2DShapePointArray Delete2DShapePoint