Visual Servoing Platform  version 3.6.1 under development (2024-07-27)
vpDisplay.h
1 /*
2  * ViSP, open source Visual Servoing Platform software.
3  * Copyright (C) 2005 - 2024 by Inria. All rights reserved.
4  *
5  * This software is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  * See the file LICENSE.txt at the root directory of this source
10  * distribution for additional information about the GNU GPL.
11  *
12  * For using ViSP with software that can not be combined with the GNU
13  * GPL, please contact Inria about acquiring a ViSP Professional
14  * Edition License.
15  *
16  * See https://visp.inria.fr for more information.
17  *
18  * This software was developed at:
19  * Inria Rennes - Bretagne Atlantique
20  * Campus Universitaire de Beaulieu
21  * 35042 Rennes Cedex
22  * France
23  *
24  * If you have questions regarding the use of this file, please contact
25  * Inria at visp@inria.fr
26  *
27  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29  *
30  * Description:
31  * Image display.
32  */
33 
40 #ifndef VP_DISPLAY_H
41 #define VP_DISPLAY_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/vpImageCircle.h>
52 #include <visp3/core/vpImagePoint.h>
53 #include <visp3/core/vpMouseButton.h>
54 #include <visp3/core/vpPolygon.h>
55 #include <visp3/core/vpRect.h>
56 
177 class VISP_EXPORT vpDisplay
178 {
179 public:
182  typedef enum
183  {
184  SCALE_AUTO,
187  SCALE_2,
189  SCALE_3,
191  SCALE_4,
193  SCALE_5,
195  SCALE_6,
197  SCALE_7,
199  SCALE_8,
201  SCALE_9,
203  SCALE_10,
205  SCALE_DEFAULT
207  } vpScaleType;
208 
209 public:
210  vpDisplay();
211  vpDisplay(const vpDisplay &d);
212  virtual ~vpDisplay();
213 
216  unsigned int computeAutoScale(unsigned int width, unsigned int height);
221  unsigned int getDownScalingFactor() { return m_scale; }
226  inline unsigned int getHeight() const { return m_height; }
231  inline unsigned int getWidth() const { return m_width; }
232 
237  int getWindowXPosition() const { return m_windowXPosition; }
242  int getWindowYPosition() const { return m_windowYPosition; }
243 
249  inline bool isInitialised() { return m_displayHasBeenInitialized; }
250  virtual void setDownScalingFactor(unsigned int scale);
251  virtual void setDownScalingFactor(vpScaleType scaleType);
253 
254 #ifndef DOXYGEN_SHOULD_SKIP_THIS
261  virtual void clearDisplay(const vpColor &color = vpColor::white) = 0;
265  virtual void closeDisplay() = 0;
266 
276  virtual void displayArrow(const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color = vpColor::white,
277  unsigned int w = 4, unsigned int h = 2, unsigned int thickness = 1) = 0;
278 
287  inline virtual void displayCircle(const vpImageCircle &circle, const vpColor &color, bool fill = false,
288  unsigned int thickness = 1)
289  {
290  this->displayCircle(circle.getCenter(), static_cast<unsigned int>(circle.getRadius()), color, fill, thickness);
291  }
292 
302  virtual void displayCircle(const vpImagePoint &center, unsigned int radius, const vpColor &color, bool fill = false,
303  unsigned int thickness = 1) = 0;
311  virtual void displayCross(const vpImagePoint &ip, unsigned int size, const vpColor &color,
312  unsigned int thickness = 1) = 0;
320  virtual void displayDotLine(const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color,
321  unsigned int thickness = 1) = 0;
329  virtual void displayLine(const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color,
330  unsigned int thickness = 1) = 0;
331 
339  virtual void displayImage(const vpImage<unsigned char> &I) = 0;
340 
348  virtual void displayImage(const vpImage<vpRGBa> &I) = 0;
349 
350  virtual void displayImageROI(const vpImage<unsigned char> &I, const vpImagePoint &iP, unsigned int width,
351  unsigned int height) = 0;
352  virtual void displayImageROI(const vpImage<vpRGBa> &I, const vpImagePoint &iP, unsigned int width,
353  unsigned int height) = 0;
354 
361  virtual void displayPoint(const vpImagePoint &ip, const vpColor &color, unsigned int thickness = 1) = 0;
362 
376  virtual void displayRectangle(const vpImagePoint &topLeft, unsigned int width, unsigned int height,
377  const vpColor &color, bool fill = false, unsigned int thickness = 1) = 0;
390  virtual void displayRectangle(const vpImagePoint &topLeft, const vpImagePoint &bottomRight, const vpColor &color,
391  bool fill = false, unsigned int thickness = 1) = 0;
403  virtual void displayRectangle(const vpRect &rectangle, const vpColor &color, bool fill = false,
404  unsigned int thickness = 1) = 0;
405 
417  virtual void displayText(const vpImagePoint &ip, const std::string &text, const vpColor &color = vpColor::green) = 0;
418 
423  virtual void flushDisplay() = 0;
424 
429  virtual void flushDisplayROI(const vpImagePoint &iP, unsigned int width, unsigned int height) = 0;
430 
431  /* Simple interface with the mouse event */
432 
448  virtual bool getClick(bool blocking = true) = 0;
449 
465  virtual bool getClick(vpImagePoint &ip, bool blocking = true) = 0;
484  virtual bool getClick(vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button, bool blocking = true) = 0;
507  virtual bool getClickUp(vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button, bool blocking = true) = 0;
508 
524  virtual bool getKeyboardEvent(bool blocking = true) = 0;
543  virtual bool getKeyboardEvent(std::string &key, bool blocking = true) = 0;
554  virtual bool getPointerMotionEvent(vpImagePoint &ip) = 0;
555 
566  virtual bool getPointerPosition(vpImagePoint &ip) = 0;
567 
571  virtual unsigned int getScreenHeight() = 0;
576  virtual void getScreenSize(unsigned int &width, unsigned int &height) = 0;
580  virtual unsigned int getScreenWidth() = 0;
581 
590  virtual void init(vpImage<unsigned char> &I, int x = -1, int y = -1, const std::string &title = "") = 0;
600  virtual void init(vpImage<vpRGBa> &I, int x = -1, int y = -1, const std::string &title = "") = 0;
601 
666  virtual void init(unsigned int width, unsigned int height, int x = -1, int y = -1, const std::string &title = "") = 0;
667 
681  virtual void setFont(const std::string &font) = 0;
686  virtual void setTitle(const std::string &title) = 0;
694  virtual void setWindowPosition(int x, int y) = 0;
696 #endif // ifndef DOXYGEN_SHOULD_SKIP_THIS
697 
702  static void close(vpImage<unsigned char> &I);
703  static void display(const vpImage<unsigned char> &I);
704  static void displayArrow(const vpImage<unsigned char> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
705  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
706  unsigned int thickness = 1);
707  static void displayArrow(const vpImage<unsigned char> &I, int i1, int j1, int i2, int j2,
708  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
709  unsigned int thickness = 1);
710  static void displayCamera(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo,
711  const vpCameraParameters &cam, double size, const vpColor &color, unsigned int thickness);
712  static void displayCircle(const vpImage<unsigned char> &I, const vpImageCircle &circle,
713  const vpColor &color, bool fill = false, unsigned int thickness = 1);
714  static void displayCircle(const vpImage<unsigned char> &I, const vpImagePoint &center, unsigned int radius,
715  const vpColor &color, bool fill = false, unsigned int thickness = 1);
716  static void displayCircle(const vpImage<unsigned char> &I, int i, int j, unsigned int radius, const vpColor &color,
717  bool fill = false, unsigned int thickness = 1);
718  static void displayCross(const vpImage<unsigned char> &I, const vpImagePoint &ip, unsigned int size,
719  const vpColor &color, unsigned int thickness = 1);
720  static void displayCross(const vpImage<unsigned char> &I, int i, int j, unsigned int size, const vpColor &color,
721  unsigned int thickness = 1);
722  static void displayDotLine(const vpImage<unsigned char> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
723  const vpColor &color, unsigned int thickness = 1);
724  static void displayDotLine(const vpImage<unsigned char> &I, int i1, int j1, int i2, int j2, const vpColor &color,
725  unsigned int thickness = 1);
726  static void displayDotLine(const vpImage<unsigned char> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
727  const vpColor &color, unsigned int thickness = 1);
728  static void displayDotLine(const vpImage<unsigned char> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
729  const vpColor &color, unsigned int thickness = 1);
730  static void displayEllipse(const vpImage<unsigned char> &I, const vpImagePoint &center, const double &coef1,
731  const double &coef2, const double &coef3, bool use_normalized_centered_moments,
732  const vpColor &color, unsigned int thickness = 1, bool display_center = false,
733  bool display_arc = false);
734  static void displayEllipse(const vpImage<unsigned char> &I, const vpImagePoint &center, const double &coef1,
735  const double &coef2, const double &coef3, const double &smallalpha,
736  const double &highalpha, bool use_normalized_centered_moments, const vpColor &color,
737  unsigned int thickness = 1, bool display_center = false, bool display_arc = false);
738  static void displayFrame(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo,
739  const vpCameraParameters &cam, double size, const vpColor &color = vpColor::none,
740  unsigned int thickness = 1, const vpImagePoint &offset = vpImagePoint(0, 0),
741  const std::string &frameName = "", const vpColor &textColor = vpColor::black, const vpImagePoint &textOffset = vpImagePoint(15, 15));
742  static void displayLine(const vpImage<unsigned char> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
743  const vpColor &color, unsigned int thickness = 1, bool segment = true);
744  static void displayLine(const vpImage<unsigned char> &I, int i1, int j1, int i2, int j2, const vpColor &color,
745  unsigned int thickness = 1, bool segment = true);
746  static void displayLine(const vpImage<unsigned char> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
747  const vpColor &color, unsigned int thickness = 1);
748  static void displayLine(const vpImage<unsigned char> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
749  const vpColor &color, unsigned int thickness = 1);
750  static void displayPoint(const vpImage<unsigned char> &I, const vpImagePoint &ip, const vpColor &color,
751  unsigned int thickness = 1);
752  static void displayPoint(const vpImage<unsigned char> &I, int i, int j, const vpColor &color,
753  unsigned int thickness = 1);
754  static void displayPolygon(const vpImage<unsigned char> &I, const std::vector<vpImagePoint> &vip,
755  const vpColor &color, unsigned int thickness = 1, bool closed = true);
756  static void displayPolygon(const vpImage<unsigned char> &I, const vpPolygon &polygon,
757  const vpColor &color, unsigned int thickness = 1, bool closed = true);
758  static void displayRectangle(const vpImage<unsigned char> &I, const vpImagePoint &topLeft, unsigned int width,
759  unsigned int height, const vpColor &color, bool fill = false,
760  unsigned int thickness = 1);
761  static void displayRectangle(const vpImage<unsigned char> &I, const vpImagePoint &topLeft,
762  const vpImagePoint &bottomRight, const vpColor &color, bool fill = false,
763  unsigned int thickness = 1);
764  static void displayRectangle(const vpImage<unsigned char> &I, const vpRect &rectangle, const vpColor &color,
765  bool fill = false, unsigned int thickness = 1);
766  static void displayRectangle(const vpImage<unsigned char> &I, const vpImagePoint &center, float angle,
767  unsigned int width, unsigned int height, const vpColor &color,
768  unsigned int thickness = 1);
769  static void displayRectangle(const vpImage<unsigned char> &I, int i, int j, unsigned int width, unsigned int height,
770  const vpColor &color, bool fill = false, unsigned int thickness = 1);
771  static void displayRectangle(const vpImage<unsigned char> &I, unsigned int i, unsigned int j, float angle,
772  unsigned int width, unsigned int height, const vpColor &color,
773  unsigned int thickness = 1);
774  static void displayROI(const vpImage<unsigned char> &I, const vpRect &roi);
775  static void displayText(const vpImage<unsigned char> &I, const vpImagePoint &ip, const std::string &s,
776  const vpColor &color);
777  static void displayText(const vpImage<unsigned char> &I, int i, int j, const std::string &s, const vpColor &color);
778 
779  static void flush(const vpImage<unsigned char> &I);
780  static void flushROI(const vpImage<unsigned char> &I, const vpRect &roi);
781 
782  static bool getClick(const vpImage<unsigned char> &I, bool blocking = true);
783  static bool getClick(const vpImage<unsigned char> &I, vpImagePoint &ip, bool blocking = true);
784  static bool getClick(const vpImage<unsigned char> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
785  bool blocking = true);
786  static bool getClick(const vpImage<unsigned char> &I, vpMouseButton::vpMouseButtonType &button, bool blocking = true);
787  static bool getClickUp(const vpImage<unsigned char> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
788  bool blocking = true);
789  static bool getClickUp(const vpImage<unsigned char> &I, vpMouseButton::vpMouseButtonType &button,
790  bool blocking = true);
791  static unsigned int getDownScalingFactor(const vpImage<unsigned char> &I);
792  static void getImage(const vpImage<unsigned char> &Is, vpImage<vpRGBa> &Id);
793  static bool getKeyboardEvent(const vpImage<unsigned char> &I, bool blocking = true);
794  static bool getKeyboardEvent(const vpImage<unsigned char> &I, std::string &key, bool blocking = true);
795  static bool getKeyboardEvent(const vpImage<unsigned char> &I, char *key, bool blocking = true);
796  static bool getPointerMotionEvent(const vpImage<unsigned char> &I, vpImagePoint &ip);
797  static bool getPointerPosition(const vpImage<unsigned char> &I, vpImagePoint &ip);
798 
799  static void setBackground(const vpImage<unsigned char> &I, const vpColor &color);
800  static void setFont(const vpImage<unsigned char> &I, const std::string &font);
801  static void setTitle(const vpImage<unsigned char> &I, const std::string &windowtitle);
802  static void setWindowPosition(const vpImage<unsigned char> &I, int winx, int winy);
804 
809  static void close(vpImage<vpRGBa> &I);
810  static void display(const vpImage<vpRGBa> &I);
811  static void displayArrow(const vpImage<vpRGBa> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
812  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
813  unsigned int thickness = 1);
814  static void displayArrow(const vpImage<vpRGBa> &I, int i1, int j1, int i2, int j2,
815  const vpColor &color = vpColor::white, unsigned int w = 4, unsigned int h = 2,
816  unsigned int thickness = 1);
817  static void displayCamera(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
818  double size, const vpColor &color, unsigned int thickness);
819  static void displayCircle(const vpImage<vpRGBa> &I, const vpImageCircle &circle,
820  const vpColor &color, bool fill = false, unsigned int thickness = 1);
821  static void displayCircle(const vpImage<vpRGBa> &I, const vpImagePoint &center, unsigned int radius,
822  const vpColor &color, bool fill = false, unsigned int thickness = 1);
823  static void displayCircle(const vpImage<vpRGBa> &I, int i, int j, unsigned int radius, const vpColor &color,
824  bool fill = false, unsigned int thickness = 1);
825  static void displayCross(const vpImage<vpRGBa> &I, const vpImagePoint &ip, unsigned int size, const vpColor &color,
826  unsigned int thickness = 1);
827  static void displayCross(const vpImage<vpRGBa> &I, int i, int j, unsigned int size, const vpColor &color,
828  unsigned int thickness = 1);
829  static void displayDotLine(const vpImage<vpRGBa> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
830  const vpColor &color, unsigned int thickness = 1);
831  static void displayDotLine(const vpImage<vpRGBa> &I, int i1, int j1, int i2, int j2, const vpColor &color,
832  unsigned int thickness = 1);
833  static void displayDotLine(const vpImage<vpRGBa> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
834  const vpColor &color, unsigned int thickness = 1);
835  static void displayDotLine(const vpImage<vpRGBa> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
836  const vpColor &color, unsigned int thickness = 1);
837  static void displayEllipse(const vpImage<vpRGBa> &I, const vpImagePoint &center, const double &coef1,
838  const double &coef2, const double &coef3, bool use_centered_moments, const vpColor &color,
839  unsigned int thickness = 1, bool display_center = false, bool display_arc = false);
840  static void displayEllipse(const vpImage<vpRGBa> &I, const vpImagePoint &center, const double &coef1,
841  const double &coef2, const double &coef3, const double &theta1, const double &theta2,
842  bool use_centered_moments, const vpColor &color, unsigned int thickness = 1,
843  bool display_center = false, bool display_arc = false);
844  static void displayFrame(const vpImage<vpRGBa> &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam,
845  double size, const vpColor &color = vpColor::none, unsigned int thickness = 1,
846  const vpImagePoint &offset = vpImagePoint(0, 0), const std::string &frameName = "",
847  const vpColor &textColor = vpColor::black, const vpImagePoint &textOffset = vpImagePoint(15, 15));
848  static void displayLine(const vpImage<vpRGBa> &I, const vpImagePoint &ip1, const vpImagePoint &ip2,
849  const vpColor &color, unsigned int thickness = 1, bool segment = true);
850  static void displayLine(const vpImage<vpRGBa> &I, int i1, int j1, int i2, int j2, const vpColor &color,
851  unsigned int thickness = 1, bool segment = true);
852  static void displayLine(const vpImage<vpRGBa> &I, const std::vector<vpImagePoint> &ips, bool closeTheShape,
853  const vpColor &color, unsigned int thickness = 1);
854  static void displayLine(const vpImage<vpRGBa> &I, const std::list<vpImagePoint> &ips, bool closeTheShape,
855  const vpColor &color, unsigned int thickness = 1);
856  static void displayPoint(const vpImage<vpRGBa> &I, const vpImagePoint &ip, const vpColor &color,
857  unsigned int thickness = 1);
858  static void displayPoint(const vpImage<vpRGBa> &I, int i, int j, const vpColor &color, unsigned int thickness = 1);
859  static void displayPolygon(const vpImage<vpRGBa> &I, const std::vector<vpImagePoint> &vip, const vpColor &color,
860  unsigned int thickness = 1, bool closed = true);
861  static void displayPolygon(const vpImage<vpRGBa> &I, const vpPolygon &polygon,
862  const vpColor &color, unsigned int thickness = 1, bool closed = true);
863  static void displayRectangle(const vpImage<vpRGBa> &I, const vpImagePoint &topLeft, unsigned int width,
864  unsigned int height, const vpColor &color, bool fill = false,
865  unsigned int thickness = 1);
866  static void displayRectangle(const vpImage<vpRGBa> &I, const vpImagePoint &topLeft, const vpImagePoint &bottomRight,
867  const vpColor &color, bool fill = false, unsigned int thickness = 1);
868  static void displayRectangle(const vpImage<vpRGBa> &I, const vpRect &rectangle, const vpColor &color,
869  bool fill = false, unsigned int thickness = 1);
870  static void displayRectangle(const vpImage<vpRGBa> &I, const vpImagePoint &center, float angle, unsigned int width,
871  unsigned int height, const vpColor &color, unsigned int thickness = 1);
872  static void displayRectangle(const vpImage<vpRGBa> &I, int i, int j, unsigned int width, unsigned int height,
873  const vpColor &color, bool fill = false, unsigned int thickness = 1);
874  static void displayRectangle(const vpImage<vpRGBa> &I, unsigned int i, unsigned int j, float angle,
875  unsigned int width, unsigned int height, const vpColor &color,
876  unsigned int thickness = 1);
877  static void displayROI(const vpImage<vpRGBa> &I, const vpRect &roi);
878  static void displayText(const vpImage<vpRGBa> &I, const vpImagePoint &ip, const std::string &s, const vpColor &color);
879  static void displayText(const vpImage<vpRGBa> &I, int i, int j, const std::string &s, const vpColor &color);
880 
881  static void flush(const vpImage<vpRGBa> &I);
882  static void flushROI(const vpImage<vpRGBa> &I, const vpRect &roi);
883 
884  static bool getClick(const vpImage<vpRGBa> &I, bool blocking = true);
885  static bool getClick(const vpImage<vpRGBa> &I, vpImagePoint &ip, bool blocking = true);
886  static bool getClick(const vpImage<vpRGBa> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
887  bool blocking = true);
888  static bool getClick(const vpImage<vpRGBa> &I, vpMouseButton::vpMouseButtonType &button, bool blocking = true);
889  static bool getClickUp(const vpImage<vpRGBa> &I, vpImagePoint &ip, vpMouseButton::vpMouseButtonType &button,
890  bool blocking = true);
891  static bool getClickUp(const vpImage<vpRGBa> &I, vpMouseButton::vpMouseButtonType &button, bool blocking = true);
892  static unsigned int getDownScalingFactor(const vpImage<vpRGBa> &I);
893  static void getImage(const vpImage<vpRGBa> &Is, vpImage<vpRGBa> &Id);
894  static bool getKeyboardEvent(const vpImage<vpRGBa> &I, bool blocking = true);
895  static bool getKeyboardEvent(const vpImage<vpRGBa> &I, std::string &key, bool blocking = true);
896  static bool getKeyboardEvent(const vpImage<vpRGBa> &I, char *key, bool blocking = true);
897  static bool getPointerMotionEvent(const vpImage<vpRGBa> &I, vpImagePoint &ip);
898  static bool getPointerPosition(const vpImage<vpRGBa> &I, vpImagePoint &ip);
899 
900  static void setBackground(const vpImage<vpRGBa> &I, const vpColor &color);
901  static void setFont(const vpImage<vpRGBa> &I, const std::string &font);
902  static void setTitle(const vpImage<vpRGBa> &I, const std::string &windowtitle);
903  static void setWindowPosition(const vpImage<vpRGBa> &I, int winx, int winy);
905 
906 #if defined(VISP_BUILD_DEPRECATED_FUNCTIONS)
911  VP_DEPRECATED static void displayCharString(const vpImage<unsigned char> &I, const vpImagePoint &ip, const char *string,
912  const vpColor &color);
913  VP_DEPRECATED static void displayCharString(const vpImage<unsigned char> &I, int i, int j, const char *string,
914  const vpColor &color);
915  VP_DEPRECATED static void displayCharString(const vpImage<vpRGBa> &I, const vpImagePoint &ip, const char *string,
916  const vpColor &color);
917  VP_DEPRECATED static void displayCharString(const vpImage<vpRGBa> &I, int i, int j, const char *string,
918  const vpColor &color);
920 #endif
921 
922 protected:
929  unsigned int m_width;
930  unsigned int m_height;
931  std::string m_title;
932  unsigned int m_scale;
934 
935  void setScale(vpScaleType scaleType, unsigned int width, unsigned int height);
936 
937 private:
939  virtual void getImage(vpImage<vpRGBa> &I) = 0;
940 };
941 END_VISP_NAMESPACE
942 #endif
Generic class defining intrinsic camera parameters.
Class to define RGB colors available for display functionalities.
Definition: vpColor.h:157
static const vpColor white
Definition: vpColor.h:212
static const vpColor none
Definition: vpColor.h:229
static const vpColor black
Definition: vpColor.h:211
static const vpColor green
Definition: vpColor.h:220
Class that defines generic functionalities for display.
Definition: vpDisplay.h:178
unsigned int m_height
Definition: vpDisplay.h:930
vpScaleType m_scaleType
Definition: vpDisplay.h:933
unsigned int m_width
Definition: vpDisplay.h:929
int getWindowXPosition() const
Definition: vpDisplay.h:237
bool isInitialised()
Definition: vpDisplay.h:249
int m_windowXPosition
display position
Definition: vpDisplay.h:926
std::string m_title
Definition: vpDisplay.h:931
int m_windowYPosition
display position
Definition: vpDisplay.h:928
unsigned int m_scale
Definition: vpDisplay.h:932
int getWindowYPosition() const
Definition: vpDisplay.h:242
unsigned int getHeight() const
Definition: vpDisplay.h:226
bool m_displayHasBeenInitialized
display has been initialized
Definition: vpDisplay.h:924
unsigned int getDownScalingFactor()
Definition: vpDisplay.h:221
unsigned int getWidth() const
Definition: vpDisplay.h:231
Implementation of an homogeneous matrix and operations on such kind of matrices.
Class that defines a 2D circle in an image.
Definition: vpImageCircle.h:57
float getRadius() const
vpImagePoint getCenter() const
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition: vpImagePoint.h:82
Defines a generic 2D polygon.
Definition: vpPolygon.h:103
Defines a rectangle in the plane.
Definition: vpRect.h:79