112# pragma warning(push)
113# pragma warning(disable : 4251)
126 static constexpr const char *path{
"" };
129 static constexpr const char *name{
"CameraIntrinsics" };
132 static constexpr const char *description{
133 R
"description(Information about the intrinsic parameters of the camera (OpenCV model))description"
136 static constexpr size_t version{ 1 };
146 static constexpr std::array<uint8_t, 3> binaryId{
'c',
'i',
'n' };
158 static constexpr const char *path{
"CameraMatrix" };
161 static constexpr const char *name{
"CameraMatrix" };
164 static constexpr const char *description{
165 R
"description(The camera matrix K (=[fx,0,cx;0,fy,cy;0,0,1]))description"
176 static constexpr const char *path{
"CameraMatrix/CX" };
179 static constexpr const char *name{
"CX" };
182 static constexpr const char *description{
183 R
"description(x coordinate of the principal point)description"
192 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
199 explicit constexpr CX(
double value)
212 return m_value == other.m_value;
218 return m_value != other.m_value;
224 return m_value < other.m_value;
230 return m_value > other.m_value;
240 void setFromString(
const std::string &value);
242 double m_value{ 0.0 };
244 friend struct DataModel::Detail::Befriend<
CX>;
255 static constexpr const char *path{
"CameraMatrix/CY" };
258 static constexpr const char *name{
"CY" };
261 static constexpr const char *description{
262 R
"description(y coordinate of the principal point)description"
271 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
278 explicit constexpr CY(
double value)
291 return m_value == other.m_value;
297 return m_value != other.m_value;
303 return m_value < other.m_value;
309 return m_value > other.m_value;
319 void setFromString(
const std::string &value);
321 double m_value{ 0.0 };
323 friend struct DataModel::Detail::Befriend<
CY>;
334 static constexpr const char *path{
"CameraMatrix/FX" };
337 static constexpr const char *name{
"FX" };
340 static constexpr const char *description{ R
"description(Focal length in x)description" };
348 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
355 explicit constexpr FX(
double value)
368 return m_value == other.m_value;
374 return m_value != other.m_value;
380 return m_value < other.m_value;
386 return m_value > other.m_value;
396 void setFromString(
const std::string &value);
398 double m_value{ 0.0 };
400 friend struct DataModel::Detail::Befriend<
FX>;
411 static constexpr const char *path{
"CameraMatrix/FY" };
414 static constexpr const char *name{
"FY" };
417 static constexpr const char *description{ R
"description(Focal length in y)description" };
425 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
432 explicit constexpr FY(
double value)
445 return m_value == other.m_value;
451 return m_value != other.m_value;
457 return m_value < other.m_value;
463 return m_value > other.m_value;
473 void setFromString(
const std::string &value);
475 double m_value{ 0.0 };
477 friend struct DataModel::Detail::Befriend<
FY>;
503 template<
typename... Args,
504 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
505 typename std::enable_if<
506 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
507 typename std::decay<Args>::type...>::value,
510 template<typename... Args>
514 using namespace Zivid::Detail::TypeTraits;
516 static_assert(AllArgsDecayedAreUnique<Args...>::value,
517 "Found duplicate types among the arguments passed to CameraMatrix(...). "
518 "Types should be listed at most once.");
520 set(std::forward<Args>(args)...);
537 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
539 template<typename... Args>
543 using namespace Zivid::Detail::TypeTraits;
545 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
546 static_assert(AllArgsAreDescendantNodes::value,
547 "All arguments passed to set(...) must be descendant nodes.");
549 static_assert(AllArgsDecayedAreUnique<Args...>::value,
550 "Found duplicate types among the arguments passed to set(...). "
551 "Types should be listed at most once.");
553 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
571 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
573 template<typename... Args>
577 using namespace Zivid::Detail::TypeTraits;
579 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
580 static_assert(AllArgsAreDescendantNodes::value,
581 "All arguments passed to copyWith(...) must be descendant nodes.");
583 static_assert(AllArgsDecayedAreUnique<Args...>::value,
584 "Found duplicate types among the arguments passed to copyWith(...). "
585 "Types should be listed at most once.");
588 copy.
set(std::forward<Args>(args)...);
669 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CX>::value,
int>::type = 0>
676 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CY>::value,
int>::type = 0>
683 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FX>::value,
int>::type = 0>
690 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FY>::value,
int>::type = 0>
696 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
702 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
708 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
714 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
756 void setFromString(
const std::string &value);
758 void setFromString(
const std::string &fullPath,
const std::string &value);
760 std::string getString(
const std::string &fullPath)
const;
767 friend struct DataModel::Detail::Befriend<
CameraMatrix>;
778 static constexpr const char *path{
"Distortion" };
781 static constexpr const char *name{
"Distortion" };
784 static constexpr const char *description{
785 R
"description(The radial and tangential distortion parameters)description"
796 static constexpr const char *path{
"Distortion/K1" };
799 static constexpr const char *name{
"K1" };
802 static constexpr const char *description{ R
"description(First radial distortion term)description" };
810 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
817 explicit constexpr K1(
double value)
830 return m_value == other.m_value;
836 return m_value != other.m_value;
842 return m_value < other.m_value;
848 return m_value > other.m_value;
858 void setFromString(
const std::string &value);
860 double m_value{ 0.0 };
862 friend struct DataModel::Detail::Befriend<
K1>;
873 static constexpr const char *path{
"Distortion/K2" };
876 static constexpr const char *name{
"K2" };
879 static constexpr const char *description{ R
"description(Second radial distortion term)description" };
887 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
894 explicit constexpr K2(
double value)
907 return m_value == other.m_value;
913 return m_value != other.m_value;
919 return m_value < other.m_value;
925 return m_value > other.m_value;
935 void setFromString(
const std::string &value);
937 double m_value{ 0.0 };
939 friend struct DataModel::Detail::Befriend<
K2>;
950 static constexpr const char *path{
"Distortion/K3" };
953 static constexpr const char *name{
"K3" };
956 static constexpr const char *description{ R
"description(Third radial distortion term)description" };
964 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
971 explicit constexpr K3(
double value)
984 return m_value == other.m_value;
990 return m_value != other.m_value;
996 return m_value < other.m_value;
1002 return m_value > other.m_value;
1012 void setFromString(
const std::string &value);
1014 double m_value{ 0.0 };
1016 friend struct DataModel::Detail::Befriend<
K3>;
1027 static constexpr const char *path{
"Distortion/P1" };
1030 static constexpr const char *name{
"P1" };
1033 static constexpr const char *description{ R
"description(First tangential distortion term)description" };
1041 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
1048 explicit constexpr P1(
double value)
1061 return m_value == other.m_value;
1067 return m_value != other.m_value;
1073 return m_value < other.m_value;
1079 return m_value > other.m_value;
1089 void setFromString(
const std::string &value);
1091 double m_value{ 0.0 };
1093 friend struct DataModel::Detail::Befriend<
P1>;
1104 static constexpr const char *path{
"Distortion/P2" };
1107 static constexpr const char *name{
"P2" };
1110 static constexpr const char *description{
1111 R
"description(Second tangential distortion term)description"
1120 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
1127 explicit constexpr P2(
double value)
1140 return m_value == other.m_value;
1146 return m_value != other.m_value;
1152 return m_value < other.m_value;
1158 return m_value > other.m_value;
1168 void setFromString(
const std::string &value);
1170 double m_value{ 0.0 };
1172 friend struct DataModel::Detail::Befriend<
P2>;
1200 template<
typename... Args,
1201 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1202 typename std::enable_if<
1203 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
1204 typename std::decay<Args>::type...>::value,
1207 template<typename... Args>
1211 using namespace Zivid::Detail::TypeTraits;
1213 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1214 "Found duplicate types among the arguments passed to Distortion(...). "
1215 "Types should be listed at most once.");
1217 set(std::forward<Args>(args)...);
1235 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1237 template<typename... Args>
1241 using namespace Zivid::Detail::TypeTraits;
1243 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1244 static_assert(AllArgsAreDescendantNodes::value,
1245 "All arguments passed to set(...) must be descendant nodes.");
1247 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1248 "Found duplicate types among the arguments passed to set(...). "
1249 "Types should be listed at most once.");
1251 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1270 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1272 template<typename... Args>
1276 using namespace Zivid::Detail::TypeTraits;
1278 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1279 static_assert(AllArgsAreDescendantNodes::value,
1280 "All arguments passed to copyWith(...) must be descendant nodes.");
1282 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1283 "Found duplicate types among the arguments passed to copyWith(...). "
1284 "Types should be listed at most once.");
1287 copy.
set(std::forward<Args>(args)...);
1386 template<
typename T,
1387 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K1>::value,
int>::type = 0>
1393 template<
typename T,
1394 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K2>::value,
int>::type = 0>
1400 template<
typename T,
1401 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K3>::value,
int>::type = 0>
1407 template<
typename T,
1408 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P1>::value,
int>::type = 0>
1414 template<
typename T,
1415 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P2>::value,
int>::type = 0>
1421 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1427 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1433 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1439 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1445 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1452 template<
typename F>
1463 template<
typename F>
1489 void setFromString(
const std::string &value);
1491 void setFromString(
const std::string &fullPath,
const std::string &value);
1493 std::string getString(
const std::string &fullPath)
const;
1501 friend struct DataModel::Detail::Befriend<
Distortion>;
1546 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1547 typename std::enable_if<
1548 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1551 template<typename... Args>
1555 using namespace Zivid::Detail::TypeTraits;
1557 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1558 "Found duplicate types among the arguments passed to CameraIntrinsics(...). "
1559 "Types should be listed at most once.");
1561 set(std::forward<Args>(args)...);
1585 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1587 template<typename... Args>
1591 using namespace Zivid::Detail::TypeTraits;
1593 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1594 static_assert(AllArgsAreDescendantNodes::value,
1595 "All arguments passed to set(...) must be descendant nodes.");
1597 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1598 "Found duplicate types among the arguments passed to set(...). "
1599 "Types should be listed at most once.");
1601 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1626 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1628 template<typename... Args>
1632 using namespace Zivid::Detail::TypeTraits;
1634 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1635 static_assert(AllArgsAreDescendantNodes::value,
1636 "All arguments passed to copyWith(...) must be descendant nodes.");
1638 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1639 "Found duplicate types among the arguments passed to copyWith(...). "
1640 "Types should be listed at most once.");
1643 copy.
set(std::forward<Args>(args)...);
1650 return m_cameraMatrix;
1656 return m_cameraMatrix;
1662 m_cameraMatrix = value;
1669 m_cameraMatrix.
set(value);
1676 m_cameraMatrix.
set(value);
1683 m_cameraMatrix.
set(value);
1690 m_cameraMatrix.
set(value);
1697 return m_distortion;
1703 return m_distortion;
1709 m_distortion = value;
1716 m_distortion.
set(value);
1723 m_distortion.
set(value);
1730 m_distortion.
set(value);
1737 m_distortion.
set(value);
1744 m_distortion.
set(value);
1748 template<
typename T,
1749 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix>::value,
int>::type = 0>
1752 return m_cameraMatrix;
1755 template<
typename T,
1756 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CX>::value,
int>::type = 0>
1762 template<
typename T,
1763 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CY>::value,
int>::type = 0>
1769 template<
typename T,
1770 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FX>::value,
int>::type = 0>
1776 template<
typename T,
1777 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FY>::value,
int>::type = 0>
1783 template<
typename T,
1784 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion>::value,
int>::type = 0>
1787 return m_distortion;
1790 template<
typename T,
1791 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K1>::value,
int>::type = 0>
1797 template<
typename T,
1798 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K2>::value,
int>::type = 0>
1804 template<
typename T,
1805 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K3>::value,
int>::type = 0>
1811 template<
typename T,
1812 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P1>::value,
int>::type = 0>
1818 template<
typename T,
1819 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P2>::value,
int>::type = 0>
1825 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1828 return m_cameraMatrix;
1831 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1834 return m_distortion;
1838 template<
typename F>
1846 template<
typename F>
1869 void save(
const std::string &fileName)
const;
1872 void load(
const std::string &fileName);
1875 void setFromString(
const std::string &value);
1877 void setFromString(
const std::string &fullPath,
const std::string &value);
1879 std::string getString(
const std::string &fullPath)
const;
1889 struct CameraIntrinsics::Version<1>
1898# pragma warning(pop)
1902# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1906 struct tuple_size<
Zivid::CameraIntrinsics::CameraMatrix> : integral_constant<size_t, 4>
1910 struct tuple_element<i,
Zivid::CameraIntrinsics::CameraMatrix>
1912 static_assert(i < tuple_size<Zivid::CameraIntrinsics::CameraMatrix>::value,
"Index must be less than 4");
1915 =
decltype(declval<Zivid::CameraIntrinsics::CameraMatrix>().get<i>());
1919 struct tuple_size<
Zivid::CameraIntrinsics::Distortion> : integral_constant<size_t, 5>
1923 struct tuple_element<i,
Zivid::CameraIntrinsics::Distortion>
1925 static_assert(i < tuple_size<Zivid::CameraIntrinsics::Distortion>::value,
"Index must be less than 5");
1928 =
decltype(declval<Zivid::CameraIntrinsics::Distortion>().get<i>());
1932 struct tuple_size<
Zivid::CameraIntrinsics> : integral_constant<size_t, 2>
1936 struct tuple_element<i,
Zivid::CameraIntrinsics>
1938 static_assert(i < tuple_size<Zivid::CameraIntrinsics>::value,
"Index must be less than 2");
1941 =
decltype(declval<Zivid::CameraIntrinsics>().get<i>());
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
x coordinate of the principal point
Definition: CameraIntrinsics.h:170
bool operator==(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:210
std::string toString() const
Get the value as string
bool operator<(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:222
constexpr CX(double value)
Constructor
Definition: CameraIntrinsics.h:199
bool operator>(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:228
bool operator!=(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:216
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:234
static constexpr Range< double > validRange()
The range of valid values for CX
Definition: CameraIntrinsics.h:190
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:187
y coordinate of the principal point
Definition: CameraIntrinsics.h:249
friend std::ostream & operator<<(std::ostream &stream, const CY &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:313
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:266
bool operator>(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:307
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:269
bool operator!=(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:295
std::string toString() const
Get the value as string
bool operator==(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:289
bool operator<(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:301
constexpr CY(double value)
Constructor
Definition: CameraIntrinsics.h:278
Focal length in x
Definition: CameraIntrinsics.h:328
static constexpr Range< double > validRange()
The range of valid values for FX
Definition: CameraIntrinsics.h:346
double value() const
Get the value
FX()=default
Default constructor
bool operator!=(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:372
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:343
constexpr FX(double value)
Constructor
Definition: CameraIntrinsics.h:355
bool operator==(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:366
bool operator>(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:384
friend std::ostream & operator<<(std::ostream &stream, const FX &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:390
std::string toString() const
Get the value as string
bool operator<(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:378
Focal length in y
Definition: CameraIntrinsics.h:405
bool operator>(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:461
bool operator!=(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:449
bool operator==(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:443
FY()=default
Default constructor
static constexpr Range< double > validRange()
The range of valid values for FY
Definition: CameraIntrinsics.h:423
double value() const
Get the value
bool operator<(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:455
friend std::ostream & operator<<(std::ostream &stream, const FY &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:467
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:420
constexpr FY(double value)
Constructor
Definition: CameraIntrinsics.h:432
The camera matrix K (=[fx,0,cx;0,fy,cy;0,0,1])
Definition: CameraIntrinsics.h:152
const FX & fx() const
Get FX
Definition: CameraIntrinsics.h:631
const CameraIntrinsics::CameraMatrix::CX & get() const
Definition: CameraIntrinsics.h:670
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:541
CameraMatrix & set(const CY &value)
Set CY
Definition: CameraIntrinsics.h:624
const CameraIntrinsics::CameraMatrix::FX & get() const
Definition: CameraIntrinsics.h:684
bool operator!=(const CameraMatrix &other) const
Inequality operator
const CY & cy() const
Get CY
Definition: CameraIntrinsics.h:612
const CameraIntrinsics::CameraMatrix::FY & get() const
Definition: CameraIntrinsics.h:691
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:750
CameraMatrix & set(const CX &value)
Set CX
Definition: CameraIntrinsics.h:605
const CameraIntrinsics::CameraMatrix::CY & get() const
Definition: CameraIntrinsics.h:677
CameraMatrix & set(const FY &value)
Set FY
Definition: CameraIntrinsics.h:662
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:722
std::tuple< CameraIntrinsics::CameraMatrix::CX, CameraIntrinsics::CameraMatrix::CY, CameraIntrinsics::CameraMatrix::FX, CameraIntrinsics::CameraMatrix::FY > Descendants
Definition: CameraIntrinsics.h:483
CameraMatrix & set(const FX &value)
Set FX
Definition: CameraIntrinsics.h:643
FY & fy()
Get FY
Definition: CameraIntrinsics.h:656
CameraMatrix(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:512
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:575
CX & cx()
Get CX
Definition: CameraIntrinsics.h:599
const FY & fy() const
Get FY
Definition: CameraIntrinsics.h:650
const CX & cx() const
Get CX
Definition: CameraIntrinsics.h:593
CY & cy()
Get CY
Definition: CameraIntrinsics.h:618
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:732
FX & fx()
Get FX
Definition: CameraIntrinsics.h:637
First radial distortion term
Definition: CameraIntrinsics.h:790
bool operator<(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:840
K1()=default
Default constructor
bool operator!=(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:834
friend std::ostream & operator<<(std::ostream &stream, const K1 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:852
bool operator>(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:846
constexpr K1(double value)
Constructor
Definition: CameraIntrinsics.h:817
static constexpr Range< double > validRange()
The range of valid values for K1
Definition: CameraIntrinsics.h:808
bool operator==(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:828
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:805
Second radial distortion term
Definition: CameraIntrinsics.h:867
static constexpr Range< double > validRange()
The range of valid values for K2
Definition: CameraIntrinsics.h:885
bool operator>(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:923
bool operator!=(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:911
std::string toString() const
Get the value as string
bool operator==(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:905
bool operator<(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:917
friend std::ostream & operator<<(std::ostream &stream, const K2 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:929
K2()=default
Default constructor
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:882
constexpr K2(double value)
Constructor
Definition: CameraIntrinsics.h:894
double value() const
Get the value
Third radial distortion term
Definition: CameraIntrinsics.h:944
bool operator<(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:994
double value() const
Get the value
static constexpr Range< double > validRange()
The range of valid values for K3
Definition: CameraIntrinsics.h:962
K3()=default
Default constructor
std::string toString() const
Get the value as string
constexpr K3(double value)
Constructor
Definition: CameraIntrinsics.h:971
bool operator>(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1000
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:959
bool operator!=(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:988
friend std::ostream & operator<<(std::ostream &stream, const K3 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:1006
bool operator==(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:982
First tangential distortion term
Definition: CameraIntrinsics.h:1021
bool operator>(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1077
static constexpr Range< double > validRange()
The range of valid values for P1
Definition: CameraIntrinsics.h:1039
bool operator==(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1059
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:1083
bool operator<(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1071
P1()=default
Default constructor
double value() const
Get the value
constexpr P1(double value)
Constructor
Definition: CameraIntrinsics.h:1048
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:1036
bool operator!=(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1065
Second tangential distortion term
Definition: CameraIntrinsics.h:1098
static constexpr Range< double > validRange()
The range of valid values for P2
Definition: CameraIntrinsics.h:1118
bool operator==(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1138
friend std::ostream & operator<<(std::ostream &stream, const P2 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:1162
bool operator>(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1156
constexpr P2(double value)
Constructor
Definition: CameraIntrinsics.h:1127
P2()=default
Default constructor
double value() const
Get the value
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:1115
std::string toString() const
Get the value as string
bool operator<(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1150
bool operator!=(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1144
The radial and tangential distortion parameters
Definition: CameraIntrinsics.h:772
const CameraIntrinsics::Distortion::K3 & get() const
Definition: CameraIntrinsics.h:1402
Distortion(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:1209
const P2 & p2() const
Get P2
Definition: CameraIntrinsics.h:1368
K3 & k3()
Get K3
Definition: CameraIntrinsics.h:1336
const K2 & k2() const
Get K2
Definition: CameraIntrinsics.h:1311
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:1239
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:1274
Distortion & set(const K2 &value)
Set K2
Definition: CameraIntrinsics.h:1323
K1 & k1()
Get K1
Definition: CameraIntrinsics.h:1298
std::string toString() const
Get the value as string
P1 & p1()
Get P1
Definition: CameraIntrinsics.h:1355
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:1464
const CameraIntrinsics::Distortion::K2 & get() const
Definition: CameraIntrinsics.h:1395
const CameraIntrinsics::Distortion::P2 & get() const
Definition: CameraIntrinsics.h:1416
Distortion & set(const K3 &value)
Set K3
Definition: CameraIntrinsics.h:1342
std::tuple< CameraIntrinsics::Distortion::K1, CameraIntrinsics::Distortion::K2, CameraIntrinsics::Distortion::K3, CameraIntrinsics::Distortion::P1, CameraIntrinsics::Distortion::P2 > Descendants
Definition: CameraIntrinsics.h:1179
const CameraIntrinsics::Distortion::P1 & get() const
Definition: CameraIntrinsics.h:1409
bool operator!=(const Distortion &other) const
Inequality operator
const P1 & p1() const
Get P1
Definition: CameraIntrinsics.h:1349
const K3 & k3() const
Get K3
Definition: CameraIntrinsics.h:1330
Distortion & set(const P1 &value)
Set P1
Definition: CameraIntrinsics.h:1361
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:1453
const CameraIntrinsics::Distortion::K1 & get() const
Definition: CameraIntrinsics.h:1388
const K1 & k1() const
Get K1
Definition: CameraIntrinsics.h:1292
Distortion & set(const P2 &value)
Set P2
Definition: CameraIntrinsics.h:1380
Distortion & set(const K1 &value)
Set K1
Definition: CameraIntrinsics.h:1304
P2 & p2()
Get P2
Definition: CameraIntrinsics.h:1374
K2 & k2()
Get K2
Definition: CameraIntrinsics.h:1317
friend std::ostream & operator<<(std::ostream &stream, const Distortion &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:1483
Information about the intrinsic parameters of the camera (OpenCV model)
Definition: CameraIntrinsics.h:120
CameraIntrinsics & set(const Distortion::K3 &value)
Set Distortion::K3
Definition: CameraIntrinsics.h:1728
CameraMatrix & cameraMatrix()
Get CameraMatrix
Definition: CameraIntrinsics.h:1654
const CameraIntrinsics::CameraMatrix::CX & get() const
Definition: CameraIntrinsics.h:1757
const CameraIntrinsics::Distortion::K1 & get() const
Definition: CameraIntrinsics.h:1792
bool operator!=(const CameraIntrinsics &other) const
Inequality operator
const CameraIntrinsics::CameraMatrix::FY & get() const
Definition: CameraIntrinsics.h:1778
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:1839
CameraIntrinsics(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:1553
std::string toString() const
Get the value as string
CameraIntrinsics & set(const Distortion::P1 &value)
Set Distortion::P1
Definition: CameraIntrinsics.h:1735
const Distortion & distortion() const
Get Distortion
Definition: CameraIntrinsics.h:1695
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:1589
CameraIntrinsics & set(const Distortion::K1 &value)
Set Distortion::K1
Definition: CameraIntrinsics.h:1714
const CameraIntrinsics::Distortion::K3 & get() const
Definition: CameraIntrinsics.h:1806
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:1630
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:1847
CameraIntrinsics()
Default constructor
CameraIntrinsics & set(const CameraMatrix::FY &value)
Set CameraMatrix::FY
Definition: CameraIntrinsics.h:1688
void load(const std::string &fileName)
Load from the given file
const CameraIntrinsics::Distortion::P1 & get() const
Definition: CameraIntrinsics.h:1813
bool operator==(const CameraIntrinsics &other) const
Equality operator
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:1514
CameraIntrinsics & set(const CameraMatrix::CY &value)
Set CameraMatrix::CY
Definition: CameraIntrinsics.h:1674
CameraIntrinsics(const std::string &fileName)
Construct CameraIntrinsics by loading from file
CameraIntrinsics & set(const CameraMatrix &value)
Set CameraMatrix
Definition: CameraIntrinsics.h:1660
CameraIntrinsics & set(const Distortion::P2 &value)
Set Distortion::P2
Definition: CameraIntrinsics.h:1742
CameraIntrinsics & set(const Distortion &value)
Set Distortion
Definition: CameraIntrinsics.h:1707
const CameraIntrinsics::CameraMatrix::CY & get() const
Definition: CameraIntrinsics.h:1764
CameraIntrinsics & set(const CameraMatrix::CX &value)
Set CameraMatrix::CX
Definition: CameraIntrinsics.h:1667
void save(const std::string &fileName) const
Save to the given file
CameraIntrinsics & set(const CameraMatrix::FX &value)
Set CameraMatrix::FX
Definition: CameraIntrinsics.h:1681
const CameraIntrinsics::CameraMatrix & get() const
Definition: CameraIntrinsics.h:1750
const CameraIntrinsics::Distortion::K2 & get() const
Definition: CameraIntrinsics.h:1799
const CameraMatrix & cameraMatrix() const
Get CameraMatrix
Definition: CameraIntrinsics.h:1648
const CameraIntrinsics::Distortion::P2 & get() const
Definition: CameraIntrinsics.h:1820
const CameraIntrinsics::Distortion & get() const
Definition: CameraIntrinsics.h:1785
friend std::ostream & operator<<(std::ostream &stream, const CameraIntrinsics &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:1863
const CameraIntrinsics::CameraMatrix::FX & get() const
Definition: CameraIntrinsics.h:1771
Distortion & distortion()
Get Distortion
Definition: CameraIntrinsics.h:1701
CameraIntrinsics & set(const Distortion::K2 &value)
Set Distortion::K2
Definition: CameraIntrinsics.h:1721
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