AlignBezierKnotsTangents

導入

v5.0

カテゴリ

モデリングの描画

詳細

指定されているモードに応じて、指定のベジェ ノットの前方および後方のタンジェントを揃えます。

ベジェ ノットは、その多重度がカーブの次数と一致するノットです(例: multiplicity = 3 (1 つのキュービックカーブ内)).

注: 指定のノットがベジェではない場合、そのノットをベジェに変換するかどうかを確認するメッセージが表示されます。

スクリプト構文

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

戻り値

オペレータXSICollection

注: ImmediateMode パラメータが siImmediateOperation に設定されている場合、オペレータは戻されません。

パラメータ

パラメータ タイプ 詳細
SubComp 文字列 コンポーネントであるノットまたはノットのクラスタ。

デフォルト値: 現在選択されている値

ImmediateMode siOperationMode オペレータを即座にフリーズするかどうかを指定します。

デフォルト値: siPersistentOperation

Mode siCurveKnotTangentAlignment 接線の位置合わせを指定します。

デフォルト値: siCurveKnotAlignFwdAndBwdTangentsTogether

1. VBScript の例

' 
' 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 の例

/* 
        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]