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]