FreeformCameraController Class Reference

#include <FreeformCameraController.h>

Inheritance diagram for FreeformCameraController:
ICameraController

List of all members.

Public Member Functions

 FreeformCameraController (ICameraManipulator *cameraManipulator, OSGCanvas *canvas)
ICameraManipulatorgetCameraManipulator ()
void setCameraManipulator (ICameraManipulator *cameraManipulator)
void enable (int x, int y)
void disable ()
bool isEnabled ()
void onMouseLeftUp (int x, int y)
void onMouseLeftDown (int x, int y)
void onMouseMiddleUp (int x, int y)
void onMouseMiddleDown (int x, int y)
void onMouseRightUp (int x, int y)
void onMouseRightDown (int x, int y)
void onMouseMove (int x, int y)
void onMouseWheel (int x, int y, int d)
void onKeyDown (int key)
void onKeyUp (int key)

Protected Attributes

bool _isForward
bool _isLeft
bool _isBackward
bool _isRight
int _mouseX
int _mouseY
bool _enabled
ICameraManipulator_cameraManipulator
OSGCanvas_canvas

Detailed Description

Klasa koja realizira kontroler kamere za pogled iz prvog lica, i slobodno gibanje u svim dimenzijama - "letenje" po sceni.

Manipulator posjeduje dva stanja - aktivno i neaktivno. Početno stanje je neaktivno. Prijelaz iz jednog stanja u drugo se vrši pritiskom na srednju tipku miša.

U neaktivnom stanju, manipulator ne utječe na kameru, a kursor je vidljiv.

U aktivnom stanju, kursor je nevidljiv, a tipke WASD translatiraju kameru naprijed-nazad, lijevo-desno (strafing), dok pomaci miša rotiraju kameru (mijenjaju orijentaciju oko x i z osi - gore/dolje, lijevo/desno).

Dakle, u neaktivnom stanju je moguće vršiti selekciju i manipulaciju objektima, dodavati / brisati objekte itd, dok je u aktivnom stanju to nemoguće.


Constructor & Destructor Documentation

FreeformCameraController::FreeformCameraController ( ICameraManipulator cameraManipulator,
OSGCanvas canvas 
)

Member Function Documentation

void FreeformCameraController::disable (  )  [virtual]

Implements ICameraController.

void FreeformCameraController::enable ( int  x,
int  y 
) [virtual]

Implements ICameraController.

ICameraManipulator * FreeformCameraController::getCameraManipulator (  )  [virtual]

Implements ICameraController.

bool FreeformCameraController::isEnabled (  )  [virtual]

Implements ICameraController.

void FreeformCameraController::onKeyDown ( int  key  )  [virtual]

Implements ICameraController.

void FreeformCameraController::onKeyUp ( int  key  )  [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseLeftDown ( int  x,
int  y 
) [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseLeftUp ( int  x,
int  y 
) [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseMiddleDown ( int  x,
int  y 
) [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseMiddleUp ( int  x,
int  y 
) [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseMove ( int  x,
int  y 
) [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseRightDown ( int  x,
int  y 
) [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseRightUp ( int  x,
int  y 
) [virtual]

Implements ICameraController.

void FreeformCameraController::onMouseWheel ( int  x,
int  y,
int  d 
) [virtual]

Implements ICameraController.

void FreeformCameraController::setCameraManipulator ( ICameraManipulator cameraManipulator  )  [virtual]

Implements ICameraController.


Member Data Documentation


The documentation for this class was generated from the following files:

Generated on Thu Jan 14 20:50:12 2010 for TerrainEditor by  doxygen 1.6.1