Manipulation mode

From Solid Graphics Wiki

Jump to: navigation, search

Manipulation mode is setting of a Window3D class object. The settings influences how mouse and keyboard actions in the 3D view affect the view camera position and position of objects in the scene in pan and rotate interaction modes.

The manipulation modes offered by the library are enumerated in the SKL3D::Window3D::ManipulationMode enum type. Here are values and interpretations of the ManipulationMode type:

MmSceneAndObjects Keyboard and mouse actions in this mode can move either view camera or view's scene object(s).

If an object is selected in the view then keyboard actions move the object instead of view's camera. If no object is selected then keyboard actions (such as pressing the arrow keys) move the view's camera. For example pressing up arrow key moves camera forward.

Whether mouse actions affect camera or object position depends on whether the initial mouse pointer click which initiated the interaction selected a scene object or not. If no object was selected by the initial click (or the selecetd object is locked - see ObjectEditOptions struct) then dragging the mouse in pan or rotate interaction mode will move view's camera. If an object was selected as result of the initial click then dragging mouse moves the object (and all other selected objects).

MmSceneOnly Keyboard and mouse actions in this mode can move view camera only.

An window3D object can be temporarily set in the MmSceneOnly manipulation mode any time by pressing the Force Scene Navigation keyboard key - which by default is Left-Ctrl key (the key can be customized using the view's CommandTrigger class object, usually using the Customize Shortcuts Keys Dialog).

MmObjectsOnly Keyboard and mouse actions in this mode can move scene objects only.

Use the Window3D::SetManipulationMode method to set a Window3D class object to desired manipulation mode, and Window3D::GetManipulationMode method to retrieve information about currently selected manipulation mode.

See Also


SolidKit Library Documentation

Personal tools