figure.h
Go to the documentation of this file.
1 #ifndef FIGURE_H
2 #define FIGURE_H
3 #include <opencv/cv.h>
4 #include <opencv2/core/core.hpp>
5 #include <opencv2/core/core_c.h>
6 #include <tuw_geometry/pose2d.h>
8 
9 namespace tuw {
10 class Figure;
11 using FigurePtr = std::shared_ptr< Figure > ;
12 using FigureConstPtr = std::shared_ptr< Figure const>;
13 
17 class Figure : public WorldScopedMaps {
18  std::string title_;
19  std::string label_format_x_;
20  std::string label_format_y_;
21  cv::Mat view_;
22  cv::Mat background_;
23  std::string background_filename_;
25 
26  void drawBackground ();
27 public:
28  //special class member functions
33  Figure ( const std::string &title );
34  virtual ~Figure() = default;
35  Figure (const Figure&) = default;
36  Figure& operator=(const Figure&) = default;
37  Figure (Figure&&) = default;
38  Figure& operator=(Figure&&) = default;
39 
53  virtual void init ( int width_pixel, int height_pixel,
54  double min_y, double max_y,
55  double min_x, double max_x,
56  double rotation = 0,
57  double grid_scale_x = -1, double grid_scale_y = -1,
58  const std::string &background_image = std::string() );
59 
63  const std::string title() const;
69  void setLabel ( const std::string &label_x = std::string("x=%f"), const std::string &label_y = std::string("y=%f"));
70 
74  const std::string& backgroundFileName() const;
78  const cv::Mat& view() const;
82  cv::Mat& view();
86  const cv::Mat& background() const;
90  cv::Mat& background();
95  void setView ( const cv::Mat& view );
104  void line ( const Point2D &p0, const Point2D &p1, const cv::Scalar &color, int thickness=1, int lineType = CV_AA );
105  using WorldScopedMaps::line;
114  void circle ( const Point2D &p, int radius, const cv::Scalar &color, int thickness=1, int lineType = CV_AA );
122  void symbol ( cv::Mat &view, const Point2D &p, const cv::Scalar &color );
128  void symbol ( const Point2D &p, const cv::Scalar &color );
138  void symbol ( cv::Mat &view, const Pose2D &p, double radius, const cv::Scalar &color, int thickness=1, int lineType = CV_AA );
147  void symbol ( const Pose2D &p, double radius, const cv::Scalar &color, int thickness=1, int lineType = CV_AA );
159  void putText ( cv::Mat &view, const std::string& text, const Point2D &p, int fontFace = cv::FONT_HERSHEY_PLAIN, double fontScale = 0.6, cv::Scalar color = cv::Scalar ( 128,0,0 ), int thickness=1, int lineType=CV_AA, bool bottomLeftOrigin=false );
170  void putText ( const std::string& text, const Point2D &p, int fontFace = cv::FONT_HERSHEY_PLAIN, double fontScale = 0.6, cv::Scalar color = cv::Scalar ( 128,0,0 ), int thickness=1, int lineType=CV_AA, bool bottomLeftOrigin=false );
171 
175  void clear ();
176 
184  void appendToView(const cv::Mat& _mat, const cv::Scalar& _colMin, const cv::Scalar& _colMax, u_int8_t _truncateLayerVal = 0);
185 
187  static const cv::Scalar green;
188  static const cv::Scalar green_bright;
189  static const cv::Scalar green_dark;
190  static const cv::Scalar red;
191  static const cv::Scalar blue;
192  static const cv::Scalar blue_bright;
193  static const cv::Scalar blue_dark;
194  static const cv::Scalar orange;
195  static const cv::Scalar yellow;
196  static const cv::Scalar cyan;
197  static const cv::Scalar magenta;
198  static const cv::Scalar gray_bright;
199  static const cv::Scalar gray;
200  static const cv::Scalar black;
201  static const cv::Scalar white;
202 
203  static const cv::Scalar niceBlue;
204  static const cv::Scalar niceMustard;
205  static const cv::Scalar niceMagenta;
206  static const cv::Scalar niceGreenBlue;
207  static const cv::Scalar niceRed;
208  static const cv::Scalar niceRedDark;
209  static const cv::Scalar niceGreen;
210  static const cv::Scalar niceGrey;
211  static const cv::Scalar niceGreyLight;
212  static const cv::Scalar niceGreyPurple;
213  static const cv::Scalar niceGreenWashed;
214  static const cv::Scalar niceGreyDark;
215  static const cv::Scalar niceLime;
216  static const cv::Scalar niceDirtyPink;
217 
218 };
219 }
220 #endif // FIGRUE_H
void circle(T &map, const Point2D &p, int radius, const cv::Scalar &color, int thickness=1, int lineType=CV_AA) const
static const cv::Scalar green_bright
Definition: figure.h:188
static const cv::Scalar niceGreyLight
Definition: figure.h:211
Figure & operator=(const Figure &)=default
double grid_scale_x_
if empty no file will be used
Definition: figure.h:24
static const cv::Scalar niceRedDark
Definition: figure.h:208
static const cv::Scalar black
Definition: figure.h:200
void setView(const cv::Mat &view)
Definition: figure.cpp:67
static const cv::Scalar gray_bright
Definition: figure.h:198
static const cv::Scalar niceGreyDark
Definition: figure.h:214
cv::Mat background_
canvas
Definition: figure.h:22
static const cv::Scalar blue
Definition: figure.h:191
void init()
initializes the transformation matrices
cv::Mat view_
label format string
Definition: figure.h:21
void line(T &map, const Point2D &p0, const Point2D &p1, const cv::Scalar &color, int thickness=1, int lineType=CV_AA) const
void symbol(cv::Mat &view, const Point2D &p, const cv::Scalar &color)
Definition: figure.cpp:150
static const cv::Scalar niceBlue
Definition: figure.h:203
void appendToView(const cv::Mat &_mat, const cv::Scalar &_colMin, const cv::Scalar &_colMax, u_int8_t _truncateLayerVal=0)
Definition: figure.cpp:180
const std::string & backgroundFileName() const
Definition: figure.cpp:52
std::string background_filename_
background data, grid or image
Definition: figure.h:23
static const cv::Scalar green_dark
Definition: figure.h:189
const cv::Mat & background() const
Definition: figure.cpp:61
static const cv::Scalar orange
Definition: figure.h:194
std::shared_ptr< Figure > FigurePtr
Prototype.
Definition: figure.h:11
static const cv::Scalar niceGrey
Definition: figure.h:210
void circle(const Point2D &p, int radius, const cv::Scalar &color, int thickness=1, int lineType=CV_AA)
Definition: figure.cpp:160
static const cv::Scalar blue_dark
Definition: figure.h:193
Definition: command.h:8
std::shared_ptr< Figure const > FigureConstPtr
Definition: figure.h:12
static const cv::Scalar white
Definition: figure.h:201
void line(const Point2D &p0, const Point2D &p1, const cv::Scalar &color, int thickness=1, int lineType=CV_AA)
Definition: figure.cpp:143
void clear()
Definition: figure.cpp:138
Figure(const std::string &title)
draws the background image
Definition: figure.cpp:42
void putText(cv::Mat &view, const std::string &text, const Point2D &p, int fontFace=cv::FONT_HERSHEY_PLAIN, double fontScale=0.6, cv::Scalar color=cv::Scalar(128, 0, 0), int thickness=1, int lineType=CV_AA, bool bottomLeftOrigin=false)
Definition: figure.cpp:176
static const cv::Scalar red
Definition: figure.h:190
static const cv::Scalar green
color to use with the drawing functions
Definition: figure.h:187
void setLabel(const std::string &label_x=std::string("x=%f"), const std::string &label_y=std::string("y=%f"))
Definition: figure.cpp:49
static const cv::Scalar niceRed
Definition: figure.h:207
static const cv::Scalar niceLime
Definition: figure.h:215
static const cv::Scalar gray
Definition: figure.h:199
virtual ~Figure()=default
static const cv::Scalar niceDirtyPink
Definition: figure.h:216
std::string label_format_x_
window name
Definition: figure.h:19
static const cv::Scalar niceMagenta
Definition: figure.h:205
static const cv::Scalar niceGreyPurple
Definition: figure.h:212
static const cv::Scalar niceGreen
Definition: figure.h:209
static const cv::Scalar niceGreenBlue
Definition: figure.h:206
std::string title_
Definition: figure.h:18
static const cv::Scalar yellow
Definition: figure.h:195
std::string label_format_y_
label format string
Definition: figure.h:20
static const cv::Scalar niceMustard
Definition: figure.h:204
static const cv::Scalar blue_bright
Definition: figure.h:192
void drawBackground()
dimension of the drawn grid, if -1 no grid will be drawn
Definition: figure.cpp:87
static const cv::Scalar magenta
Definition: figure.h:197
const std::string title() const
Definition: figure.cpp:156
static const cv::Scalar niceGreenWashed
Definition: figure.h:213
const cv::Mat & view() const
Definition: figure.cpp:55
double grid_scale_y_
Definition: figure.h:24
static const cv::Scalar cyan
Definition: figure.h:196


tuw_geometry
Author(s): Markus Bader
autogenerated on Mon Jun 10 2019 15:33:08