CurveDirectManip

導入

v5.0

詳細

カーブのポイント(アイソポイント)を操作して、ポイントの位置またはそのタンジェントのいずれかを制御します。

スクリプト構文

oReturn = CurveDirectManip( [SubComp], [ImmediateMode], [Mode], [X], [Y], [Z] );

戻り値

オペレータ オブジェクトの XSICollection

パラメータ

パラメータ タイプ 説明
SubComp 文字列 カーブのアイソポイントであるコンポーネント

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

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

デフォルト値: siPersistentOperation

Mode siCurveIsopointManipMode 操作モード

デフォルト値: siCurveIsopointPositionManipMode

X Double オブジェクト フレームの X 軸方向の変位。

位置を変更する場合の新しいアイソポイントの位置は posX = posX + X となります。

タンジェントを変更する場合の新しいタンジェントは tangentX = tangentX + X となります。

デフォルト値: 0.000000

Y Double オブジェクト フレームの Y 軸方向の変位。

位置を変更する場合の新しいアイソポイントの位置は:posY = posY + Y

タンジェントを変更する場合の新しいタンジェントは:tangentY = tangentY + Y

デフォルト値: 0.000000

Z Double オブジェクト フレームの Z 軸方向の変位。

位置を変更する場合の新しいアイソポイントの位置は:posZ = posZ + Z

タンジェントを変更する場合の新しいタンジェントは:tangentZ = tangentZ + Z

デフォルト値: 0.000000

1. VBScript の例

' 

'	This example creates a m-shape cubic curve, converts the middle knot to Bezier, then controls

'	its position, its forward tangent and finally its backward tangent so the end result is 

'	a nice m shape consisting of two adjacent identical arcs.

' 

SICreateCurve "crvlist", 3, 0

SIAddPointOnCurveAtEnd "crvlist", -4.00195694716243, -2.00677710843373, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", -4.00195694716243, -9.78915662650515E-03, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", -2.00587084148728, 1.98719879518072, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", -9.78473581213335E-03, -2.00677710843373, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", 1.98630136986301, 1.98719879518072, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", 3.98238747553816, -9.78915662650581E-03, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", 3.98238747553816, -2.00677710843373, 0, False, 0

SetCurveKnotMultiplicity "crvlist.knot[2]", 3, siPersistentOperation

CurveDirectManip "crvlist.isopnt[(0,0.500)]", siPersistentOperation, siCurveIsopointPositionAndTangentsManipMode, 1.66533453693773E-16, -1.33132530120482

CurveDirectManip "crvlist.isopnt[(0,0.500)]", siPersistentOperation, siCurveIsopointFwdTangentManipMode, -1.99608610567515, 5.99096385542169

CurveDirectManip "crvlist.isopnt[(0,0.500)]", siPersistentOperation, siCurveIsopointBwdTangentManipMode, 1.99608610567515, 5.99096385542169

2. JScript の例

/* 

	This example creates a m-shape cubic curve, converts the middle knot to Bezier, then controls

	its position, its forward tangent and finally its backward tangent so the end result is 

	a nice m shape consisting of two adjacent identical arcs.

*/ 

SICreateCurve("crvlist", 3, 0);

SIAddPointOnCurveAtEnd("crvlist", -4.00195694716243, -2.00677710843373, 0, false, 0, null);

SIAddPointOnCurveAtEnd("crvlist", -4.00195694716243, -9.78915662650515E-03, 0, false, 0, null);

SIAddPointOnCurveAtEnd("crvlist", -2.00587084148728, 1.98719879518072, 0, false, 0, null);

SIAddPointOnCurveAtEnd("crvlist", -9.78473581213335E-03, -2.00677710843373, 0, false, 0, null);

SIAddPointOnCurveAtEnd("crvlist", 1.98630136986301, 1.98719879518072, 0, false, 0, null);

SIAddPointOnCurveAtEnd("crvlist", 3.98238747553816, -9.78915662650581E-03, 0, false, 0, null);

SIAddPointOnCurveAtEnd("crvlist", 3.98238747553816, -2.00677710843373, 0, false, 0, null);

SetCurveKnotMultiplicity("crvlist.knot[2]", 3, siPersistentOperation);

CurveDirectManip("crvlist.isopnt[(0,0.500)]", siPersistentOperation, siCurveIsopointPositionAndTangentsManipMode, 1.66533453693773E-16, -1.33132530120482, null);

CurveDirectManip("crvlist.isopnt[(0,0.500)]", siPersistentOperation, siCurveIsopointFwdTangentManipMode, -1.99608610567515, 5.99096385542169, null);

CurveDirectManip("crvlist.isopnt[(0,0.500)]", siPersistentOperation, siCurveIsopointBwdTangentManipMode, 1.99608610567515, 5.99096385542169, null);