Visual Servoing Platform  version 3.5.1 under development (2023-03-14)
vpDisplay.h
1 /****************************************************************************
2  *
3  * ViSP, open source Visual Servoing Platform software.
4  * Copyright (C) 2005 - 2019 by Inria. All rights reserved.
5  *
6  * This software is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  * See the file LICENSE.txt at the root directory of this source
11  * distribution for additional information about the GNU GPL.
12  *
13  * For using ViSP with software that can not be combined with the GNU
14  * GPL, please contact Inria about acquiring a ViSP Professional
15  * Edition License.
16  *
17  * See http://visp.inria.fr for more information.
18  *
19  * This software was developed at:
20  * Inria Rennes - Bretagne Atlantique
21  * Campus Universitaire de Beaulieu
22  * 35042 Rennes Cedex
23  * France
24  *
25  * If you have questions regarding the use of this file, please contact
26  * Inria at visp@inria.fr
27  *
28  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30  *
31  * Description:
32  * Image display.
33  *
34  * Authors:
35  * Eric Marchand
36  * Fabien Spindler
37  *
38  *****************************************************************************/
39 
40 #ifndef vpDisplay_h
41 #define vpDisplay_h
42 
43 #include <list>
44 #include <sstream>
45 #include <string>
46 
47 #include <visp3/core/vpCameraParameters.h>
48 #include <visp3/core/vpColor.h>
49 #include <visp3/core/vpHomogeneousMatrix.h>
50 #include <visp3/core/vpImage.h>
51 #include <visp3/core/vpImagePoint.h>
52 #include <visp3/core/vpMouseButton.h>
53 #include <visp3/core/vpRect.h>
54 
177 class VISP_EXPORT vpDisplay
178 {
179 public:
182  typedef enum {
183  SCALE_AUTO,
186  SCALE_2,
188  SCALE_3,
190  SCALE_4,
192  SCALE_5,
194  SCALE_6,
196  SCALE_7,
198  SCALE_8,
200  SCALE_9,
202  SCALE_10,
204  SCALE_DEFAULT
206  } vpScaleType;
207 
208 protected:
215  unsigned int m_width;
216  unsigned int m_height;
217  std::string m_title;
218  unsigned int m_scale;
220 
221  void setScale(vpScaleType scaleType, unsigned int width, unsigned int height);
222 
223 public:
224  vpDisplay();
225  vpDisplay(const vpDisplay &d);
226  virtual ~vpDisplay();
227 
230  unsigned int computeAutoScale(unsigned int width, unsigned int height);
235  unsigned int getDownScalingFactor() { return m_scale; }
240  inline unsigned int getHeight() const { return m_height; }
245  inline unsigned int getWidth() const { return m_width; }
246 
251  int getWindowXPosition() const { return m_windowXPosition; }
256  int getWindowYPosition() const { return m_windowYPosition; }
257 
263  inline bool isInitialised() { return m_displayHasBeenInitialized; }
264  virtual void setDownScalingFactor(unsigned int scale);
265  virtual void setDownScalingFactor(vpScaleType scaleType);
267 
268 #ifndef DOXYGEN_SHOULD_SKIP_THIS
275  virtual void clearDisplay(const vpColor &color = vpColor::white) = 0;
279  virtual void closeDisplay() = 0;
280 
290  virtual void displayArrow(const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color = vpColor::white,
291  unsigned int w = 4, unsigned int h = 2, unsigned int thickness = 1) = 0;
303  virtual void displayCharString(const vpImagePoint &ip, const char *text, const vpColor &color = vpColor::green) = 0;
313  virtual void displayCircle(const vpImagePoint &center, unsigned int radius, const vpColor &color, bool fill = false,
314  unsigned int thickness = 1) = 0;
322  virtual void displayCross(const vpImagePoint &ip, unsigned int size, const vpColor &color,
323  unsigned int thickness = 1) = 0;
331  virtual void displayDotLine(const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color,
332  unsigned int thickness = 1) = 0;
340  virtual void displayLine(const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color,
341  unsigned int thickness = 1) = 0;
342 
354  virtual void displayImage(const vpImage<unsigned char> &I) = 0;
355 
367  virtual void displayImage(const vpImage<vpRGBa> &I) = 0;
368 
369  virtual void displayImageROI(const vpImage<unsigned char> &I, const vpImagePoint &iP, unsigned int width,
370  unsigned int height) = 0;
371  virtual void displayImageROI(const vpImage<vpRGBa> &I, const vpImagePoint &iP, unsigned int width,
372  unsigned int height) = 0;
373 
380  virtual void displayPoint(const vpImagePoint &ip, const vpColor &color, unsigned int thickness = 1) = 0;
381 
396  virtual void displayRectangle(const vpImagePoint &topLeft, unsigned int width, unsigned int height,
397  const vpColor &color, bool fill = false, unsigned int thickness = 1) = 0;
411  virtual void displayRectangle(const vpImagePoint &topLeft, const vpImagePoint &bottomRight, const vpColor &color,
412  bool fill = false, unsigned int thickness = 1) = 0;
426  virtual void displayRectangle(const vpRect &rectangle, const vpColor &color, bool fill = false,
427  unsigned int thickness = 1) = 0;
428 
433  virtual void flushDisplay() = 0;
434 
439  virtual void flushDisplayROI(const vpImagePoint &iP, unsigned int width, unsigned int height) = 0;
440 
441  /* Simple interface with the mouse event */
442 
458  virtual bool getClick(bool blocking = true) = 0;
459 
475  virtual bool getClick(vpImagePoint &ip, bool blocking = true) = 0;
494  virtual bool getClick(vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button, bool blocking = true) = 0;
517  virtual bool getClickUp(vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button, bool blocking = true) = 0;
518 
534  virtual bool getKeyboardEvent(bool blocking = true) = 0;
554  virtual bool getKeyboardEvent(std::string &key, bool blocking = true) = 0;
565  virtual bool getPointerMotionEvent(vpImagePoint &ip) = 0;
566 
577  virtual bool getPointerPosition(vpImagePoint &ip) = 0;
578 
582  virtual unsigned int getScreenHeight() = 0;
587  virtual void getScreenSize(unsigned int &width, unsigned int &height) = 0;
591  virtual unsigned int getScreenWidth() = 0;
592 
601  virtual void init(vpImage<unsigned char> &I, int x = -1, int y = -1, const std::string &title = "") = 0;
611  virtual void init(vpImage<vpRGBa> &I, int x = -1, int y = -1, const std::string &title = "") = 0;
612 
673  virtual void init(unsigned int width, unsigned int height, int x = -1, int y = -1, const std::string &title = "") = 0;
674 
688  virtual void setFont(const std::string &font) = 0;
693  virtual void setTitle(const std::string &title) = 0;
701  virtual void setWindowPosition(int x, int y) = 0;
703 #endif // ifndef DOXYGEN_SHOULD_SKIP_THIS
704 
709  static void close(vpImage<unsigned char> &I);
710  static void display(const vpImage<unsigned char> &I);
711  static void displayArrow(const vpImage<unsigned char> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
712  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
713  unsigned int thickness = 1);
714  static void displayArrow(const vpImage<unsigned char> &I, int i1, int j1, int i2, int j2,
715  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
716  unsigned int thickness = 1);
717  static void displayCamera(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo,
718  const vpCameraParameters &cam, double size, const vpColor &color, unsigned int thickness);
719  static void displayCharString(const vpImage<unsigned char> &I, const vpImagePoint &ip, const char *string,
720  const vpColor &color);
721  static void displayCharString(const vpImage<unsigned char> &I, int i, int j, const char *string,
722  const vpColor &color);
723  static void displayCircle(const vpImage<unsigned char> &I, const vpImagePoint &center, unsigned int radius,
724  const vpColor &color, bool fill = false, unsigned int thickness = 1);
725  static void displayCircle(const vpImage<unsigned char> &I, int i, int j, unsigned int radius, const vpColor &color,
726  bool fill = false, unsigned int thickness = 1);
727  static void displayCross(const vpImage<unsigned char> &I, const vpImagePoint &ip, unsigned int size,
728  const vpColor &color, unsigned int thickness = 1);
729  static void displayCross(const vpImage<unsigned char> &I, int i, int j, unsigned int size, const vpColor &color,
730  unsigned int thickness = 1);
731  static void displayDotLine(const vpImage<unsigned char> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
732  const vpColor &color, unsigned int thickness = 1);
733  static void displayDotLine(const vpImage<unsigned char> &I, int i1, int j1, int i2, int j2, const vpColor &color,
734  unsigned int thickness = 1);
735  static void displayDotLine(const vpImage<unsigned char> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
736  const vpColor &color, unsigned int thickness = 1);
737  static void displayDotLine(const vpImage<unsigned char> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
738  const vpColor &color, unsigned int thickness = 1);
739  static void displayEllipse(const vpImage<unsigned char> &I, const vpImagePoint &center, const double &coef1,
740  const double &coef2, const double &coef3, bool use_normalized_centered_moments,
741  const vpColor &color, unsigned int thickness = 1, bool display_center = false,
742  bool display_arc = false);
743  static void displayEllipse(const vpImage<unsigned char> &I, const vpImagePoint &center, const double &coef1,
744  const double &coef2, const double &coef3, const double &smallalpha,
745  const double &highalpha, bool use_normalized_centered_moments, const vpColor &color,
746  unsigned int thickness = 1, bool display_center = false, bool display_arc = false);
747  static void displayFrame(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo,
748  const vpCameraParameters &cam, double size, const vpColor &color = vpColor::none,
749  unsigned int thickness = 1, const vpImagePoint &offset = vpImagePoint(0, 0),
750  const std::string& frameName = "", const vpColor& textColor = vpColor::black, const vpImagePoint& textOffset = vpImagePoint(15,15) );
751  static void displayLine(const vpImage<unsigned char> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
752  const vpColor &color, unsigned int thickness = 1, bool segment = true);
753  static void displayLine(const vpImage<unsigned char> &I, int i1, int j1, int i2, int j2, const vpColor &color,
754  unsigned int thickness = 1, bool segment = true);
755  static void displayLine(const vpImage<unsigned char> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
756  const vpColor &color, unsigned int thickness = 1);
757  static void displayLine(const vpImage<unsigned char> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
758  const vpColor &color, unsigned int thickness = 1);
759  static void displayPoint(const vpImage<unsigned char> &I, const vpImagePoint &ip, const vpColor &color,
760  unsigned int thickness = 1);
761  static void displayPoint(const vpImage<unsigned char> &I, int i, int j, const vpColor &color,
762  unsigned int thickness = 1);
763  static void displayPolygon(const vpImage<unsigned char> &I, const std::vector<vpImagePoint> &vip,
764  const vpColor &color, unsigned int thickness = 1, bool closed = true);
765  static void displayRectangle(const vpImage<unsigned char> &I, const vpImagePoint &topLeft, unsigned int width,
766  unsigned int height, const vpColor &color, bool fill = false,
767  unsigned int thickness = 1);
768  static void displayRectangle(const vpImage<unsigned char> &I, const vpImagePoint &topLeft,
769  const vpImagePoint &bottomRight, const vpColor &color, bool fill = false,
770  unsigned int thickness = 1);
771  static void displayRectangle(const vpImage<unsigned char> &I, const vpRect &rectangle, const vpColor &color,
772  bool fill = false, unsigned int thickness = 1);
773  static void displayRectangle(const vpImage<unsigned char> &I, const vpImagePoint &center, float angle,
774  unsigned int width, unsigned int height, const vpColor &color,
775  unsigned int thickness = 1);
776  static void displayRectangle(const vpImage<unsigned char> &I, int i, int j, unsigned int width, unsigned int height,
777  const vpColor &color, bool fill = false, unsigned int thickness = 1);
778  static void displayRectangle(const vpImage<unsigned char> &I, unsigned int i, unsigned int j, float angle,
779  unsigned int width, unsigned int height, const vpColor &color,
780  unsigned int thickness = 1);
781  static void displayROI(const vpImage<unsigned char> &I, const vpRect &roi);
782  static void displayText(const vpImage<unsigned char> &I, const vpImagePoint &ip, const std::string &s,
783  const vpColor &color);
784  static void displayText(const vpImage<unsigned char> &I, int i, int j, const std::string &s, const vpColor &color);
785 
786  static void flush(const vpImage<unsigned char> &I);
787  static void flushROI(const vpImage<unsigned char> &I, const vpRect &roi);
788 
789  static bool getClick(const vpImage<unsigned char> &I, bool blocking = true);
790  static bool getClick(const vpImage<unsigned char> &I, vpImagePoint &ip, bool blocking = true);
791  static bool getClick(const vpImage<unsigned char> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
792  bool blocking = true);
793  static bool getClick(const vpImage<unsigned char> &I, vpMouseButton::vpMouseButtonType &button, bool blocking = true);
794  static bool getClickUp(const vpImage<unsigned char> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
795  bool blocking = true);
796  static bool getClickUp(const vpImage<unsigned char> &I, vpMouseButton::vpMouseButtonType &button,
797  bool blocking = true);
798  static unsigned int getDownScalingFactor(const vpImage<unsigned char> &I);
799  static void getImage(const vpImage<unsigned char> &Is, vpImage<vpRGBa> &Id);
800  static bool getKeyboardEvent(const vpImage<unsigned char> &I, bool blocking = true);
801  static bool getKeyboardEvent(const vpImage<unsigned char> &I, std::string &key, bool blocking = true);
802  static bool getKeyboardEvent(const vpImage<unsigned char> &I, char *key, bool blocking = true);
803  static bool getPointerMotionEvent(const vpImage<unsigned char> &I, vpImagePoint &ip);
804  static bool getPointerPosition(const vpImage<unsigned char> &I, vpImagePoint &ip);
805 
806  static void setBackground(const vpImage<unsigned char> &I, const vpColor &color);
807  static void setFont(const vpImage<unsigned char> &I, const std::string &font);
808  static void setTitle(const vpImage<unsigned char> &I, const std::string &windowtitle);
809  static void setWindowPosition(const vpImage<unsigned char> &I, int winx, int winy);
811 
816  static void close(vpImage<vpRGBa> &I);
817  static void display(const vpImage<vpRGBa> &I);
818  static void displayArrow(const vpImage<vpRGBa> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
819  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
820  unsigned int thickness = 1);
821  static void displayArrow(const vpImage<vpRGBa> &I, int i1, int j1, int i2, int j2,
822  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
823  unsigned int thickness = 1);
824  static void displayCamera(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
825  double size, const vpColor &color, unsigned int thickness);
826  static void displayCharString(const vpImage<vpRGBa> &I, const vpImagePoint &ip, const char *string,
827  const vpColor &color);
828  static void displayCharString(const vpImage<vpRGBa> &I, int i, int j, const char *string, const vpColor &color);
829  static void displayCircle(const vpImage<vpRGBa> &I, const vpImagePoint &center, unsigned int radius,
830  const vpColor &color, bool fill = false, unsigned int thickness = 1);
831  static void displayCircle(const vpImage<vpRGBa> &I, int i, int j, unsigned int radius, const vpColor &color,
832  bool fill = false, unsigned int thickness = 1);
833  static void displayCross(const vpImage<vpRGBa> &I, const vpImagePoint &ip, unsigned int size, const vpColor &color,
834  unsigned int thickness = 1);
835  static void displayCross(const vpImage<vpRGBa> &I, int i, int j, unsigned int size, const vpColor &color,
836  unsigned int thickness = 1);
837  static void displayDotLine(const vpImage<vpRGBa> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
838  const vpColor &color, unsigned int thickness = 1);
839  static void displayDotLine(const vpImage<vpRGBa> &I, int i1, int j1, int i2, int j2, const vpColor &color,
840  unsigned int thickness = 1);
841  static void displayDotLine(const vpImage<vpRGBa> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
842  const vpColor &color, unsigned int thickness = 1);
843  static void displayDotLine(const vpImage<vpRGBa> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
844  const vpColor &color, unsigned int thickness = 1);
845  static void displayEllipse(const vpImage<vpRGBa> &I, const vpImagePoint &center, const double &coef1,
846  const double &coef2, const double &coef3, bool use_centered_moments, const vpColor &color,
847  unsigned int thickness = 1, bool display_center = false, bool display_arc = false);
848  static void displayEllipse(const vpImage<vpRGBa> &I, const vpImagePoint &center, const double &coef1,
849  const double &coef2, const double &coef3, const double &theta1, const double &theta2,
850  bool use_centered_moments, const vpColor &color, unsigned int thickness = 1,
851  bool display_center = false, bool display_arc = false);
852  static void displayFrame(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
853  double size, const vpColor &color = vpColor::none, unsigned int thickness = 1,
854  const vpImagePoint &offset = vpImagePoint(0, 0), const std::string& frameName = "",
855  const vpColor& textColor = vpColor::black, const vpImagePoint& textOffset = vpImagePoint(15,15) );
856  static void displayLine(const vpImage<vpRGBa> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
857  const vpColor &color, unsigned int thickness = 1, bool segment = true);
858  static void displayLine(const vpImage<vpRGBa> &I, int i1, int j1, int i2, int j2, const vpColor &color,
859  unsigned int thickness = 1, bool segment = true);
860  static void displayLine(const vpImage<vpRGBa> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
861  const vpColor &color, unsigned int thickness = 1);
862  static void displayLine(const vpImage<vpRGBa> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
863  const vpColor &color, unsigned int thickness = 1);
864  static void displayPoint(const vpImage<vpRGBa> &I, const vpImagePoint &ip, const vpColor &color,
865  unsigned int thickness = 1);
866  static void displayPoint(const vpImage<vpRGBa> &I, int i, int j, const vpColor &color, unsigned int thickness = 1);
867  static void displayPolygon(const vpImage<vpRGBa> &I, const std::vector<vpImagePoint> &vip, const vpColor &color,
868  unsigned int thickness = 1, bool closed = true);
869  static void displayRectangle(const vpImage<vpRGBa> &I, const vpImagePoint &topLeft, unsigned int width,
870  unsigned int height, const vpColor &color, bool fill = false,
871  unsigned int thickness = 1);
872  static void displayRectangle(const vpImage<vpRGBa> &I, const vpImagePoint &topLeft, const vpImagePoint &bottomRight,
873  const vpColor &color, bool fill = false, unsigned int thickness = 1);
874  static void displayRectangle(const vpImage<vpRGBa> &I, const vpRect &rectangle, const vpColor &color,
875  bool fill = false, unsigned int thickness = 1);
876  static void displayRectangle(const vpImage<vpRGBa> &I, const vpImagePoint &center, float angle, unsigned int width,
877  unsigned int height, const vpColor &color, unsigned int thickness = 1);
878  static void displayRectangle(const vpImage<vpRGBa> &I, int i, int j, unsigned int width, unsigned int height,
879  const vpColor &color, bool fill = false, unsigned int thickness = 1);
880  static void displayRectangle(const vpImage<vpRGBa> &I, unsigned int i, unsigned int j, float angle,
881  unsigned int width, unsigned int height, const vpColor &color,
882  unsigned int thickness = 1);
883  static void displayROI(const vpImage<vpRGBa> &I, const vpRect &roi);
884  static void displayText(const vpImage<vpRGBa> &I, const vpImagePoint &ip, const std::string &s, const vpColor &color);
885  static void displayText(const vpImage<vpRGBa> &I, int i, int j, const std::string &s, const vpColor &color);
886 
887  static void flush(const vpImage<vpRGBa> &I);
888  static void flushROI(const vpImage<vpRGBa> &I, const vpRect &roi);
889 
890  static bool getClick(const vpImage<vpRGBa> &I, bool blocking = true);
891  static bool getClick(const vpImage<vpRGBa> &I, vpImagePoint &ip, bool blocking = true);
892  static bool getClick(const vpImage<vpRGBa> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
893  bool blocking = true);
894  static bool getClick(const vpImage<vpRGBa> &I, vpMouseButton::vpMouseButtonType &button, bool blocking = true);
895  static bool getClickUp(const vpImage<vpRGBa> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
896  bool blocking = true);
897  static bool getClickUp(const vpImage<vpRGBa> &I, vpMouseButton::vpMouseButtonType &button, bool blocking = true);
898  static unsigned int getDownScalingFactor(const vpImage<vpRGBa> &I);
899  static void getImage(const vpImage<vpRGBa> &Is, vpImage<vpRGBa> &Id);
900  static bool getKeyboardEvent(const vpImage<vpRGBa> &I, bool blocking = true);
901  static bool getKeyboardEvent(const vpImage<vpRGBa> &I, std::string &key, bool blocking = true);
902  static bool getKeyboardEvent(const vpImage<vpRGBa> &I, char *key, bool blocking = true);
903  static bool getPointerMotionEvent(const vpImage<vpRGBa> &I, vpImagePoint &ip);
904  static bool getPointerPosition(const vpImage<vpRGBa> &I, vpImagePoint &ip);
905 
906  static void setBackground(const vpImage<vpRGBa> &I, const vpColor &color);
907  static void setFont(const vpImage<vpRGBa> &I, const std::string &font);
908  static void setTitle(const vpImage<vpRGBa> &I, const std::string &windowtitle);
909  static void setWindowPosition(const vpImage<vpRGBa> &I, int winx, int winy);
911 
912 private:
914  virtual void getImage(vpImage<vpRGBa> &I) = 0;
915 };
916 
917 #endif
Generic class defining intrinsic camera parameters.
Class to define RGB colors available for display functionnalities.
Definition: vpColor.h:158
static const vpColor white
Definition: vpColor.h:212
static const vpColor black
Definition: vpColor.h:211
static const vpColor none
Definition: vpColor.h:229
static const vpColor green
Definition: vpColor.h:220
Class that defines generic functionnalities for display.
Definition: vpDisplay.h:178
unsigned int m_height
Definition: vpDisplay.h:216
vpScaleType m_scaleType
Definition: vpDisplay.h:219
unsigned int m_width
Definition: vpDisplay.h:215
int getWindowXPosition() const
Definition: vpDisplay.h:251
bool isInitialised()
Definition: vpDisplay.h:263
int m_windowXPosition
display position
Definition: vpDisplay.h:212
std::string m_title
Definition: vpDisplay.h:217
int m_windowYPosition
display position
Definition: vpDisplay.h:214
unsigned int m_scale
Definition: vpDisplay.h:218
int getWindowYPosition() const
Definition: vpDisplay.h:256
unsigned int getHeight() const
Definition: vpDisplay.h:240
bool m_displayHasBeenInitialized
display has been initialized
Definition: vpDisplay.h:210
unsigned int getDownScalingFactor()
Definition: vpDisplay.h:235
unsigned int getWidth() const
Definition: vpDisplay.h:245
Implementation of an homogeneous matrix and operations on such kind of matrices.
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition: vpImagePoint.h:89
Defines a rectangle in the plane.
Definition: vpRect.h:80