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


tuw_geometry
Author(s): Markus Bader
autogenerated on Sun Feb 26 2023 03:25:40