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