![]()  | 
  
    Tulip
    6.0.0
    
   Large graphs analysis and drawing 
   | 
 
#include <Camera.h>
 Inheritance diagram for tlp::Camera:
 Collaboration diagram for tlp::Camera:Public Member Functions | |
| Camera (const Camera &)=default | |
| Camera (GlScene *scene, bool d3) | |
| 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 () override | |
| BoundingBox | getBoundingBox () const | 
| const Coord & | getCenter () const | 
| const Coord & | getEyes () const | 
| GlScene * | getScene () const | 
| double | getSceneRadius () const | 
| const Coord & | getUp () const | 
| const Vector< int, 4 > & | getViewport () const | 
| virtual void | getXML (std::string &outString) | 
| double | getZoomFactor () const | 
| bool | is3D () const | 
| void | loadCameraParametersWith (const Camera &camera) | 
| void | move (float speed) | 
| Camera & | operator= (const Camera &camera) | 
| void | rotate (float angle, float x, float y, float z) | 
| Coord | screenTo3DWorld (const Coord &point) const | 
| void | setCenter (const Coord ¢er) | 
| void | setEyes (const Coord &eyes) | 
| void | setScene (GlScene *scene) | 
| void | setUp (const Coord &up) | 
| virtual void | setWithXML (const std::string &inString, unsigned int ¤tPosition) | 
| void | setZoomFactor (double zoomFactor) | 
| void | strafeLeftRight (float speed) | 
| void | strafeUpDown (float speed) | 
| Coord | viewportTo3DWorld (const Coord &point) const | 
| Coord | worldTo2DScreen (const Coord &obj) const | 
| Coord | worldTo2DViewport (const Coord &obj) const | 
  Public Member Functions inherited from tlp::Observable | |
| void | addListener (Observable &listener) const | 
| void | addListener (Observable *const listener) const | 
| void | addObserver (Observable &observer) const | 
| void | addObserver (Observable *const observer) const | 
| unsigned int | countListeners () const | 
| unsigned int | countObservers () const | 
| unsigned int | getReceived () const | 
| unsigned int | getSent () const | 
| void | removeListener (Observable &listener) const | 
| void | removeListener (Observable *const listener) const | 
| void | removeObserver (Observable &observer) const | 
| void | removeObserver (Observable *const observer) const | 
Additional Inherited Members | |
  Static Public Member Functions inherited from tlp::Observable | |
| static void | disableEventNotification () | 
| static void | enableEventNotification () | 
| static tlp::node | getNode (const tlp::Observable *obs) | 
| static Observable * | getObject (tlp::node n) | 
| static const tlp::VectorGraph & | getObservableGraph () | 
| static unsigned int | getScheduled (tlp::node n) | 
| static void | holdObservers () | 
| static bool | isAlive (tlp::node n) | 
| static unsigned int | observersHoldCounter () | 
| static void | unholdObservers () | 
  Protected Member Functions inherited from tlp::Observable | |
| Observable (const Observable &) | |
| bool | hasOnlookers () const | 
| void | observableDeleted () | 
| Observable & | operator= (const Observable &) | 
| void | sendEvent (const Event &message) | 
| virtual void | treatEvent (const Event &message) | 
| virtual void | treatEvents (const std::vector< Event > &events) | 
Tulip OpenGL camera object.
This camera can be a 2D or 3D camera After setup you can do some basic operation :
| 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.
| scene | A layer is attached to a scene so we have to specify it in the constructor | 
| center | 3D coordinates of point visualized by the camera | 
| eye | 3D position of the camera | 
| up | normalized up 3D coordinates of the camera | 
| zoomFactor | level of zoom of the camera | 
| sceneRadius | scene radius of the camera | 
| tlp::Camera::Camera | ( | GlScene * | scene, | 
| bool | d3 | ||
| ) | 
Constructor : used to create a 2D camera.
      
  | 
  override | 
Destructor.
| BoundingBox tlp::Camera::getBoundingBox | ( | ) | const | 
Return the camera bounding box.
This bounding box is the part of the scene visualized by this camera.
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
| const Vector<int, 4>& tlp::Camera::getViewport | ( | ) | const | 
Return the viewport of the attached scene.
      
  | 
  virtual | 
Function to export data in outString (in XML format)
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
| void tlp::Camera::move | ( | float | speed | ) | 
This function moves the camera forward or backward depending on the speed.
| void tlp::Camera::rotate | ( | float | angle, | 
| float | x, | ||
| float | y, | ||
| float | z | ||
| ) | 
This function rotates the camera's eyes around the center depending on the values passed in.
      
  | 
  inline | 
| void tlp::Camera::setCenter | ( | const Coord & | center | ) | 
Set the center.
3D coordinates of point visualized by the camera
| void tlp::Camera::setEyes | ( | const Coord & | eyes | ) | 
Set the eye.
3D position of the camera
| 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::setUp | ( | const Coord & | up | ) | 
Set the up vector.
normalized up 3D coordinates of the camera
      
  | 
  virtual | 
Function to set data with inString (in XML format)
| void tlp::Camera::setZoomFactor | ( | double | zoomFactor | ) | 
Set the zoom factor.
level of zoom of the camera
| void tlp::Camera::strafeLeftRight | ( | float | speed | ) | 
This function strafes the camera left and right depending on the speed (-/+)
| void tlp::Camera::strafeUpDown | ( | float | speed | ) | 
This function strafes the camera up and down depending on the speed (-/+)
| Coord tlp::Camera::viewportTo3DWorld | ( | const Coord & | point | ) | const | 
Return the 3D world coordinate for the given viewport point.
 Here is the caller graph for this function:
      
  | 
  inline | 
| Coord tlp::Camera::worldTo2DViewport | ( | const Coord & | obj | ) | const | 
Return the viewport position for the given 3D coordinate.
 Here is the caller graph for this function: