68 # pragma warning(push)
69 # pragma warning(disable : 4251)
82 static constexpr
const char *path{
"" };
85 static constexpr
const char *name{
"CameraIntrinsics" };
88 static constexpr
const char *description{
89 R
"description(Information about the intrinsic parameters of the camera (OpenCV model))description"
92 static constexpr
size_t version{ 1 };
102 static constexpr std::array<uint8_t, 3> binaryId{
'c',
'i',
'n' };
114 static constexpr
const char *path{
"CameraMatrix" };
117 static constexpr
const char *name{
"CameraMatrix" };
120 static constexpr
const char *description{
121 R
"description(The camera matrix K (=[fx,0,cx;0,fy,cy;0,0,1]))description"
132 static constexpr
const char *path{
"CameraMatrix/CX" };
135 static constexpr
const char *name{
"CX" };
138 static constexpr
const char *description{
139 R
"description(x coordinate of the principal point)description"
148 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
155 explicit constexpr
CX(
double value)
168 return m_value == other.m_value;
174 return m_value != other.m_value;
180 return m_value < other.m_value;
186 return m_value > other.m_value;
196 void setFromString(
const std::string &value);
198 double m_value{ 0.0 };
200 friend struct DataModel::Detail::Befriend<
CX>;
211 static constexpr
const char *path{
"CameraMatrix/CY" };
214 static constexpr
const char *name{
"CY" };
217 static constexpr
const char *description{
218 R
"description(y coordinate of the principal point)description"
227 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
234 explicit constexpr
CY(
double value)
247 return m_value == other.m_value;
253 return m_value != other.m_value;
259 return m_value < other.m_value;
265 return m_value > other.m_value;
275 void setFromString(
const std::string &value);
277 double m_value{ 0.0 };
279 friend struct DataModel::Detail::Befriend<
CY>;
290 static constexpr
const char *path{
"CameraMatrix/FX" };
293 static constexpr
const char *name{
"FX" };
296 static constexpr
const char *description{ R
"description(Focal length in x)description" };
304 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
311 explicit constexpr
FX(
double value)
324 return m_value == other.m_value;
330 return m_value != other.m_value;
336 return m_value < other.m_value;
342 return m_value > other.m_value;
352 void setFromString(
const std::string &value);
354 double m_value{ 0.0 };
356 friend struct DataModel::Detail::Befriend<
FX>;
367 static constexpr
const char *path{
"CameraMatrix/FY" };
370 static constexpr
const char *name{
"FY" };
373 static constexpr
const char *description{ R
"description(Focal length in y)description" };
381 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
388 explicit constexpr
FY(
double value)
401 return m_value == other.m_value;
407 return m_value != other.m_value;
413 return m_value < other.m_value;
419 return m_value > other.m_value;
429 void setFromString(
const std::string &value);
431 double m_value{ 0.0 };
433 friend struct DataModel::Detail::Befriend<
FY>;
459 template<
typename... Args,
460 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
461 typename std::enable_if<
462 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
463 typename std::decay<Args>::type...>::value,
466 template<typename... Args>
470 using namespace Zivid::Detail::TypeTraits;
472 static_assert(AllArgsDecayedAreUnique<Args...>::value,
473 "Found duplicate types among the arguments passed to CameraMatrix(...). "
474 "Types should be listed at most once.");
476 set(std::forward<Args>(args)...);
493 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
495 template<typename... Args>
499 using namespace Zivid::Detail::TypeTraits;
501 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
502 static_assert(AllArgsAreDescendantNodes::value,
503 "All arguments passed to set(...) must be descendant nodes.");
505 static_assert(AllArgsDecayedAreUnique<Args...>::value,
506 "Found duplicate types among the arguments passed to set(...). "
507 "Types should be listed at most once.");
509 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
527 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
529 template<typename... Args>
533 using namespace Zivid::Detail::TypeTraits;
535 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
536 static_assert(AllArgsAreDescendantNodes::value,
537 "All arguments passed to copyWith(...) must be descendant nodes.");
539 static_assert(AllArgsDecayedAreUnique<Args...>::value,
540 "Found duplicate types among the arguments passed to copyWith(...). "
541 "Types should be listed at most once.");
544 copy.set(std::forward<Args>(args)...);
625 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CX>::value,
int>::type = 0>
632 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CY>::value,
int>::type = 0>
639 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FX>::value,
int>::type = 0>
646 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FY>::value,
int>::type = 0>
652 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
658 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
664 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
670 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
712 void setFromString(
const std::string &value);
714 void setFromString(
const std::string &fullPath,
const std::string &value);
716 std::string getString(
const std::string &fullPath)
const;
723 friend struct DataModel::Detail::Befriend<
CameraMatrix>;
734 static constexpr
const char *path{
"Distortion" };
737 static constexpr
const char *name{
"Distortion" };
740 static constexpr
const char *description{
741 R
"description(The radial and tangential distortion parameters)description"
752 static constexpr
const char *path{
"Distortion/K1" };
755 static constexpr
const char *name{
"K1" };
758 static constexpr
const char *description{ R
"description(First radial distortion term)description" };
766 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
773 explicit constexpr
K1(
double value)
786 return m_value == other.m_value;
792 return m_value != other.m_value;
798 return m_value < other.m_value;
804 return m_value > other.m_value;
814 void setFromString(
const std::string &value);
816 double m_value{ 0.0 };
818 friend struct DataModel::Detail::Befriend<
K1>;
829 static constexpr
const char *path{
"Distortion/K2" };
832 static constexpr
const char *name{
"K2" };
835 static constexpr
const char *description{ R
"description(Second radial distortion term)description" };
843 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
850 explicit constexpr
K2(
double value)
863 return m_value == other.m_value;
869 return m_value != other.m_value;
875 return m_value < other.m_value;
881 return m_value > other.m_value;
891 void setFromString(
const std::string &value);
893 double m_value{ 0.0 };
895 friend struct DataModel::Detail::Befriend<
K2>;
906 static constexpr
const char *path{
"Distortion/K3" };
909 static constexpr
const char *name{
"K3" };
912 static constexpr
const char *description{ R
"description(Third radial distortion term)description" };
920 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
927 explicit constexpr
K3(
double value)
940 return m_value == other.m_value;
946 return m_value != other.m_value;
952 return m_value < other.m_value;
958 return m_value > other.m_value;
968 void setFromString(
const std::string &value);
970 double m_value{ 0.0 };
972 friend struct DataModel::Detail::Befriend<
K3>;
983 static constexpr
const char *path{
"Distortion/P1" };
986 static constexpr
const char *name{
"P1" };
989 static constexpr
const char *description{ R
"description(First tangential distortion term)description" };
997 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
1004 explicit constexpr
P1(
double value)
1017 return m_value == other.m_value;
1023 return m_value != other.m_value;
1029 return m_value < other.m_value;
1035 return m_value > other.m_value;
1045 void setFromString(
const std::string &value);
1047 double m_value{ 0.0 };
1049 friend struct DataModel::Detail::Befriend<
P1>;
1060 static constexpr
const char *path{
"Distortion/P2" };
1063 static constexpr
const char *name{
"P2" };
1066 static constexpr
const char *description{
1067 R
"description(Second tangential distortion term)description"
1076 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
1083 explicit constexpr
P2(
double value)
1096 return m_value == other.m_value;
1102 return m_value != other.m_value;
1108 return m_value < other.m_value;
1114 return m_value > other.m_value;
1124 void setFromString(
const std::string &value);
1126 double m_value{ 0.0 };
1128 friend struct DataModel::Detail::Befriend<
P2>;
1156 template<
typename... Args,
1157 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1158 typename std::enable_if<
1159 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
1160 typename std::decay<Args>::type...>::value,
1163 template<typename... Args>
1167 using namespace Zivid::Detail::TypeTraits;
1169 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1170 "Found duplicate types among the arguments passed to Distortion(...). "
1171 "Types should be listed at most once.");
1173 set(std::forward<Args>(args)...);
1191 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1193 template<typename... Args>
1197 using namespace Zivid::Detail::TypeTraits;
1199 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1200 static_assert(AllArgsAreDescendantNodes::value,
1201 "All arguments passed to set(...) must be descendant nodes.");
1203 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1204 "Found duplicate types among the arguments passed to set(...). "
1205 "Types should be listed at most once.");
1207 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1226 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1228 template<typename... Args>
1232 using namespace Zivid::Detail::TypeTraits;
1234 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1235 static_assert(AllArgsAreDescendantNodes::value,
1236 "All arguments passed to copyWith(...) must be descendant nodes.");
1238 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1239 "Found duplicate types among the arguments passed to copyWith(...). "
1240 "Types should be listed at most once.");
1243 copy.set(std::forward<Args>(args)...);
1342 template<
typename T,
1343 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K1>::value,
int>::type = 0>
1349 template<
typename T,
1350 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K2>::value,
int>::type = 0>
1356 template<
typename T,
1357 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K3>::value,
int>::type = 0>
1363 template<
typename T,
1364 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P1>::value,
int>::type = 0>
1370 template<
typename T,
1371 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P2>::value,
int>::type = 0>
1377 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1383 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1389 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1395 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1401 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1408 template<
typename F>
1419 template<
typename F>
1445 void setFromString(
const std::string &value);
1447 void setFromString(
const std::string &fullPath,
const std::string &value);
1449 std::string getString(
const std::string &fullPath)
const;
1457 friend struct DataModel::Detail::Befriend<
Distortion>;
1502 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1503 typename std::enable_if<
1504 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1507 template<typename... Args>
1511 using namespace Zivid::Detail::TypeTraits;
1513 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1514 "Found duplicate types among the arguments passed to CameraIntrinsics(...). "
1515 "Types should be listed at most once.");
1517 set(std::forward<Args>(args)...);
1541 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1543 template<typename... Args>
1547 using namespace Zivid::Detail::TypeTraits;
1549 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1550 static_assert(AllArgsAreDescendantNodes::value,
1551 "All arguments passed to set(...) must be descendant nodes.");
1553 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1554 "Found duplicate types among the arguments passed to set(...). "
1555 "Types should be listed at most once.");
1557 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1582 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1584 template<typename... Args>
1588 using namespace Zivid::Detail::TypeTraits;
1590 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1591 static_assert(AllArgsAreDescendantNodes::value,
1592 "All arguments passed to copyWith(...) must be descendant nodes.");
1594 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1595 "Found duplicate types among the arguments passed to copyWith(...). "
1596 "Types should be listed at most once.");
1599 copy.set(std::forward<Args>(args)...);
1606 return m_cameraMatrix;
1612 return m_cameraMatrix;
1618 m_cameraMatrix = value;
1625 m_cameraMatrix.
set(value);
1632 m_cameraMatrix.
set(value);
1639 m_cameraMatrix.
set(value);
1646 m_cameraMatrix.
set(value);
1653 return m_distortion;
1659 return m_distortion;
1665 m_distortion = value;
1672 m_distortion.
set(value);
1679 m_distortion.
set(value);
1686 m_distortion.
set(value);
1693 m_distortion.
set(value);
1700 m_distortion.
set(value);
1704 template<
typename T,
1705 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix>::value,
int>::type = 0>
1708 return m_cameraMatrix;
1711 template<
typename T,
1712 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CX>::value,
int>::type = 0>
1718 template<
typename T,
1719 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::CY>::value,
int>::type = 0>
1725 template<
typename T,
1726 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FX>::value,
int>::type = 0>
1732 template<
typename T,
1733 typename std::enable_if<std::is_same<T, CameraIntrinsics::CameraMatrix::FY>::value,
int>::type = 0>
1739 template<
typename T,
1740 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion>::value,
int>::type = 0>
1743 return m_distortion;
1746 template<
typename T,
1747 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K1>::value,
int>::type = 0>
1753 template<
typename T,
1754 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K2>::value,
int>::type = 0>
1760 template<
typename T,
1761 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::K3>::value,
int>::type = 0>
1767 template<
typename T,
1768 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P1>::value,
int>::type = 0>
1774 template<
typename T,
1775 typename std::enable_if<std::is_same<T, CameraIntrinsics::Distortion::P2>::value,
int>::type = 0>
1781 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1784 return m_cameraMatrix;
1787 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1790 return m_distortion;
1794 template<
typename F>
1802 template<
typename F>
1825 void save(
const std::string &fileName)
const;
1828 void load(
const std::string &fileName);
1831 void setFromString(
const std::string &value);
1833 void setFromString(
const std::string &fullPath,
const std::string &value);
1835 std::string getString(
const std::string &fullPath)
const;
1845 struct CameraIntrinsics::Version<1>
1854 # pragma warning(pop)
1858 # if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1862 struct tuple_size<
Zivid::CameraIntrinsics::CameraMatrix> : integral_constant<size_t, 4>
1866 struct tuple_element<i,
Zivid::CameraIntrinsics::CameraMatrix>
1868 static_assert(i < tuple_size<Zivid::CameraIntrinsics::CameraMatrix>::value,
"Index must be less than 4");
1871 = decltype(declval<Zivid::CameraIntrinsics::CameraMatrix>().get<i>());
1875 struct tuple_size<
Zivid::CameraIntrinsics::Distortion> : integral_constant<size_t, 5>
1879 struct tuple_element<i,
Zivid::CameraIntrinsics::Distortion>
1881 static_assert(i < tuple_size<Zivid::CameraIntrinsics::Distortion>::value,
"Index must be less than 5");
1884 = decltype(declval<Zivid::CameraIntrinsics::Distortion>().get<i>());
1888 struct tuple_size<
Zivid::CameraIntrinsics> : integral_constant<size_t, 2>
1892 struct tuple_element<i,
Zivid::CameraIntrinsics>
1894 static_assert(i < tuple_size<Zivid::CameraIntrinsics>::value,
"Index must be less than 2");
1897 = decltype(declval<Zivid::CameraIntrinsics>().get<i>());
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:57
x coordinate of the principal point
Definition: CameraIntrinsics.h:126
friend std::ostream & operator<<(std::ostream &stream, const CX &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:190
bool operator==(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:166
std::string toString() const
Get the value as string
bool operator<(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:178
constexpr CX(double value)
Constructor
Definition: CameraIntrinsics.h:155
bool operator>(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:184
bool operator!=(const CX &other) const
Comparison operator
Definition: CameraIntrinsics.h:172
double value() const
Get the value
CX()=default
Default constructor
static constexpr Range< double > validRange()
The range of valid values for CX
Definition: CameraIntrinsics.h:146
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:143
y coordinate of the principal point
Definition: CameraIntrinsics.h:205
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:222
bool operator>(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:263
double value() const
Get the value
static constexpr Range< double > validRange()
The range of valid values for CY
Definition: CameraIntrinsics.h:225
CY()=default
Default constructor
bool operator!=(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:251
std::string toString() const
Get the value as string
friend std::ostream & operator<<(std::ostream &stream, const CY &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:269
bool operator==(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:245
bool operator<(const CY &other) const
Comparison operator
Definition: CameraIntrinsics.h:257
constexpr CY(double value)
Constructor
Definition: CameraIntrinsics.h:234
Focal length in x
Definition: CameraIntrinsics.h:284
static constexpr Range< double > validRange()
The range of valid values for FX
Definition: CameraIntrinsics.h:302
double value() const
Get the value
FX()=default
Default constructor
bool operator!=(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:328
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:299
friend std::ostream & operator<<(std::ostream &stream, const FX &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:346
constexpr FX(double value)
Constructor
Definition: CameraIntrinsics.h:311
bool operator==(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:322
bool operator>(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:340
std::string toString() const
Get the value as string
bool operator<(const FX &other) const
Comparison operator
Definition: CameraIntrinsics.h:334
Focal length in y
Definition: CameraIntrinsics.h:361
bool operator>(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:417
bool operator!=(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:405
bool operator==(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:399
FY()=default
Default constructor
double value() const
Get the value
bool operator<(const FY &other) const
Comparison operator
Definition: CameraIntrinsics.h:411
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:376
constexpr FY(double value)
Constructor
Definition: CameraIntrinsics.h:388
friend std::ostream & operator<<(std::ostream &stream, const FY &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:423
static constexpr Range< double > validRange()
The range of valid values for FY
Definition: CameraIntrinsics.h:379
The camera matrix K (=[fx,0,cx;0,fy,cy;0,0,1])
Definition: CameraIntrinsics.h:108
const CX & cx() const
Get CX
Definition: CameraIntrinsics.h:549
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:497
const FX & fx() const
Get FX
Definition: CameraIntrinsics.h:587
bool operator!=(const CameraMatrix &other) const
Inequality operator
friend std::ostream & operator<<(std::ostream &stream, const CameraMatrix &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:706
CameraMatrix & set(const CY &value)
Set CY
Definition: CameraIntrinsics.h:580
CameraMatrix & set(const FY &value)
Set FY
Definition: CameraIntrinsics.h:618
bool operator==(const CameraMatrix &other) const
Equality operator
std::string toString() const
Get the value as string
const CameraIntrinsics::CameraMatrix::CX & get() const
Definition: CameraIntrinsics.h:626
FY & fy()
Get FY
Definition: CameraIntrinsics.h:612
CameraMatrix & set(const CX &value)
Set CX
Definition: CameraIntrinsics.h:561
const CameraIntrinsics::CameraMatrix::CY & get() const
Definition: CameraIntrinsics.h:633
const FY & fy() const
Get FY
Definition: CameraIntrinsics.h:606
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:678
CameraMatrix & set(const FX &value)
Set FX
Definition: CameraIntrinsics.h:599
std::tuple< CameraIntrinsics::CameraMatrix::CX, CameraIntrinsics::CameraMatrix::CY, CameraIntrinsics::CameraMatrix::FX, CameraIntrinsics::CameraMatrix::FY > Descendants
Definition: CameraIntrinsics.h:439
CX & cx()
Get CX
Definition: CameraIntrinsics.h:555
CameraMatrix(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:468
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:531
const CameraIntrinsics::CameraMatrix::FY & get() const
Definition: CameraIntrinsics.h:647
const CameraIntrinsics::CameraMatrix::FX & get() const
Definition: CameraIntrinsics.h:640
const CY & cy() const
Get CY
Definition: CameraIntrinsics.h:568
FX & fx()
Get FX
Definition: CameraIntrinsics.h:593
CY & cy()
Get CY
Definition: CameraIntrinsics.h:574
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:688
First radial distortion term
Definition: CameraIntrinsics.h:746
bool operator<(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:796
K1()=default
Default constructor
bool operator!=(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:790
bool operator>(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:802
constexpr K1(double value)
Constructor
Definition: CameraIntrinsics.h:773
static constexpr Range< double > validRange()
The range of valid values for K1
Definition: CameraIntrinsics.h:764
friend std::ostream & operator<<(std::ostream &stream, const K1 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:808
bool operator==(const K1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:784
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:761
Second radial distortion term
Definition: CameraIntrinsics.h:823
static constexpr Range< double > validRange()
The range of valid values for K2
Definition: CameraIntrinsics.h:841
bool operator>(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:879
bool operator!=(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:867
std::string toString() const
Get the value as string
bool operator==(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:861
friend std::ostream & operator<<(std::ostream &stream, const K2 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:885
bool operator<(const K2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:873
K2()=default
Default constructor
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:838
constexpr K2(double value)
Constructor
Definition: CameraIntrinsics.h:850
double value() const
Get the value
Third radial distortion term
Definition: CameraIntrinsics.h:900
friend std::ostream & operator<<(std::ostream &stream, const K3 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:962
bool operator<(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:950
double value() const
Get the value
K3()=default
Default constructor
std::string toString() const
Get the value as string
constexpr K3(double value)
Constructor
Definition: CameraIntrinsics.h:927
static constexpr Range< double > validRange()
The range of valid values for K3
Definition: CameraIntrinsics.h:918
bool operator>(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:956
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:915
bool operator!=(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:944
bool operator==(const K3 &other) const
Comparison operator
Definition: CameraIntrinsics.h:938
First tangential distortion term
Definition: CameraIntrinsics.h:977
friend std::ostream & operator<<(std::ostream &stream, const P1 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:1039
bool operator>(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1033
bool operator==(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1015
std::string toString() const
Get the value as string
bool operator<(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1027
static constexpr Range< double > validRange()
The range of valid values for P1
Definition: CameraIntrinsics.h:995
P1()=default
Default constructor
double value() const
Get the value
constexpr P1(double value)
Constructor
Definition: CameraIntrinsics.h:1004
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:992
bool operator!=(const P1 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1021
Second tangential distortion term
Definition: CameraIntrinsics.h:1054
bool operator==(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1094
bool operator>(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1112
constexpr P2(double value)
Constructor
Definition: CameraIntrinsics.h:1083
P2()=default
Default constructor
double value() const
Get the value
double ValueType
The type of the underlying value
Definition: CameraIntrinsics.h:1071
friend std::ostream & operator<<(std::ostream &stream, const P2 &value)
Operator to serialize the value to a stream
Definition: CameraIntrinsics.h:1118
std::string toString() const
Get the value as string
bool operator<(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1106
bool operator!=(const P2 &other) const
Comparison operator
Definition: CameraIntrinsics.h:1100
static constexpr Range< double > validRange()
The range of valid values for P2
Definition: CameraIntrinsics.h:1074
The radial and tangential distortion parameters
Definition: CameraIntrinsics.h:728
friend std::ostream & operator<<(std::ostream &stream, const Distortion &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:1439
const P1 & p1() const
Get P1
Definition: CameraIntrinsics.h:1305
Distortion & set(const P2 &value)
Set P2
Definition: CameraIntrinsics.h:1336
P1 & p1()
Get P1
Definition: CameraIntrinsics.h:1311
const CameraIntrinsics::Distortion::K2 & get() const
Definition: CameraIntrinsics.h:1351
Distortion(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:1165
Distortion & set(const K2 &value)
Set K2
Definition: CameraIntrinsics.h:1279
const CameraIntrinsics::Distortion::K1 & get() const
Definition: CameraIntrinsics.h:1344
const P2 & p2() const
Get P2
Definition: CameraIntrinsics.h:1324
const CameraIntrinsics::Distortion::P1 & get() const
Definition: CameraIntrinsics.h:1365
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:1195
const CameraIntrinsics::Distortion::K3 & get() const
Definition: CameraIntrinsics.h:1358
K3 & k3()
Get K3
Definition: CameraIntrinsics.h:1292
K2 & k2()
Get K2
Definition: CameraIntrinsics.h:1273
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:1230
K1 & k1()
Get K1
Definition: CameraIntrinsics.h:1254
Distortion & set(const K3 &value)
Set K3
Definition: CameraIntrinsics.h:1298
std::string toString() const
Get the value as string
Distortion & set(const P1 &value)
Set P1
Definition: CameraIntrinsics.h:1317
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:1420
std::tuple< CameraIntrinsics::Distortion::K1, CameraIntrinsics::Distortion::K2, CameraIntrinsics::Distortion::K3, CameraIntrinsics::Distortion::P1, CameraIntrinsics::Distortion::P2 > Descendants
Definition: CameraIntrinsics.h:1135
const K3 & k3() const
Get K3
Definition: CameraIntrinsics.h:1286
const K1 & k1() const
Get K1
Definition: CameraIntrinsics.h:1248
const K2 & k2() const
Get K2
Definition: CameraIntrinsics.h:1267
bool operator!=(const Distortion &other) const
Inequality operator
P2 & p2()
Get P2
Definition: CameraIntrinsics.h:1330
Distortion & set(const K1 &value)
Set K1
Definition: CameraIntrinsics.h:1260
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:1409
const CameraIntrinsics::Distortion::P2 & get() const
Definition: CameraIntrinsics.h:1372
Information about the intrinsic parameters of the camera (OpenCV model)
Definition: CameraIntrinsics.h:76
CameraMatrix & cameraMatrix()
Get CameraMatrix
Definition: CameraIntrinsics.h:1610
const CameraIntrinsics::CameraMatrix::FY & get() const
Definition: CameraIntrinsics.h:1734
const CameraIntrinsics::CameraMatrix & get() const
Definition: CameraIntrinsics.h:1706
bool operator!=(const CameraIntrinsics &other) const
Inequality operator
const CameraIntrinsics::Distortion::K3 & get() const
Definition: CameraIntrinsics.h:1762
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:1795
CameraIntrinsics(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraIntrinsics.h:1509
std::string toString() const
Get the value as string
CameraIntrinsics & set(const CameraMatrix::CY &value)
Set CameraMatrix::CY
Definition: CameraIntrinsics.h:1630
CameraIntrinsics & set(const Distortion &value)
Set Distortion
Definition: CameraIntrinsics.h:1663
const CameraIntrinsics::Distortion::K1 & get() const
Definition: CameraIntrinsics.h:1748
void set(Args &&...args)
Set multiple arguments
Definition: CameraIntrinsics.h:1545
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:1586
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraIntrinsics.h:1803
CameraIntrinsics()
Default constructor
void load(const std::string &fileName)
Load from the given file
CameraIntrinsics & set(const Distortion::K1 &value)
Set Distortion::K1
Definition: CameraIntrinsics.h:1670
CameraIntrinsics & set(const CameraMatrix &value)
Set CameraMatrix
Definition: CameraIntrinsics.h:1616
const CameraIntrinsics::CameraMatrix::CX & get() const
Definition: CameraIntrinsics.h:1713
const CameraMatrix & cameraMatrix() const
Get CameraMatrix
Definition: CameraIntrinsics.h:1604
const CameraIntrinsics::Distortion::P1 & get() const
Definition: CameraIntrinsics.h:1769
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:1470
const CameraIntrinsics::Distortion::P2 & get() const
Definition: CameraIntrinsics.h:1776
Distortion & distortion()
Get Distortion
Definition: CameraIntrinsics.h:1657
CameraIntrinsics & set(const CameraMatrix::CX &value)
Set CameraMatrix::CX
Definition: CameraIntrinsics.h:1623
CameraIntrinsics(const std::string &fileName)
Construct CameraIntrinsics by loading from file
const CameraIntrinsics::CameraMatrix::FX & get() const
Definition: CameraIntrinsics.h:1727
CameraIntrinsics & set(const Distortion::K3 &value)
Set Distortion::K3
Definition: CameraIntrinsics.h:1684
void save(const std::string &fileName) const
Save to the given file
CameraIntrinsics & set(const Distortion::P1 &value)
Set Distortion::P1
Definition: CameraIntrinsics.h:1691
CameraIntrinsics & set(const CameraMatrix::FX &value)
Set CameraMatrix::FX
Definition: CameraIntrinsics.h:1637
const CameraIntrinsics::Distortion::K2 & get() const
Definition: CameraIntrinsics.h:1755
CameraIntrinsics & set(const Distortion::P2 &value)
Set Distortion::P2
Definition: CameraIntrinsics.h:1698
const CameraIntrinsics::Distortion & get() const
Definition: CameraIntrinsics.h:1741
const CameraIntrinsics::CameraMatrix::CY & get() const
Definition: CameraIntrinsics.h:1720
friend std::ostream & operator<<(std::ostream &stream, const CameraIntrinsics &value)
Operator to send the value as string to a stream
Definition: CameraIntrinsics.h:1819
const Distortion & distortion() const
Get Distortion
Definition: CameraIntrinsics.h:1651
CameraIntrinsics & set(const Distortion::K2 &value)
Set Distortion::K2
Definition: CameraIntrinsics.h:1677
CameraIntrinsics & set(const CameraMatrix::FY &value)
Set CameraMatrix::FY
Definition: CameraIntrinsics.h:1644
Class describing a range of values for a given type T
Definition: Range.h:58
NodeType
Definition: NodeType.h:56
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:55