CurveDirectManip

Introduced

5.0

Description

Manipulates a point of a curve (isopoint) to control its position or one of its tangents.

Scripting Syntax

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

Parameters

Parameter

Type

Description

SubComp

String

A curve isopoint as Components.

Default Value: Current selection

ImmediateMode

siOperationMode

Specifies whether or not the operator should be immediately frozen.

Default Value: siPersistentOperation

Mode

siCurveIsopointManipMode

Mode of manipulation

Default Value: siCurveIsopointPositionManipMode

X

Double

Displacement along the X axis of the object frame.

For a position modification the new isopoint position will be: posX = posX + X

For a tangent modification the new tangent will be: tangentX = tangentX + X

Default Value: 0.000000

Y

Double

Displacement along the Y axis of the object frame.

For a position modification the new isopoint position will be: posY = posY + Y

For a tangent modification the new tangent will be: tangentY = tangentY + Y

Default Value: 0.000000

Z

Double

Displacement along the Z axis of the object frame.

For a position modification the new isopoint position will be: posZ = posZ + Z

For a tangent modification the new tangent will be: tangentZ = tangentZ + Z

Default Value: 0.000000

Return Value

An XSICollection of Operator objects.

Examples

1. VBScript Example

' 
'  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 Example

/* 
   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);


Autodesk Softimage v7.5