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 ¢er)
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.