1. Manipulators is a node that can be drawn in three dimensions, which can be used to value the user's behavior and modify the properties of other nodes.
2. Attribute values can be modified by channel Box and graph editor. Unlike other DG nodes,Manipulator directly modifies the property value without passing the plug.
3. There are several ways to use the manipulator:
Create a manipulator on any node in the current scene at any time.
Create and assign a manipulator for a specific type of object.
Create a context tool and associate the manipulator to the context tool. Whenever the context tool is active, the manipulator becomes active and ready for use.
4. All manipulator function set is derived from Mfnmanip3d.
(1) Freepointtriadmanip:
The Freepointtriadmanip provides a point, can be moved anywhere. It has axes for constrained x, y, and Z movement and obeys grid snapping, point snapping, and curve snapping.
(2) Directionmanip:
..... See document for details
5 Manipulator Containers:
(1)
Create manipulator container with Mpxmanipcontainer.
You can add base manipulators to container.
Define a connection from manipulator to attribute.
(2) Several necessary methods:
Creator (), Initialize (), Createchildren (), Connecttodependnode ()
You can also customize the drawing of the manipulator by overriding the draw function.
(3) Initialize ()
The static function needs to be registered. Perform some necessary initialization.
(4) Createchildren ()
Base manipulator added to container inside is through this function, example:
mstatus Movemanip::createchildren () { ... = Adddistancemanip (manipname, distancename); = Addfreepointtriadmanip (pointmanipname, pointname); ... }
the Mpxmanipcontainer class provides a set of member functions to add individual base manipulators, most of them is named as Addxyzmanip, where XYZ represents the manipulator name
Xi. manipulators