SourceXtractorPlusPlus  0.16
Please provide a description of the project.
MeasurementFrameGroupRectangle.h
Go to the documentation of this file.
1 
17 /*
18  * MeasurementFrameGroupRectangle.h
19  *
20  * Created on: Sep 5, 2018
21  * Author: Alejandro Alvarez Ayllon
22  */
23 
24 #ifndef _SEIMPLEMENTATION_PLUGIN_MEASUREMENTFRAMEGROUPRECTANGLE_MEASUREMENTFRAMEGROUPRECTANGLE_H_
25 #define _SEIMPLEMENTATION_PLUGIN_MEASUREMENTFRAMEGROUPRECTANGLE_MEASUREMENTFRAMEGROUPRECTANGLE_H_
26 
27 
30 
31 namespace SourceXtractor {
32 
34 public:
35  virtual ~MeasurementFrameGroupRectangle() = default;
36 
37  explicit MeasurementFrameGroupRectangle(bool bad_projection):
38  m_min_coord(-1, -1), m_max_coord(-1, -1), m_bad_projection(bad_projection) {}
39 
41  m_min_coord{min_coord}, m_max_coord(max_coord), m_bad_projection(false) {
42  assert(min_coord.m_x <= max_coord.m_x && min_coord.m_y <= max_coord.m_y);
43  }
44 
46  assert(m_max_coord.m_x >= 0);
47  return m_min_coord;
48  }
49 
51  assert(m_max_coord.m_x >= 0);
52  return m_max_coord;
53  }
54 
55  int getWidth() const {
56  if (m_max_coord.m_x < 0)
57  return 0;
58  return m_max_coord.m_x - m_min_coord.m_x + 1;
59  }
60 
61  int getHeight() const {
62  if (m_max_coord.m_x < 0)
63  return 0;
64  return m_max_coord.m_y - m_min_coord.m_y + 1;
65  }
66 
69  bool badProjection() const {
70  return m_bad_projection;
71  }
72 
73 private:
76 };
77 
78 } // end SourceXtractor
79 
80 #endif // _SEIMPLEMENTATION_PLUGIN_MEASUREMENTFRAMEGROUPRECTANGLE_MEASUREMENTFRAMEGROUPRECTANGLE_H_
MeasurementFrameGroupRectangle(PixelCoordinate min_coord, PixelCoordinate max_coord)
Base class for all Properties. (has no actual content)
Definition: Property.h:33
A pixel coordinate made of two integers m_x and m_y.