## AlignBezierKnotsTangents

### Introduced

v5.0

### Description

Aligns the forward and backward tangents of the specified bezier knots according to the mode indicated.
A bezier knot is a knot whose multiplicity equals the curve degree (for example: multiplicity=3 in a cubic curve).
Note: If the given knots are not bezier the command will prompt the user for a confirmation to convert them to bezier.

### Scripting Syntax

    oReturn = AlignBezierKnotsTangents( [SubComp], [ImmediateMode], [Mode] );

### Return Value

An XSICollection of Operators.
Note: If the ImmediateMode parameter is set to siImmediateOperation, no operators are returned.

### Parameters

Parameter | Type | Description
--- | --- | ---
SubComp | String | Either knots or a cluster of knots as Components. Default Value: Current selection
ImmediateMode | siOperationMode | Specifies whether or not the operator should be immediately frozen. Default Value: siPersistentOperation
Mode | siCurveKnotTangentAlignment | Specifies how to align the tangents Default Value: siCurveKnotAlignFwdAndBwdTangentsTogether

### Examples

#### 1. VBScript Example

    '
    ' This example creates a cubic curve of 4 knots, selects the middle two knots,
    ' and creates a line segment between those knots (the knots are automatically
    ' converted to bezier knots to accomodate the alignment).
    '
    NewScene , false
    SICreateCurve "crvlist", 3, 0
    SIAddPointOnCurveAtEnd "crvlist", -4, 2, 0, False, 0
    SIAddPointOnCurveAtEnd "crvlist", -4, -3, 0, False, 0
    SIAddPointOnCurveAtEnd "crvlist", -1, -3, 0, False, 0
    SIAddPointOnCurveAtEnd "crvlist", -1, 2, 0, False, 0
    SIAddPointOnCurveAtEnd "crvlist", 2, 2, 0, False, 0
    SIAddPointOnCurveAtEnd "crvlist", 3, -2, 0, False, 0
    SetSelFilter "Knot"
    SelectGeometryComponents "crvlist.knot[1,2]"
    AlignBezierKnotsTangents "crvlist.knot[1,2]", siPersistentOperation, siCurveKnotLinearizeInterSegments
    'INFO : Warning: the following knots got converted to Bezier: crvlist.knot[1,2]

#### 2. JScript Example

    /*
            This example creates a cubic curve of 4 knots, selects the middle two knots,
            and creates a line segment between those knots (the knots are automatically converted to
            bezier knots to accomodate the alignment).
    */
    NewScene(null, false);
    SICreateCurve("crvlist", 3, 0);
    SIAddPointOnCurveAtEnd("crvlist", -4, 2, 0, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", -4, -3, 0, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", -1, -3, 0, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", -1, 2, 0, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", 2, 2, 0, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", 3, -2, 0, false, 0);
    SetSelFilter("Knot");
    SelectGeometryComponents("crvlist.knot[1,2]");
    AlignBezierKnotsTangents("crvlist.knot[1,2]", siPersistentOperation, siCurveKnotLinearizeInterSegments);
    //INFO : Warning: the following knots got converted to Bezier: crvlist.knot[1,2]