## MoveOperator

### Introduced

v5.0

### Description

Moves an operator up, down, or to the top of the specified object's operator stack.

### Scripting Syntax

    MoveOperator( Object, OperatorToMove, MoveAction, [OperatorReference], [MoveDirection] );

### Parameters

Parameter | Type | Description
--- | --- | ---
Object | String | Specifies the object to be modified
OperatorToMove | String | Specifies the operator to be moved
MoveAction | Integer | Specifies where the operator will be moved: on top, or before/after the reference operator. Note: Operators writing to the object cannot be moved on top (top is read only). Default Value: 0
Possible Values: | Description:
0 | Move to the top of the operator stack, above all operators.
1 | Move just before the reference operator.
2 | Move just after the reference operator.
OperatorReference | String | Specifies the reference operator. This parameter is ignored if MoveTargetType=0.
MoveDirection | Integer | Specifies which direction the operator is allowed to move: up, down, or in any direction within the object's operator stack. Default Value: 0
Possible Values: | Description:
0 | Move the operator in any operator stack direction, up or down.
1 | Move the operator only upward in the operator stack.
2 | Move the operator only downward in the operator stack.

### Examples

#### JScript Example

    /*
            This JScript example creates several operators and then moves
            them in the stack using the several options of MoveOperator.
    */
    NewScene(null, null);
    Sphere = CreatePrim("Sphere", "MeshSurface", null, null);
    //Generate a subdivided sphere from this one
    MeshSubdivideWithCenter(null, "sphere", null, siPersistentOperation, siKeepGenOpInputs);
    GeneratorOp = GetValue("polymsh.polymsh.MeshSubdivideWithCenter");
    //Create a twist operator in modeling construction mode
    TwistOp = ApplyOp("Twist", Sphere, 3, siPersistentOperation, null, 0);
    //Create a bend operator in animation construction mode
    BendOp = ApplyOp("Bend", Sphere, 3, siPersistentOperation, null, 2);
    SpherePrim = Sphere.ActivePrimitive;
    //Move the twist operator after the bend operator.
    //If we restrict the movement to "downward" only, it will do nothing,
    //since the bendop is over the twistop in the stack:
    MoveOperator(SpherePrim, TwistOp, 2 /*after*/, BendOp, 2/*downward only*/);
    //If we restrict the movement to "upward", however, it is fine:
    MoveOperator(SpherePrim, TwistOp, 2 /*after*/, BendOp, 1/*upward only*/);
    //Move the generator at the top of the stack, so the
    //generated object inherits from deforms that are in the
    //animation region of the input sphere:
    MoveOperator(SpherePrim, GeneratorOp, 0 /*on top*/, "", 0/*any direction*/);

### See Also

MoveOperatorBefore MoveOperatorAfter ChangeGeneratorInputReadPosition