class Camera3D : public ListElement<Camera3D>, public Activable, public CameraGeneric camera object for 3D Objects
| | computeEye (void) The routines that computes the 3D lines associated with a given pixel |
| | getRefCenter (void) const returns the reference center of the camera |
| | setRefCenter (Vec3 set the reference center of the camera |
| | getMatTransform (void) const returns the 4x4 matrix in homogeneous coordinate corresponding to the actual rotation, translation and scale performed |
| | setMatTransform (Matrix4x4 set the 4x4 Viewing matrix in homogeneous coordinate |
| | setParameters (void) computes expansionX, expansionY and dl variables given the new height and width of the camera |
| | getMousePosition (const Vec2 returns the mouse position vector given the a pixel position |
| | getEyeDirectionVector (const Vec2 returns the 3D line associated with a pixel of the camera |
| | getFieldOfView () const returns the field of view of the camera |
| | setFieldOfView (const double f) set the field of view of the camera |
| | pickObject (const Vec2 Given a pixel find the closest Data3D object and call setSelectedObject() on the selected object |
| | rotate (const Vec3 compose rotation matrix of camera with the rotation defined by (axis, angle) |
| | rotateObject (const Rotation3D &r) rotates selected object |
| | rotateCamera (Rotation3D& rot) rotates camera |
| | translateCamera (Vec3 translates camera center |
| | scaleCamera (double s) scales camera |
| | doFocus (void) focus whatever autofocus says |
| | focusOnRegion (Vec3 focus the camera on a given region defined as a sphere |
| | init (void) function called at the creation of the Camera3D : initialized as empty |
| | defineLights (void) function that defines the lights applied with the camera : initialized as empty |
| | useLights (void) const function that use given lights : initialized as empty |
| | applyTransformation (void) applies matTransform to the current transformation matrix : initialized as empty |
| | setViewingParameters (bool reset=true) updates the internal camera parameters after the camera size has changed : initialized as empty |
| | bindMouseMotion (bool on) set the action to perform each time the mouse is moved |
| | startComputation () The action performed when the deformation loop of the scene is activated |
| | stopComputation () The action performed when the deformation loop of the scene is de-activated |
| | mapToScreen (const Vec3 transforms a translation vector from screen coordinate to World coordinates |
| | startAutoMove (AUTO_MOVE_MODE amm) activates a camera for auto-move |
| | stopAutoMove (void) stops camera auto-move |
| | activation (void) Activable activation routine callback |
| | redraw (void) redraw scene |
| | getTrackballVector (int x, int y) const get trackball location function of mouse pointer location |
| | getTrackballRotation (const Vec3 get trackball rotation from mouse pointer move and store results in autoRotation matrix |
| | getTrackballScale (const Vec3 get trackball scale from mouse pointer move and store results in autoRotation matrix |
| | getTrackballTranslation (const Vec3 get trackball translation from mouse pointer move |
| | getTrackballZTranslation (const double a) get trackball translation from mouse pointer movein the Z direction |
| | mapworld2 (const Vec2 transforms a pixel position in standard camera coordinates |
| | constructor
| ||||
| | destructor
|
| | initCamera (void) adds the camera in the corresponding scene and sets all protected parameters to their initial values |
Generic camera object for 3D Objects
Vec3
double dl
double expansionX
double expansionY
Vec3
void initCamera(void)
constructor
Camera3D(Camera3D *c)
Camera3D(Scene3D *scn = 0)
destructor
Vec3
Vec3
void setRefCenter(Vec3
Matrix4x4
void setMatTransform(Matrix4x4
void setParameters(void)
Vec3
void getEyeDirectionVector(const Vec2
eye - the coordinate of the camera center
dir - the unit vector designed the direction of the 3D line pointing from the camera center
double getFieldOfView() const
void setFieldOfView(const double f)
virtual void pickObject(const Vec2
void rotate(const Vec3
angle - the angle of rotation in radian
virtual void rotateObject(const Rotation3D &r)
virtual void rotateCamera(Rotation3D& rot)
virtual void translateCamera(Vec3
virtual void scaleCamera(double s)
void doFocus(void)
void focusOnRegion(Vec3
_radius - the region radius
virtual void init(void)
virtual void defineLights(void)
virtual void useLights(void) const
virtual void applyTransformation(void)
virtual void setViewingParameters(bool reset=true)
virtual void bindMouseMotion(bool on)
virtual void startComputation()
virtual void stopComputation()
Vec3
virtual void startAutoMove(AUTO_MOVE_MODE amm)
virtual void stopAutoMove(void)
virtual void activation(void)
virtual void redraw(void)
virtual Vec3
y - pixel Y coordinate
virtual Rotation3D getTrackballRotation(const Vec3
b - mouse release point
virtual double getTrackballScale(const Vec3
b - mouse release point
virtual Vec3
b - mouse release point
virtual Vec3
void mapworld2(const Vec2
wx - the X mouse position in standard camera coodinates
wy - the Y mouse position in standard camera coodinates
static LONGINT getRenderDuration()
static LONGINT getClickDuration()
BUTTON_STATE getButtonState(WHICH_BUTTON w)
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de