calibration_pattern.h
Go to the documentation of this file.
1 #pragma once
2 
4 
8 
9 #include <vector>
10 
11 #include "nxLib.h"
12 
13 template <typename MessageType>
15 {
16 public:
17  double thickness = 0;
18  int gridSizeX = 0;
19  int gridSizeY = 0;
20  double gridSpacing = 0;
21 
22 protected:
23  explicit CalibrationPattern(MessageType const& message);
24  explicit CalibrationPattern(NxLibItem const& node);
25 
26  void readMetaDataFromMessage(MessageType const& message);
27  void writeMetaDataToMessage(MessageType& message);
28  void writeMetaDataToNxLib(NxLibItem const& node);
29  MessageType toRosMessage() const;
30 };
31 
32 class MonoCalibrationPattern : CalibrationPattern<ensenso::msg::MonoCalibrationPattern>
33 {
34 public:
35  std::vector<ensenso::msg::ImagePoint> points;
36 
37 public:
38  explicit MonoCalibrationPattern(NxLibItem const& node);
39  explicit MonoCalibrationPattern(ensenso::msg::MonoCalibrationPattern const& message);
40 
41  void readFromMessage(ensenso::msg::MonoCalibrationPattern const& message);
42  void writeToMessage(ensenso::msg::MonoCalibrationPattern& message);
43  void writeToNxLib(NxLibItem const& node);
44  ensenso::msg::MonoCalibrationPattern toRosMsg() const;
45 };
46 
47 class StereoCalibrationPattern : CalibrationPattern<ensenso::msg::StereoCalibrationPattern>
48 {
49 public:
50  std::vector<ensenso::msg::ImagePoint> leftPoints;
51  std::vector<ensenso::msg::ImagePoint> rightPoints;
52 
53 public:
54  explicit StereoCalibrationPattern(NxLibItem const& node);
55  explicit StereoCalibrationPattern(ensenso::msg::StereoCalibrationPattern const& message);
56 
57  void writeToMessage(ensenso::msg::StereoCalibrationPattern& message) const;
58  void readFromMessage(ensenso::msg::StereoCalibrationPattern const& message);
59  void writeToNxLib(NxLibItem const& node, bool right = false);
60  ensenso::msg::StereoCalibrationPattern toRosMsg() const;
61 };
std::vector< ensenso::msg::ImagePoint > rightPoints
std::vector< ensenso::msg::ImagePoint > points
CalibrationPattern(MessageType const &message)
std::vector< ensenso::msg::ImagePoint > leftPoints
MessageType toRosMessage() const
void writeMetaDataToNxLib(NxLibItem const &node)
void writeMetaDataToMessage(MessageType &message)
void readMetaDataFromMessage(MessageType const &message)


ensenso_camera
Author(s): Ensenso
autogenerated on Sat Jun 3 2023 02:17:04