Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
#include <TrackballManipulator.hpp>

Public Types | |
| enum | ETrackballMode { NoMode, RotationMode, TranslationMode, ZoomMode } |
Public Member Functions | |
| virtual const char * | className () |
| Returns the name of the class. | |
| TrackballManipulator () | |
| virtual void | mouseDownEvent (EMouseButton, int x, int y) |
| virtual void | mouseUpEvent (EMouseButton, int x, int y) |
| virtual void | mouseMoveEvent (int x, int y) |
| mat4 | trackballRotation (int x, int y) |
| vec3 | computeVector (int x, int y) |
| void | setCamera (Camera *camera) |
| Camera * | camera () |
| void | prepareToReconnect () |
| Reimplement this in order to react to a setEnabled(true), see setEnabled() for more information. | |
| void | setPivot (vec3 pivot) |
| Sets the center point the camera will rotate around. | |
| vec3 | pivot () const |
| void | setTransform (Transform *tr) |
| Transform * | transform () |
| int | rotationButton () const |
| void | setRotationButton (int mouse_button) |
| int | zoomButton () const |
| void | setZoomButton (int mouse_button) |
| int | translationButton () const |
| void | setTranslationButton (int mouse_button) |
| float | rotationSpeed () const |
| void | setRotationSpeed (float speed) |
| float | zoomSpeed () const |
| void | setZoomSpeed (float speed) |
| float | translationSpeed () const |
| void | setTranslationSpeed (float speed) |
| ETrackballMode | mode () const |
| Returns the current trackball manipulator state. | |
| void | adjustView (const AABB &aabb, const vec3 &dir, const vec3 &up, Real bias=1.0f) |
| Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB. See also Camera::adjustView(). | |
| void | adjustView (ActorCollection &actors, const vec3 &dir, const vec3 &up, Real bias=1.0f) |
| Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB containing the Actor[s]. See also Camera::adjustView(). | |
| void | adjustView (SceneManager *scene, const vec3 &dir, const vec3 &up, Real bias=1.0f) |
| Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB containing the given scene manager. See also Camera::adjustView(). | |
| void | adjustView (Rendering *rendering, const vec3 &dir, const vec3 &up, Real bias=1.0f) |
| Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB containing all the scene managers part of the given rendering. See also Camera::adjustView(). | |
Protected Attributes | |
| ref< Camera > | mCamera |
| ivec2 | mMouseStart |
| mat4 | mStartMatrix |
| vec3 | mPivot |
| vec3 | mStartCameraPos |
| vec3 | mStartPivot |
| ref< Transform > | mTransform |
| ETrackballMode | mMode |
| int | mRotationButton |
| int | mTranslationButton |
| int | mZoomButton |
| float | mRotationSpeed |
| float | mTranslationSpeed |
| float | mZoomSpeed |
If you set a Transform node to manipulate, using the function setTransform(), this object will manipulate the given Transform. If no Transform is specified or a NULL one is passed to the function setTransform() then this object will manipulate the current camera.
The Transform is expected to contain only rotation and translation information. Other transformations like shearing, scaling, projection, and so on can produce unspecified results.
| vl::TrackballManipulator::TrackballManipulator | ( | ) | [inline] |
| virtual const char* vl::TrackballManipulator::className | ( | ) | [inline, virtual] |
| void TrackballManipulator::mouseDownEvent | ( | EMouseButton | btn, | |
| int | x, | |||
| int | y | |||
| ) | [virtual] |
Reimplemented from vl::UIEventListener.
| void TrackballManipulator::mouseUpEvent | ( | EMouseButton | btn, | |
| int | x, | |||
| int | y | |||
| ) | [virtual] |
Reimplemented from vl::UIEventListener.
| void TrackballManipulator::mouseMoveEvent | ( | int | x, | |
| int | y | |||
| ) | [virtual] |
Reimplemented from vl::UIEventListener.
| mat4 TrackballManipulator::trackballRotation | ( | int | x, | |
| int | y | |||
| ) |
| vec3 TrackballManipulator::computeVector | ( | int | x, | |
| int | y | |||
| ) |
| void vl::TrackballManipulator::setCamera | ( | Camera * | camera | ) | [inline] |
| Camera* vl::TrackballManipulator::camera | ( | ) | [inline] |
| void vl::TrackballManipulator::prepareToReconnect | ( | ) | [inline, virtual] |
Reimplement this in order to react to a setEnabled(true), see setEnabled() for more information.
Reimplemented from vl::UIEventListener.
| void vl::TrackballManipulator::setPivot | ( | vec3 | pivot | ) | [inline] |
Sets the center point the camera will rotate around.
| vec3 vl::TrackballManipulator::pivot | ( | ) | const [inline] |
| void vl::TrackballManipulator::setTransform | ( | Transform * | tr | ) | [inline] |
| Transform* vl::TrackballManipulator::transform | ( | ) | [inline] |
| int vl::TrackballManipulator::rotationButton | ( | ) | const [inline] |
| void vl::TrackballManipulator::setRotationButton | ( | int | mouse_button | ) | [inline] |
| int vl::TrackballManipulator::zoomButton | ( | ) | const [inline] |
| void vl::TrackballManipulator::setZoomButton | ( | int | mouse_button | ) | [inline] |
| int vl::TrackballManipulator::translationButton | ( | ) | const [inline] |
| void vl::TrackballManipulator::setTranslationButton | ( | int | mouse_button | ) | [inline] |
| float vl::TrackballManipulator::rotationSpeed | ( | ) | const [inline] |
| void vl::TrackballManipulator::setRotationSpeed | ( | float | speed | ) | [inline] |
| float vl::TrackballManipulator::zoomSpeed | ( | ) | const [inline] |
| void vl::TrackballManipulator::setZoomSpeed | ( | float | speed | ) | [inline] |
| float vl::TrackballManipulator::translationSpeed | ( | ) | const [inline] |
| void vl::TrackballManipulator::setTranslationSpeed | ( | float | speed | ) | [inline] |
| ETrackballMode vl::TrackballManipulator::mode | ( | ) | const [inline] |
Returns the current trackball manipulator state.
| void TrackballManipulator::adjustView | ( | const AABB & | aabb, | |
| const vec3 & | dir, | |||
| const vec3 & | up, | |||
| Real | bias = 1.0f | |||
| ) |
Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB. See also Camera::adjustView().
| void TrackballManipulator::adjustView | ( | ActorCollection & | actors, | |
| const vec3 & | dir, | |||
| const vec3 & | up, | |||
| Real | bias = 1.0f | |||
| ) |
Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB containing the Actor[s]. See also Camera::adjustView().
| void TrackballManipulator::adjustView | ( | SceneManager * | scene, | |
| const vec3 & | dir, | |||
| const vec3 & | up, | |||
| Real | bias = 1.0f | |||
| ) |
Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB containing the given scene manager. See also Camera::adjustView().
| void TrackballManipulator::adjustView | ( | Rendering * | rendering, | |
| const vec3 & | dir, | |||
| const vec3 & | up, | |||
| Real | bias = 1.0f | |||
| ) |
Adjusts the camera position in order to nicely see the scene. It also position the rotation pivot to the center of the AABB containing all the scene managers part of the given rendering. See also Camera::adjustView().
ref<Camera> vl::TrackballManipulator::mCamera [protected] |
ivec2 vl::TrackballManipulator::mMouseStart [protected] |
mat4 vl::TrackballManipulator::mStartMatrix [protected] |
vec3 vl::TrackballManipulator::mPivot [protected] |
vec3 vl::TrackballManipulator::mStartCameraPos [protected] |
vec3 vl::TrackballManipulator::mStartPivot [protected] |
ref<Transform> vl::TrackballManipulator::mTransform [protected] |
ETrackballMode vl::TrackballManipulator::mMode [protected] |
int vl::TrackballManipulator::mRotationButton [protected] |
int vl::TrackballManipulator::mTranslationButton [protected] |
int vl::TrackballManipulator::mZoomButton [protected] |
float vl::TrackballManipulator::mRotationSpeed [protected] |
float vl::TrackballManipulator::mTranslationSpeed [protected] |
float vl::TrackballManipulator::mZoomSpeed [protected] |