tlp_Camera

Langue: en

Version: 280640 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

tlp::Camera -

SYNOPSIS


#include <Camera.h>

Public Member Functions


Camera (GlScene *scene, Coord center=Coord(0, 0, 0), Coord eyes=Coord(0, 0, 10), Coord up=Coord(0,-1, 0), double zoomFactor=0.5, double sceneRadius=10)

Camera (GlScene *scene, bool d3)

void setScene (GlScene *scene)

GlScene * getScene ()

void move (float speed)

void strafeLeftRight (float speed)

void strafeUpDown (float speed)

void rotate (float angle, float x, float y, float z)

bool is3D ()

Vector< int, 4 > getViewport ()

void initGl ()

void initLight ()

void initProjection (const Vector< int, 4 > &viewport, bool reset=true)

void initProjection (bool reset=true)

void initModelView ()

void setSceneRadius (double sceneRadius)

double getSceneRadius ()

void setZoomFactor (double zoomFactor)

double getZoomFactor ()

void setEyes (const Coord &eyes)

Coord getEyes ()

void setCenter (const Coord &center)

Coord getCenter ()

void setUp (const Coord &up)

Coord getUp ()

void addObjectTransformation (const Coord &translation, const Coord &scale, const Coord &baseCoord)

void getObjectTransformation (std::vector< Coord > &translation, std::vector< Coord > &scale, std::vector< Coord > &objectCoord)

bool haveObjectTransformation ()

void getModelviewMatrix (Matrix< float, 4 > &modelviewMatrix)

void getProjectionMatrix (Matrix< float, 4 > &projectionMatrix)

void getTransformMatrix (Matrix< float, 4 > &transformMatrix)

void getProjAndMVMatrix (const Vector< int, 4 > &viewport, Matrix< float, 4 > &projectionMatrix, Matrix< float, 4 > &modelviewMatrix)

void getTransformMatrix (const Vector< int, 4 > &viewport, Matrix< float, 4 > &transformMatrix)

Coord screenTo3DWorld (const Coord &point)

Coord worldTo2DScreen (const Coord &obj)

void getXML (xmlNodePtr rootNode)

void setWithXML (xmlNodePtr rootNode)

Constructor & Destructor Documentation

tlp::Camera::Camera (GlScene * scene, Coord center = Coord(0, 0, 0), Coord eyes = Coord(0, 0, 10), Coord up = Coord(0,-1, 0), double zoomFactor = 0.5, double sceneRadius = 10)

Constructor

tlp::Camera::Camera (GlScene * scene, bool d3)

Constructor : use for 2D camera

Member Function Documentation

void tlp::Camera::addObjectTransformation (const Coord & translation, const Coord & scale, const Coord & baseCoord)

Set translate/scale transformation of object It use to compute lod of nodes/edges in metanodes

Coord tlp::Camera::getCenter () [inline]

Return the center

Coord tlp::Camera::getEyes () [inline]

Return the eyes

void tlp::Camera::getModelviewMatrix (Matrix< float, 4 > & modelviewMatrix) [inline]

Get the modelview matrix

void tlp::Camera::getObjectTransformation (std::vector< Coord > & translation, std::vector< Coord > & scale, std::vector< Coord > & objectCoord)

Get translate/scale transformation of object It use to compute lod of nodes/edges in metanodes

void tlp::Camera::getProjAndMVMatrix (const Vector< int, 4 > & viewport, Matrix< float, 4 > & projectionMatrix, Matrix< float, 4 > & modelviewMatrix)

Get the projection and the modelview matrix generated with the given viewport

void tlp::Camera::getProjectionMatrix (Matrix< float, 4 > & projectionMatrix) [inline]

Get the projection matrix

GlScene* tlp::Camera::getScene () [inline]

Return the camera's scene

double tlp::Camera::getSceneRadius () [inline]

Return the scene radius

void tlp::Camera::getTransformMatrix (const Vector< int, 4 > & viewport, Matrix< float, 4 > & transformMatrix)

Get the transform matrix generated with the given viewport

void tlp::Camera::getTransformMatrix (Matrix< float, 4 > & transformMatrix) [inline]

Get the transform matrix : transformMatrix = projectionMatrix * modelviewMatrix

Coord tlp::Camera::getUp () [inline]

Return the up vector

Vector<int, 4> tlp::Camera::getViewport ()

Return the viewport of the attached scene

void tlp::Camera::getXML (xmlNodePtr rootNode)

Get the camera's data in XML form

double tlp::Camera::getZoomFactor () [inline]

Return the zoom factor

bool tlp::Camera::haveObjectTransformation ()

Return true if object transformation is set

void tlp::Camera::initGl ()

Init Gl parameters

void tlp::Camera::initLight ()

Init light

void tlp::Camera::initModelView ()

Init modelview

void tlp::Camera::initProjection (bool reset = true)

Init projection with the scene viewport. Load identity matrix if reset is set as true

void tlp::Camera::initProjection (const Vector< int, 4 > & viewport, bool reset = true)

Init projection with the gived viewport. Load identity matrix if reset is set as true

bool tlp::Camera::is3D () [inline]

Return if the camera is a 3D one

void tlp::Camera::move (float speed)

This moves the camera forward or backward depending on the speed

void tlp::Camera::rotate (float angle, float x, float y, float z)

This rotates the camera's eyes around the center depending on the values passed in.

Coord tlp::Camera::screenTo3DWorld (const Coord & point)

Return the 3D world coordinate for the givedn screen point

void tlp::Camera::setCenter (const Coord & center) [inline]

Set the center

void tlp::Camera::setEyes (const Coord & eyes) [inline]

Set the eye

void tlp::Camera::setScene (GlScene * scene)

Set the camera's scene : the viewport is store in the scene, so we must attach camera to a scene

void tlp::Camera::setSceneRadius (double sceneRadius) [inline]

Set the scene radius

void tlp::Camera::setUp (const Coord & up) [inline]

Set the up vector

void tlp::Camera::setWithXML (xmlNodePtr rootNode)

Set the camera's data with XML

void tlp::Camera::setZoomFactor (double zoomFactor) [inline]

Set the zoom factor

void tlp::Camera::strafeLeftRight (float speed)

This strafes the camera left and right depending on the speed (-/+)

void tlp::Camera::strafeUpDown (float speed)

This strafes the camera up and down depending on the speed (-/+)

Coord tlp::Camera::worldTo2DScreen (const Coord & obj)

Return the screen position for the given 3D coordinate

Author

Generated automatically by Doxygen for Tulip Open GL Library from the source code.