Overview | Modules | Class Hierarchy | Classes | Members
# tlp::Camera Class Reference `#include <Camera.h>` Collaboration diagram for tlp::Camera: [legend] List of all members. ## 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

Tulip Software by LaBRI Visualization Team 2001 - 2010