AlignBezierKnotsTangents
 
 
 

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]