Interface: simpleManip

Interface: simpleManip 

Properties

.mouseState : enum : Read   

mouseState enums: {#mouseIdle|#mouseDragging|#mouseOverManip} 

Methods

<void>clearGizmos() 

This must be called at the beginning of the "updateGizmos" handler in order to clear the current gizmo cache.

<void>addGizmoMesh <mesh>mesh <integer>flags <point3>unselColor <point3>selColor 

This creates a gizmo from a mesh (or geometry in 3ds Max lingo).

The mesh can be any arbitrary 3ds Max mesh, and created with the tools in MAXScript for creating meshes.

One convenient way to do this is to create an instance of a primitive and get the mesh from it.

The flags can be 0, or one or more of these value. If you want more than one flag to apply, then you add the values together.

<integer>flags: Use one of the following values:

0: gizmoDontDisplay 

Tells the system to not display the gizmo. It will be hit-tested, but not displayed.

1: gizmoDontHitTest 

Tells the system to not hit-test the gizmo. It will be displayed, but not hit-tested.

2: gizmoActiveViewportOnly 

Tells the system to only display and hit-test this gizmo in the active viewport.

<void>addGizmoShape <Interface>gizmo <integer>flags <point3>unselColor <point3>selColor 

This creates a gizmo from a shape object. The gizmoShape can be created using functions from the "manip" package, described below.

flags: Use one of the following values:

0: gizmoDontDisplay 

Tells the system to not display the gizmo. It will be hit-tested, but not displayed.

1: gizmoDontHitTest 

Tells the system to not hit-test the gizmo. It will be displayed, but not hit-tested.

2: gizmoActiveViewportOnly 

Tells the system to only display and hit-test this gizmo in the active viewport.

3: gizmoUseScreenSpace 

This tells the system to interpret the coordinates of the shape as device coordinates in the viewport, not as 3d values. The values are still specified as 3d points, but the "Z" coordinate is ignored.

4: gizmoUseRelativeScreenSpace 

This is like gizmoUseScreenSpace, but the coordinates are specified as values from 0.0 to 1.0, and interpreted in each viewport as a percentage of the width or height of the viewport.

<void>addGizmoMarker <enum>marker <point3>position <integer>flags <point3>unselColor <point3>selColor

marker enums: {#point | #hollowBox | #plusSign | #asterisk | #xMarker | #bigBox | #circle | #triangle | #diamond | #smallHollowBox | #smallCircle | #smallTriangle | #smallDiamond | #dot | #smallDot} 

The position is a point in 3d space, or 2d screen space. The flags are the same ones supported by addGizmoShape.

<point3> position: The position is a point in 3d space, or 2d screen space.

<integer> flags: Use one of the following values:

0: gizmoDontDisplay 

Tells the system to not display the gizmo. It will be hit-tested, but not displayed.

1: gizmoDontHitTest 

Tells the system to not hit-test the gizmo. It will be displayed, but not hit-tested.

2: gizmoActiveViewportOnly 

Tells the system to only display and hit-test this gizmo in the active viewport.

3: gizmoUseScreenSpace 

This tells the system to interpret the coordinates of the shape as device coordinates in the viewport, not as 3d values. The values are still specified as 3d points, but the "Z" coordinate is ignored.

4: gizmoUseRelativeScreenSpace 

This is like gizmoUseScreenSpace, but the coordinates are specified as values from 0.0 to 1.0, and interpreted in each viewport as a percentage of the width or height of the viewport.

<void>addGizmoText <string>text <point3>position <integer>flags <point3>unselColor <point3>selColor 

This creates a gizmo that is text on the screen.

Note that text cannot be hit-tested or grabbed by the mouse.

It is used for display purposes only.

<ray>getLocalViewRay <point2>m 

This function takes a mouse position and returns the ray that passes through that mouse position in the direction of the view.

It is returned in the local coordinates of the node that owns the manipulator target.

<void>updateGizmos <time>t <&string>toolTip 

toolTip is In and Out parameter