Go to the documentation of this file.00001
00039 #ifndef LibMultiSense_SysCameraCalibrationMessage
00040 #define LibMultiSense_SysCameraCalibrationMessage
00041
00042 #include "details/utility/Portability.hh"
00043
00044 namespace crl {
00045 namespace multisense {
00046 namespace details {
00047 namespace wire {
00048
00049 class CameraCalData {
00050 public:
00051 static CRL_CONSTEXPR VersionType VERSION = 1;
00052
00053 float M[3][3];
00054 float D[8];
00055 float R[3][3];
00056 float P[3][4];
00057
00058 template<class Archive>
00059 void serialize(Archive& message,
00060 const VersionType version)
00061 {
00062 SER_ARRAY_2(M, 3, 3);
00063 SER_ARRAY_1(D, 8);
00064 SER_ARRAY_2(R, 3, 3);
00065 SER_ARRAY_2(P, 3, 4);
00066 };
00067 };
00068
00069 class SysCameraCalibration {
00070 public:
00071 static CRL_CONSTEXPR IdType ID = ID_DATA_SYS_CAMERA_CAL;
00072 static CRL_CONSTEXPR VersionType VERSION = 1;
00073
00074
00075
00076
00077 CameraCalData left;
00078 CameraCalData right;
00079
00080
00081
00082
00083 SysCameraCalibration(utility::BufferStreamReader&r, VersionType v) {serialize(r,v);};
00084 SysCameraCalibration() {};
00085
00086
00087
00088
00089 template<class Archive>
00090 void serialize(Archive& message,
00091 const VersionType version)
00092 {
00093 left.serialize(message, version);
00094 right.serialize(message, version);
00095 }
00096 };
00097
00098 }}}};
00099
00100 #endif