112# pragma warning(push)
113# pragma warning(disable : 4251)
127 static constexpr const char *path{
"" };
130 static constexpr const char *name{
"CameraIntrinsics" };
133 static constexpr const char *description{
134 R
"description(Information about the intrinsic parameters of the camera (OpenCV model))description"
137 static constexpr size_t version{ 1 };
147 static constexpr std::array<uint8_t, 3> binaryId{
'c',
'i',
'n' };
159 static constexpr const char *path{
"CameraMatrix" };
162 static constexpr const char *name{
"CameraMatrix" };
165 static constexpr const char *description{
166 R
"description(The camera matrix K (=[fx,0,cx;0,fy,cy;0,0,1]))description"
177 static constexpr const char *path{
"CameraMatrix/CX" };
180 static constexpr const char *name{
"CX" };
183 static constexpr const char *description{
184 R
"description(x coordinate of the principal point)description"
193 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
200 explicit constexpr CX(
double value)
213 return m_value == other.m_value;
219 return m_value != other.m_value;
225 return m_value < other.m_value;
231 return m_value > other.m_value;
241 void setFromString(
const std::string &value);
243 double m_value{ 0.0 };
245 friend struct DataModel::Detail::Befriend<
CX>;
256 static constexpr const char *path{
"CameraMatrix/CY" };
259 static constexpr const char *name{
"CY" };
262 static constexpr const char *description{
263 R
"description(y coordinate of the principal point)description"
272 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
279 explicit constexpr CY(
double value)
292 return m_value == other.m_value;
298 return m_value != other.m_value;
304 return m_value < other.m_value;
310 return m_value > other.m_value;
320 void setFromString(
const std::string &value);
322 double m_value{ 0.0 };
324 friend struct DataModel::Detail::Befriend<
CY>;
335 static constexpr const char *path{
"CameraMatrix/FX" };
338 static constexpr const char *name{
"FX" };
341 static constexpr const char *description{ R
"description(Focal length in x)description" };
349 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
356 explicit constexpr FX(
double value)
369 return m_value == other.m_value;
375 return m_value != other.m_value;
381 return m_value < other.m_value;
387 return m_value > other.m_value;
397 void setFromString(
const std::string &value);
399 double m_value{ 0.0 };
401 friend struct DataModel::Detail::Befriend<
FX>;
412 static constexpr const char *path{
"CameraMatrix/FY" };
415 static constexpr const char *name{
"FY" };
418 static constexpr const char *description{ R
"description(Focal length in y)description" };
426 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
433 explicit constexpr FY(
double value)
446 return m_value == other.m_value;
452 return m_value != other.m_value;
458 return m_value < other.m_value;
464 return m_value > other.m_value;
474 void setFromString(
const std::string &value);
476 double m_value{ 0.0 };
478 friend struct DataModel::Detail::Befriend<
FY>;
507 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
508 typename std::enable_if<
509 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
513 template<typename... Args>
517 using namespace Zivid::Detail::TypeTraits;
520 AllArgsDecayedAreUnique<Args...>::value,
521 "Found duplicate types among the arguments passed to CameraMatrix(...). "
522 "Types should be listed at most once.");
524 set(std::forward<Args>(args)...);
541 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
543 template<typename... Args>
547 using namespace Zivid::Detail::TypeTraits;
549 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
551 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
554 AllArgsDecayedAreUnique<Args...>::value,
555 "Found duplicate types among the arguments passed to set(...). "
556 "Types should be listed at most once.");
558 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
576 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
578 template<typename... Args>
582 using namespace Zivid::Detail::TypeTraits;
584 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
586 AllArgsAreDescendantNodes::value,
587 "All arguments passed to copyWith(...) must be descendant nodes.");
590 AllArgsDecayedAreUnique<Args...>::value,
591 "Found duplicate types among the arguments passed to copyWith(...). "
592 "Types should be listed at most once.");
595 copy.
set(std::forward<Args>(args)...);
677 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CX>::value,
int>::type = 0>
685 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CY>::value,
int>::type = 0>
693 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FX>::value,
int>::type = 0>
701 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FY>::value,
int>::type = 0>
707 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
713 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
719 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
725 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
767 void setFromString(
const std::string &value);
769 void setFromString(
const std::string &fullPath,
const std::string &value);
771 std::string getString(
const std::string &fullPath)
const;
778 friend struct DataModel::Detail::Befriend<
CameraMatrix>;
789 static constexpr const char *path{
"Distortion" };
792 static constexpr const char *name{
"Distortion" };
795 static constexpr const char *description{
796 R
"description(The radial and tangential distortion parameters)description"
807 static constexpr const char *path{
"Distortion/K1" };
810 static constexpr const char *name{
"K1" };
813 static constexpr const char *description{ R
"description(First radial distortion term)description" };
821 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
828 explicit constexpr K1(
double value)
841 return m_value == other.m_value;
847 return m_value != other.m_value;
853 return m_value < other.m_value;
859 return m_value > other.m_value;
869 void setFromString(
const std::string &value);
871 double m_value{ 0.0 };
873 friend struct DataModel::Detail::Befriend<
K1>;
884 static constexpr const char *path{
"Distortion/K2" };
887 static constexpr const char *name{
"K2" };
890 static constexpr const char *description{ R
"description(Second radial distortion term)description" };
898 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
905 explicit constexpr K2(
double value)
918 return m_value == other.m_value;
924 return m_value != other.m_value;
930 return m_value < other.m_value;
936 return m_value > other.m_value;
946 void setFromString(
const std::string &value);
948 double m_value{ 0.0 };
950 friend struct DataModel::Detail::Befriend<
K2>;
961 static constexpr const char *path{
"Distortion/K3" };
964 static constexpr const char *name{
"K3" };
967 static constexpr const char *description{ R
"description(Third radial distortion term)description" };
975 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
982 explicit constexpr K3(
double value)
995 return m_value == other.m_value;
1001 return m_value != other.m_value;
1007 return m_value < other.m_value;
1013 return m_value > other.m_value;
1023 void setFromString(
const std::string &value);
1025 double m_value{ 0.0 };
1027 friend struct DataModel::Detail::Befriend<
K3>;
1038 static constexpr const char *path{
"Distortion/P1" };
1041 static constexpr const char *name{
"P1" };
1044 static constexpr const char *description{ R
"description(First tangential distortion term)description" };
1052 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
1059 explicit constexpr P1(
double value)
1072 return m_value == other.m_value;
1078 return m_value != other.m_value;
1084 return m_value < other.m_value;
1090 return m_value > other.m_value;
1100 void setFromString(
const std::string &value);
1102 double m_value{ 0.0 };
1104 friend struct DataModel::Detail::Befriend<
P1>;
1115 static constexpr const char *path{
"Distortion/P2" };
1118 static constexpr const char *name{
"P2" };
1121 static constexpr const char *description{
1122 R
"description(Second tangential distortion term)description"
1131 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
1138 explicit constexpr P2(
double value)
1151 return m_value == other.m_value;
1157 return m_value != other.m_value;
1163 return m_value < other.m_value;
1169 return m_value > other.m_value;
1179 void setFromString(
const std::string &value);
1181 double m_value{ 0.0 };
1183 friend struct DataModel::Detail::Befriend<
P2>;
1214 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1215 typename std::enable_if<
1216 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1220 template<typename... Args>
1224 using namespace Zivid::Detail::TypeTraits;
1227 AllArgsDecayedAreUnique<Args...>::value,
1228 "Found duplicate types among the arguments passed to Distortion(...). "
1229 "Types should be listed at most once.");
1231 set(std::forward<Args>(args)...);
1249 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1251 template<typename... Args>
1255 using namespace Zivid::Detail::TypeTraits;
1257 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1259 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1262 AllArgsDecayedAreUnique<Args...>::value,
1263 "Found duplicate types among the arguments passed to set(...). "
1264 "Types should be listed at most once.");
1266 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1285 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1287 template<typename... Args>
1291 using namespace Zivid::Detail::TypeTraits;
1293 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1295 AllArgsAreDescendantNodes::value,
1296 "All arguments passed to copyWith(...) must be descendant nodes.");
1299 AllArgsDecayedAreUnique<Args...>::value,
1300 "Found duplicate types among the arguments passed to copyWith(...). "
1301 "Types should be listed at most once.");
1304 copy.
set(std::forward<Args>(args)...);
1405 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K1>::value,
int>::type = 0>
1413 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K2>::value,
int>::type = 0>
1421 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K3>::value,
int>::type = 0>
1429 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P1>::value,
int>::type = 0>
1437 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P2>::value,
int>::type = 0>
1443 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1449 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1455 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1461 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1467 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1474 template<
typename F>
1485 template<
typename F>
1511 void setFromString(
const std::string &value);
1513 void setFromString(
const std::string &fullPath,
const std::string &value);
1515 std::string getString(
const std::string &fullPath)
const;
1523 friend struct DataModel::Detail::Befriend<
Distortion>;
1569 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1570 typename std::enable_if<
1571 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1574 template<typename... Args>
1578 using namespace Zivid::Detail::TypeTraits;
1581 AllArgsDecayedAreUnique<Args...>::value,
1582 "Found duplicate types among the arguments passed to CameraIntrinsics(...). "
1583 "Types should be listed at most once.");
1585 set(std::forward<Args>(args)...);
1609 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1611 template<typename... Args>
1615 using namespace Zivid::Detail::TypeTraits;
1617 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1619 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1622 AllArgsDecayedAreUnique<Args...>::value,
1623 "Found duplicate types among the arguments passed to set(...). "
1624 "Types should be listed at most once.");
1626 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1651 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1653 template<typename... Args>
1657 using namespace Zivid::Detail::TypeTraits;
1659 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1661 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1664 AllArgsDecayedAreUnique<Args...>::value,
1665 "Found duplicate types among the arguments passed to copyWith(...). "
1666 "Types should be listed at most once.");
1669 copy.
set(std::forward<Args>(args)...);
1676 return m_cameraMatrix;
1682 return m_cameraMatrix;
1688 m_cameraMatrix = value;
1695 m_cameraMatrix.
set(value);
1702 m_cameraMatrix.
set(value);
1709 m_cameraMatrix.
set(value);
1716 m_cameraMatrix.
set(value);
1723 return m_distortion;
1729 return m_distortion;
1735 m_distortion = value;
1742 m_distortion.
set(value);
1749 m_distortion.
set(value);
1756 m_distortion.
set(value);
1763 m_distortion.
set(value);
1770 m_distortion.
set(value);
1776 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix>::value,
int>::type = 0>
1779 return m_cameraMatrix;
1784 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CX>::value,
int>::type = 0>
1792 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CY>::value,
int>::type = 0>
1800 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FX>::value,
int>::type = 0>
1808 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FY>::value,
int>::type = 0>
1816 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion>::value,
int>::type = 0>
1819 return m_distortion;
1824 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K1>::value,
int>::type = 0>
1832 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K2>::value,
int>::type = 0>
1840 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K3>::value,
int>::type = 0>
1848 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P1>::value,
int>::type = 0>
1856 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P2>::value,
int>::type = 0>
1862 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1865 return m_cameraMatrix;
1868 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1871 return m_distortion;
1875 template<
typename F>
1883 template<
typename F>
1906 void save(
const std::string &fileName)
const;
1909 void load(
const std::string &fileName);
1912 void setFromString(
const std::string &value);
1914 void setFromString(
const std::string &fullPath,
const std::string &value);
1916 std::string getString(
const std::string &fullPath)
const;
1926 struct CameraIntrinsics::Version<1>
1935# pragma warning(pop)
1939# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1944 struct tuple_size<
Zivid::CameraIntrinsics::CameraMatrix> : integral_constant<size_t, 4>
1948 struct tuple_element<i,
Zivid::CameraIntrinsics::CameraMatrix>
1950 static_assert(i < tuple_size<Zivid::CameraIntrinsics::CameraMatrix>::value,
"Index must be less than 4");
1953 =
decltype(declval<Zivid::CameraIntrinsics::CameraMatrix>().get<i>());
1957 struct tuple_size<
Zivid::CameraIntrinsics::Distortion> : integral_constant<size_t, 5>
1961 struct tuple_element<i,
Zivid::CameraIntrinsics::Distortion>
1963 static_assert(i < tuple_size<Zivid::CameraIntrinsics::Distortion>::value,
"Index must be less than 5");
1966 =
decltype(declval<Zivid::CameraIntrinsics::Distortion>().get<i>());
1970 struct tuple_size<
Zivid::CameraIntrinsics> : integral_constant<size_t, 2>
1974 struct tuple_element<i,
Zivid::CameraIntrinsics>
1976 static_assert(i < tuple_size<Zivid::CameraIntrinsics>::value,
"Index must be less than 2");
1979 =
decltype(declval<Zivid::CameraIntrinsics>().get<i>());
1988#if defined(__has_include) && !defined(NO_DOC)
1989# if __has_include("Zivid/CameraIntrinsicsInternal.h") && __has_include("Zivid/DataModelSerializationMetaData.h")
1990# include "Zivid/CameraIntrinsicsInternal.h"
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
x coordinate of the principal point
Definition: CameraIntrinsics.h:171
bool operator==(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:211
std::string toString() const
Get the value as string
bool operator<(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:223
constexpr CX(double value)
Constructor
Definition: CameraIntrinsics.h:200
bool operator>(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:229
bool operator!=(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:217
double value() const
Get the value
CX()=default
Default constructor
friend std::ostream & operator<<(std::ostream &stream, const CX &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:235
static constexpr Range< double > validRange()
The range of valid values for CX
Definition: CameraIntrinsics.h:191
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:188
y coordinate of the principal point
Definition: CameraIntrinsics.h:250
friend std::ostream & operator<<(std::ostream &stream, const CY &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:314
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:267
bool operator>(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:308
double value() const
Get the value
CY()=default
Default constructor
static constexpr Range< double > validRange()
The range of valid values for CY
Definition: CameraIntrinsics.h:270
bool operator!=(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:296
std::string toString() const
Get the value as string
bool operator==(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:290
bool operator<(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:302
constexpr CY(double value)
Constructor
Definition: CameraIntrinsics.h:279
Focal length in x
Definition: CameraIntrinsics.h:329
static constexpr Range< double > validRange()
The range of valid values for FX
Definition: CameraIntrinsics.h:347
double value() const
Get the value
FX()=default
Default constructor
bool operator!=(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:373
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:344
constexpr FX(double value)
Constructor
Definition: CameraIntrinsics.h:356
bool operator==(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:367
bool operator>(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:385
friend std::ostream & operator<<(std::ostream &stream, const FX &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:391
std::string toString() const
Get the value as string
bool operator<(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:379
Focal length in y
Definition: CameraIntrinsics.h:406
bool operator>(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:462
bool operator!=(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:450
bool operator==(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:444
FY()=default
Default constructor
static constexpr Range< double > validRange()
The range of valid values for FY
Definition: CameraIntrinsics.h:424
double value() const
Get the value
bool operator<(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:456
friend std::ostream & operator<<(std::ostream &stream, const FY &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:468
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:421
constexpr FY(double value)
Constructor
Definition: CameraIntrinsics.h:433
The camera matrix K (=[fx,0,cx;0,fy,cy;0,0,1])
Definition: CameraIntrinsics.h:153
const FX & fx() const
Get FX
Definition: CameraIntrinsics.h:638
const CameraIntrinsics::CameraMatrix::CX & get() const
Definition: CameraIntrinsics.h:678
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:545
CameraMatrix & set(const CY &value)
Set CY
Definition: CameraIntrinsics.h:631
const CameraIntrinsics::CameraMatrix::FX & get() const
Definition: CameraIntrinsics.h:694
bool operator!=(const CameraMatrix &other) const
Inequality operator
const CY & cy() const
Get CY
Definition: CameraIntrinsics.h:619
std::tuple< CameraIntrinsics::CameraMatrix::CX, CameraIntrinsics::CameraMatrix::CY, CameraIntrinsics::CameraMatrix::FX, CameraIntrinsics::CameraMatrix::FY > Descendants
Definition: CameraIntrinsics.h:485
const CameraIntrinsics::CameraMatrix::FY & get() const
Definition: CameraIntrinsics.h:702
bool operator==(const CameraMatrix &other) const
Equality operator
std::string toString() const
Get the value as string
friend std::ostream & operator<<(std::ostream &stream, const CameraMatrix &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:761
CameraMatrix & set(const CX &value)
Set CX
Definition: CameraIntrinsics.h:612
const CameraIntrinsics::CameraMatrix::CY & get() const
Definition: CameraIntrinsics.h:686
CameraMatrix & set(const FY &value)
Set FY
Definition: CameraIntrinsics.h:669
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:733
CameraMatrix & set(const FX &value)
Set FX
Definition: CameraIntrinsics.h:650
FY & fy()
Get FY
Definition: CameraIntrinsics.h:663
CameraMatrix(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:515
CameraMatrix copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition: CameraIntrinsics.h:580
CX & cx()
Get CX
Definition: CameraIntrinsics.h:606
const FY & fy() const
Get FY
Definition: CameraIntrinsics.h:657
const CX & cx() const
Get CX
Definition: CameraIntrinsics.h:600
CY & cy()
Get CY
Definition: CameraIntrinsics.h:625
CameraMatrix()
Default constructor
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:743
FX & fx()
Get FX
Definition: CameraIntrinsics.h:644
First radial distortion term
Definition: CameraIntrinsics.h:801
bool operator<(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:851
K1()=default
Default constructor
bool operator!=(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:845
friend std::ostream & operator<<(std::ostream &stream, const K1 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:863
bool operator>(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:857
constexpr K1(double value)
Constructor
Definition: CameraIntrinsics.h:828
static constexpr Range< double > validRange()
The range of valid values for K1
Definition: CameraIntrinsics.h:819
bool operator==(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:839
double value() const
Get the value
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:816
Second radial distortion term
Definition: CameraIntrinsics.h:878
static constexpr Range< double > validRange()
The range of valid values for K2
Definition: CameraIntrinsics.h:896
bool operator>(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:934
bool operator!=(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:922
std::string toString() const
Get the value as string
bool operator==(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:916
bool operator<(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:928
friend std::ostream & operator<<(std::ostream &stream, const K2 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:940
K2()=default
Default constructor
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:893
constexpr K2(double value)
Constructor
Definition: CameraIntrinsics.h:905
double value() const
Get the value
Third radial distortion term
Definition: CameraIntrinsics.h:955
bool operator<(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1005
double value() const
Get the value
static constexpr Range< double > validRange()
The range of valid values for K3
Definition: CameraIntrinsics.h:973
K3()=default
Default constructor
std::string toString() const
Get the value as string
constexpr K3(double value)
Constructor
Definition: CameraIntrinsics.h:982
bool operator>(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1011
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:970
bool operator!=(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:999
friend std::ostream & operator<<(std::ostream &stream, const K3 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:1017
bool operator==(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:993
First tangential distortion term
Definition: CameraIntrinsics.h:1032
bool operator>(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1088
static constexpr Range< double > validRange()
The range of valid values for P1
Definition: CameraIntrinsics.h:1050
bool operator==(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1070
std::string toString() const
Get the value as string
friend std::ostream & operator<<(std::ostream &stream, const P1 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:1094
bool operator<(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1082
P1()=default
Default constructor
double value() const
Get the value
constexpr P1(double value)
Constructor
Definition: CameraIntrinsics.h:1059
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:1047
bool operator!=(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1076
Second tangential distortion term
Definition: CameraIntrinsics.h:1109
static constexpr Range< double > validRange()
The range of valid values for P2
Definition: CameraIntrinsics.h:1129
bool operator==(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1149
friend std::ostream & operator<<(std::ostream &stream, const P2 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:1173
bool operator>(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1167
constexpr P2(double value)
Constructor
Definition: CameraIntrinsics.h:1138
P2()=default
Default constructor
double value() const
Get the value
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:1126
std::string toString() const
Get the value as string
bool operator<(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1161
bool operator!=(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1155
The radial and tangential distortion parameters
Definition: CameraIntrinsics.h:783
const CameraIntrinsics::Distortion::K3 & get() const
Definition: CameraIntrinsics.h:1422
Distortion(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:1222
const P2 & p2() const
Get P2
Definition: CameraIntrinsics.h:1385
K3 & k3()
Get K3
Definition: CameraIntrinsics.h:1353
const K2 & k2() const
Get K2
Definition: CameraIntrinsics.h:1328
std::tuple< CameraIntrinsics::Distortion::K1, CameraIntrinsics::Distortion::K2, CameraIntrinsics::Distortion::K3, CameraIntrinsics::Distortion::P1, CameraIntrinsics::Distortion::P2 > Descendants
Definition: CameraIntrinsics.h:1191
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:1253
Distortion copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition: CameraIntrinsics.h:1289
Distortion & set(const K2 &value)
Set K2
Definition: CameraIntrinsics.h:1340
K1 & k1()
Get K1
Definition: CameraIntrinsics.h:1315
std::string toString() const
Get the value as string
P1 & p1()
Get P1
Definition: CameraIntrinsics.h:1372
Distortion()
Default constructor
bool operator==(const Distortion &other) const
Equality operator
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:1486
const CameraIntrinsics::Distortion::K2 & get() const
Definition: CameraIntrinsics.h:1414
const CameraIntrinsics::Distortion::P2 & get() const
Definition: CameraIntrinsics.h:1438
Distortion & set(const K3 &value)
Set K3
Definition: CameraIntrinsics.h:1359
const CameraIntrinsics::Distortion::P1 & get() const
Definition: CameraIntrinsics.h:1430
bool operator!=(const Distortion &other) const
Inequality operator
const P1 & p1() const
Get P1
Definition: CameraIntrinsics.h:1366
const K3 & k3() const
Get K3
Definition: CameraIntrinsics.h:1347
Distortion & set(const P1 &value)
Set P1
Definition: CameraIntrinsics.h:1378
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:1475
const CameraIntrinsics::Distortion::K1 & get() const
Definition: CameraIntrinsics.h:1406
const K1 & k1() const
Get K1
Definition: CameraIntrinsics.h:1309
Distortion & set(const P2 &value)
Set P2
Definition: CameraIntrinsics.h:1397
Distortion & set(const K1 &value)
Set K1
Definition: CameraIntrinsics.h:1321
P2 & p2()
Get P2
Definition: CameraIntrinsics.h:1391
K2 & k2()
Get K2
Definition: CameraIntrinsics.h:1334
friend std::ostream & operator<<(std::ostream &stream, const Distortion &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:1505
Information about the intrinsic parameters of the camera (OpenCV model)
Definition: CameraIntrinsics.h:121
CameraIntrinsics & set(const Distortion::K3 &value)
Set Distortion::K3
Definition: CameraIntrinsics.h:1754
CameraMatrix & cameraMatrix()
Get CameraMatrix
Definition: CameraIntrinsics.h:1680
const CameraIntrinsics::CameraMatrix::CX & get() const
Definition: CameraIntrinsics.h:1785
const CameraIntrinsics::Distortion::K1 & get() const
Definition: CameraIntrinsics.h:1825
bool operator!=(const CameraIntrinsics &other) const
Inequality operator
const CameraIntrinsics::CameraMatrix::FY & get() const
Definition: CameraIntrinsics.h:1809
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:1876
CameraIntrinsics(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:1576
std::string toString() const
Get the value as string
CameraIntrinsics & set(const Distortion::P1 &value)
Set Distortion::P1
Definition: CameraIntrinsics.h:1761
const Distortion & distortion() const
Get Distortion
Definition: CameraIntrinsics.h:1721
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:1613
CameraIntrinsics & set(const Distortion::K1 &value)
Set Distortion::K1
Definition: CameraIntrinsics.h:1740
const CameraIntrinsics::Distortion::K3 & get() const
Definition: CameraIntrinsics.h:1841
CameraIntrinsics copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition: CameraIntrinsics.h:1655
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:1884
CameraIntrinsics()
Default constructor
CameraIntrinsics & set(const CameraMatrix::FY &value)
Set CameraMatrix::FY
Definition: CameraIntrinsics.h:1714
void load(const std::string &fileName)
Load from the given file
const CameraIntrinsics::Distortion::P1 & get() const
Definition: CameraIntrinsics.h:1849
bool operator==(const CameraIntrinsics &other) const
Equality operator
CameraIntrinsics & set(const CameraMatrix::CY &value)
Set CameraMatrix::CY
Definition: CameraIntrinsics.h:1700
CameraIntrinsics(const std::string &fileName)
Construct CameraIntrinsics by loading from file
CameraIntrinsics & set(const CameraMatrix &value)
Set CameraMatrix
Definition: CameraIntrinsics.h:1686
CameraIntrinsics & set(const Distortion::P2 &value)
Set Distortion::P2
Definition: CameraIntrinsics.h:1768
CameraIntrinsics & set(const Distortion &value)
Set Distortion
Definition: CameraIntrinsics.h:1733
const CameraIntrinsics::CameraMatrix::CY & get() const
Definition: CameraIntrinsics.h:1793
CameraIntrinsics & set(const CameraMatrix::CX &value)
Set CameraMatrix::CX
Definition: CameraIntrinsics.h:1693
void save(const std::string &fileName) const
Save to the given file
CameraIntrinsics & set(const CameraMatrix::FX &value)
Set CameraMatrix::FX
Definition: CameraIntrinsics.h:1707
const CameraIntrinsics::CameraMatrix & get() const
Definition: CameraIntrinsics.h:1777
const CameraIntrinsics::Distortion::K2 & get() const
Definition: CameraIntrinsics.h:1833
const CameraMatrix & cameraMatrix() const
Get CameraMatrix
Definition: CameraIntrinsics.h:1674
const CameraIntrinsics::Distortion::P2 & get() const
Definition: CameraIntrinsics.h:1857
const CameraIntrinsics::Distortion & get() const
Definition: CameraIntrinsics.h:1817
friend std::ostream & operator<<(std::ostream &stream, const CameraIntrinsics &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:1900
const CameraIntrinsics::CameraMatrix::FX & get() const
Definition: CameraIntrinsics.h:1801
Distortion & distortion()
Get Distortion
Definition: CameraIntrinsics.h:1727
std::tuple< CameraIntrinsics::CameraMatrix, CameraIntrinsics::CameraMatrix::CX, CameraIntrinsics::CameraMatrix::CY, CameraIntrinsics::CameraMatrix::FX, CameraIntrinsics::CameraMatrix::FY, CameraIntrinsics::Distortion, CameraIntrinsics::Distortion::K1, CameraIntrinsics::Distortion::K2, CameraIntrinsics::Distortion::K3, CameraIntrinsics::Distortion::P1, CameraIntrinsics::Distortion::P2 > Descendants
Definition: CameraIntrinsics.h:1537
CameraIntrinsics & set(const Distortion::K2 &value)
Set Distortion::K2
Definition: CameraIntrinsics.h:1747
Class describing a range of values for a given type T
Definition: Range.h:102
NodeType
Definition: NodeType.h:100
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99