69# pragma warning(disable : 4251)
85 static constexpr const char *path{
"" };
88 static constexpr const char *name{
"CameraInfo" };
91 static constexpr const char *description{
92 R
"description(Information about camera model, serial number etc.)description"
95 static constexpr size_t version{ 5 };
105 static constexpr std::array<uint8_t, 3> binaryId{
'n',
'f',
'o' };
119 static constexpr const char *path{
"FirmwareVersion" };
122 static constexpr const char *name{
"FirmwareVersion" };
125 static constexpr const char *description{ R
"description(The firmware version on the camera)description" };
133 return { 0, std::numeric_limits<ValueType::size_type>::max() };
141 : m_value{ std::move(value) }
153 return m_value == other.m_value;
159 return m_value != other.m_value;
165 return m_value < other.m_value;
171 return m_value > other.m_value;
177 return m_value <= other.m_value;
183 return m_value >= other.m_value;
193 void setFromString(
const std::string &value);
195 std::string m_value{};
212 static constexpr const char *path{
"HardwareRevision" };
215 static constexpr const char *name{
"HardwareRevision" };
218 static constexpr const char *description{
219 R
"description(Hardware revision of this camera. This corresponds to the revision string that is printed on the product
230 return { 0, std::numeric_limits<ValueType::size_type>::max() };
238 : m_value{ std::move(value) }
250 return m_value == other.m_value;
256 return m_value != other.m_value;
262 return m_value < other.m_value;
268 return m_value > other.m_value;
274 return m_value <= other.m_value;
280 return m_value >= other.m_value;
290 void setFromString(
const std::string &value);
292 std::string m_value{};
307 static constexpr const char *path{
"Model" };
310 static constexpr const char *name{
"Model" };
313 static constexpr const char *description{ R
"description(The model of the camera)description" };
339 return { ValueType::zividOnePlusSmall, ValueType::zividOnePlusMedium, ValueType::zividOnePlusLarge,
340 ValueType::zividTwo, ValueType::zividTwoL100, ValueType::zivid2PlusM130,
341 ValueType::zivid2PlusM60, ValueType::zivid2PlusL110 };
349 : m_value{ verifyValue(value) }
367 return m_value == other.m_value;
373 return m_value != other.m_value;
383 void setFromString(
const std::string &value);
385 constexpr ValueType
static verifyValue(
const ValueType &value)
387 return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
388 || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
389 || value == ValueType::zividTwoL100 || value == ValueType::zivid2PlusM130
390 || value == ValueType::zivid2PlusM60 || value == ValueType::zivid2PlusL110
392 :
throw std::invalid_argument{
393 "Invalid value: Model{ "
394 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
400 friend struct DataModel::Detail::Befriend<
Model>;
415 static constexpr const char *path{
"ModelName" };
418 static constexpr const char *name{
"ModelName" };
421 static constexpr const char *description{
422 R
"description(The model name of the camera. This is a user-friendly display name that may contain spaces and special
423characters. We recommend to use `Model` instead if you want to programmatically check for camera model.
433 return { 0, std::numeric_limits<ValueType::size_type>::max() };
441 : m_value{ std::move(value) }
453 return m_value == other.m_value;
459 return m_value != other.m_value;
465 return m_value < other.m_value;
471 return m_value > other.m_value;
477 return m_value <= other.m_value;
483 return m_value >= other.m_value;
493 void setFromString(
const std::string &value);
495 std::string m_value{};
497 friend struct DataModel::Detail::Befriend<
ModelName>;
512 static constexpr const char *path{
"Revision" };
515 static constexpr const char *name{
"Revision" };
518 static constexpr const char *description{
519 R
"description(Major/Minor hardware revision number. This field is deprecated and may be removed in a future version
520of the SDK. Please use HardwareRevision instead.
536 static constexpr const char *path{
"Revision/Major" };
539 static constexpr const char *name{
"Major" };
542 static constexpr const char *description{
543 R
"description(Major hardware revision number. This field is deprecated and may be removed in a future version
544of the SDK. Please use HardwareRevision instead.
554 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
561 explicit constexpr Major(uint32_t value)
574 return m_value == other.m_value;
580 return m_value != other.m_value;
586 return m_value < other.m_value;
592 return m_value > other.m_value;
598 return m_value <= other.m_value;
604 return m_value >= other.m_value;
614 void setFromString(
const std::string &value);
616 uint32_t m_value{ 0 };
618 friend struct DataModel::Detail::Befriend<
Major>;
633 static constexpr const char *path{
"Revision/Minor" };
636 static constexpr const char *name{
"Minor" };
639 static constexpr const char *description{
640 R
"description(Minor hardware revision number. This field is deprecated and may be removed in a future version
641of the SDK. Please use HardwareRevision instead.
651 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
658 explicit constexpr Minor(uint32_t value)
671 return m_value == other.m_value;
677 return m_value != other.m_value;
683 return m_value < other.m_value;
689 return m_value > other.m_value;
695 return m_value <= other.m_value;
701 return m_value >= other.m_value;
711 void setFromString(
const std::string &value);
713 uint32_t m_value{ 0 };
715 friend struct DataModel::Detail::Befriend<
Minor>;
718 using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
738 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
739 typename std::enable_if<
740 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
744 template<typename... Args>
748 using namespace Zivid::Detail::TypeTraits;
751 AllArgsDecayedAreUnique<Args...>::value,
752 "Found duplicate types among the arguments passed to Revision(...). "
753 "Types should be listed at most once.");
755 set(std::forward<Args>(args)...);
770 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
772 template<typename... Args>
776 using namespace Zivid::Detail::TypeTraits;
778 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
780 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
783 AllArgsDecayedAreUnique<Args...>::value,
784 "Found duplicate types among the arguments passed to set(...). "
785 "Types should be listed at most once.");
787 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
803 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
805 template<typename... Args>
809 using namespace Zivid::Detail::TypeTraits;
811 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
813 AllArgsAreDescendantNodes::value,
814 "All arguments passed to copyWith(...) must be descendant nodes.");
817 AllArgsDecayedAreUnique<Args...>::value,
818 "Found duplicate types among the arguments passed to copyWith(...). "
819 "Types should be listed at most once.");
822 copy.
set(std::forward<Args>(args)...);
866 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
874 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
880 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
886 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
924 void setFromString(
const std::string &value);
926 void setFromString(
const std::string &fullPath,
const std::string &value);
928 std::string getString(
const std::string &fullPath)
const;
933 friend struct DataModel::Detail::Befriend<
Revision>;
946 static constexpr const char *path{
"SerialNumber" };
949 static constexpr const char *name{
"SerialNumber" };
952 static constexpr const char *description{ R
"description(The serial number of the camera)description" };
960 return { 0, std::numeric_limits<ValueType::size_type>::max() };
968 : m_value{ std::move(value) }
980 return m_value == other.m_value;
986 return m_value != other.m_value;
992 return m_value < other.m_value;
998 return m_value > other.m_value;
1004 return m_value <= other.m_value;
1010 return m_value >= other.m_value;
1020 void setFromString(
const std::string &value);
1022 std::string m_value{};
1024 friend struct DataModel::Detail::Befriend<
SerialNumber>;
1037 static constexpr const char *path{
"UserData" };
1040 static constexpr const char *name{
"UserData" };
1043 static constexpr const char *description{
1044 R
"description(Information about user data capabilities of the camera)description"
1057 static constexpr const char *path{
"UserData/MaxSizeBytes" };
1060 static constexpr const char *name{
"MaxSizeBytes" };
1063 static constexpr const char *description{
1064 R
"description(The maximum number of bytes of user data that can be stored in the camera)description"
1073 return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
1093 return m_value == other.m_value;
1099 return m_value != other.m_value;
1105 return m_value < other.m_value;
1111 return m_value > other.m_value;
1117 return m_value <= other.m_value;
1123 return m_value >= other.m_value;
1133 void setFromString(
const std::string &value);
1135 uint64_t m_value{ 0 };
1137 friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
1159 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1160 typename std::enable_if<
1161 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1165 template<typename... Args>
1169 using namespace Zivid::Detail::TypeTraits;
1172 AllArgsDecayedAreUnique<Args...>::value,
1173 "Found duplicate types among the arguments passed to UserData(...). "
1174 "Types should be listed at most once.");
1176 set(std::forward<Args>(args)...);
1190 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1192 template<typename... Args>
1196 using namespace Zivid::Detail::TypeTraits;
1198 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1200 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1203 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)...);
1222 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1224 template<typename... Args>
1228 using namespace Zivid::Detail::TypeTraits;
1230 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1232 AllArgsAreDescendantNodes::value,
1233 "All arguments passed to copyWith(...) must be descendant nodes.");
1236 AllArgsDecayedAreUnique<Args...>::value,
1237 "Found duplicate types among the arguments passed to copyWith(...). "
1238 "Types should be listed at most once.");
1241 copy.
set(std::forward<Args>(args)...);
1248 return m_maxSizeBytes;
1254 return m_maxSizeBytes;
1260 m_maxSizeBytes = value;
1266 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1269 return m_maxSizeBytes;
1272 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1275 return m_maxSizeBytes;
1279 template<
typename F>
1286 template<
typename F>
1308 void setFromString(
const std::string &value);
1310 void setFromString(
const std::string &fullPath,
const std::string &value);
1312 std::string getString(
const std::string &fullPath)
const;
1316 friend struct DataModel::Detail::Befriend<
UserData>;
1374 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1375 typename std::enable_if<
1376 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1379 template<typename... Args>
1383 using namespace Zivid::Detail::TypeTraits;
1386 AllArgsDecayedAreUnique<Args...>::value,
1387 "Found duplicate types among the arguments passed to CameraInfo(...). "
1388 "Types should be listed at most once.");
1390 set(std::forward<Args>(args)...);
1413 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1415 template<typename... Args>
1419 using namespace Zivid::Detail::TypeTraits;
1421 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1423 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1426 AllArgsDecayedAreUnique<Args...>::value,
1427 "Found duplicate types among the arguments passed to set(...). "
1428 "Types should be listed at most once.");
1430 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1454 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1456 template<typename... Args>
1460 using namespace Zivid::Detail::TypeTraits;
1462 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1464 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1467 AllArgsDecayedAreUnique<Args...>::value,
1468 "Found duplicate types among the arguments passed to copyWith(...). "
1469 "Types should be listed at most once.");
1472 copy.
set(std::forward<Args>(args)...);
1479 return m_firmwareVersion;
1485 return m_firmwareVersion;
1491 m_firmwareVersion = value;
1498 return m_hardwareRevision;
1504 return m_hardwareRevision;
1510 m_hardwareRevision = value;
1548 m_modelName = value;
1574 m_revision.
set(value);
1581 m_revision.
set(value);
1588 return m_serialNumber;
1594 return m_serialNumber;
1600 m_serialNumber = value;
1626 m_userData.
set(value);
1632 typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value,
int>::type = 0>
1635 return m_firmwareVersion;
1640 typename std::enable_if<std::is_same<T, CameraInfo::HardwareRevision>::value,
int>::type = 0>
1643 return m_hardwareRevision;
1646 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value,
int>::type = 0>
1652 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value,
int>::type = 0>
1658 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value,
int>::type = 0>
1666 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
1674 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
1680 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value,
int>::type = 0>
1683 return m_serialNumber;
1686 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value,
int>::type = 0>
1694 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1700 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1703 return m_firmwareVersion;
1706 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1709 return m_hardwareRevision;
1712 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1718 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1724 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1730 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
1733 return m_serialNumber;
1736 template<size_t i, typename std::enable_if<i == 6, int>::type = 0>
1743 template<
typename F>
1746 f(m_firmwareVersion);
1747 f(m_hardwareRevision);
1756 template<
typename F>
1759 f(m_firmwareVersion);
1760 f(m_hardwareRevision);
1784 void save(
const std::string &fileName)
const;
1787 void load(
const std::string &fileName);
1790 void setFromString(
const std::string &value);
1792 void setFromString(
const std::string &fullPath,
const std::string &value);
1794 std::string getString(
const std::string &fullPath)
const;
1804 friend struct DataModel::Detail::Befriend<
CameraInfo>;
1818 struct CameraInfo::Version<5>
1820 using Type = CameraInfo;
1827# pragma warning(pop)
1831# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1836 struct tuple_size<
Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
1840 struct tuple_element<i,
Zivid::CameraInfo::Revision>
1842 static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value,
"Index must be less than 2");
1845 =
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
1849 struct tuple_size<
Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
1853 struct tuple_element<i,
Zivid::CameraInfo::UserData>
1855 static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value,
"Index must be less than 1");
1858 =
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
1862 struct tuple_size<
Zivid::CameraInfo> : integral_constant<size_t, 7>
1866 struct tuple_element<i,
Zivid::CameraInfo>
1868 static_assert(i < tuple_size<Zivid::CameraInfo>::value,
"Index must be less than 7");
1871 =
decltype(declval<Zivid::CameraInfo>().get<i>());
1880#if defined(__has_include) && !defined(NO_DOC)
1881# if __has_include("Zivid/CameraInfoInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
1882# include "Zivid/CameraInfoInternal.h"
#define ZIVID_NODISCARD
Definition Attributes.h:49
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
The firmware version on the camera.
Definition CameraInfo.h:113
std::string toString() const
Get the value as string.
bool operator==(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:151
FirmwareVersion(std::string value)
Constructor.
Definition CameraInfo.h:140
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for FirmwareVersion.
Definition CameraInfo.h:131
bool operator<(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:163
bool operator<=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:175
bool operator>=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:181
const std::string & value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const FirmwareVersion &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:187
bool operator>(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:169
bool operator!=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:157
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:128
FirmwareVersion()=default
Default constructor.
Hardware revision of this camera. This corresponds to the revision string that is printed on the prod...
Definition CameraInfo.h:206
HardwareRevision()=default
Default constructor.
bool operator!=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:254
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for HardwareRevision.
Definition CameraInfo.h:228
bool operator==(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:248
bool operator>(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:266
const std::string & value() const
Get the value.
bool operator<(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:260
friend std::ostream & operator<<(std::ostream &stream, const HardwareRevision &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:284
HardwareRevision(std::string value)
Constructor.
Definition CameraInfo.h:237
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:225
bool operator<=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:272
bool operator>=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:278
std::string toString() const
Get the value as string.
The model name of the camera. This is a user-friendly display name that may contain spaces and specia...
Definition CameraInfo.h:409
bool operator==(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:451
ModelName()=default
Default constructor.
bool operator<=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:475
std::string toString() const
Get the value as string.
ModelName(std::string value)
Constructor.
Definition CameraInfo.h:440
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:428
bool operator<(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:463
bool operator>(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:469
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:487
const std::string & value() const
Get the value.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName.
Definition CameraInfo.h:431
bool operator>=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:481
bool operator!=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:457
The model of the camera.
Definition CameraInfo.h:301
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition CameraInfo.h:327
static const Model zivid2PlusM130
zivid2PlusM130
Definition CameraInfo.h:332
static const Model zividTwo
zividTwo
Definition CameraInfo.h:330
static const Model zivid2PlusL110
zivid2PlusL110
Definition CameraInfo.h:334
std::string toString() const
Get the value as string.
constexpr Model(ValueType value)
Constructor.
Definition CameraInfo.h:348
Model()=default
Default constructor.
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition CameraInfo.h:328
ValueType value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const Model::ValueType &value)
Operator to serialize ValueType to a stream.
Definition CameraInfo.h:359
static const Model zivid2PlusM60
zivid2PlusM60
Definition CameraInfo.h:333
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:377
static std::set< ValueType > validValues()
All valid values of Model.
Definition CameraInfo.h:337
ValueType
The type of the underlying value.
Definition CameraInfo.h:317
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition CameraInfo.h:329
bool operator!=(const Model &other) const
Comparison operator.
Definition CameraInfo.h:371
static const Model zividTwoL100
zividTwoL100
Definition CameraInfo.h:331
bool operator==(const Model &other) const
Comparison operator.
Definition CameraInfo.h:365
Major hardware revision number. This field is deprecated and may be removed in a future version of th...
Definition CameraInfo.h:530
std::string toString() const
Get the value as string.
bool operator!=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:578
uint32_t ValueType
The type of the underlying value.
Definition CameraInfo.h:549
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:608
static constexpr Range< uint32_t > validRange()
The range of valid values for Major.
Definition CameraInfo.h:552
bool operator>=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:602
bool operator<=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:596
bool operator>(const Major &other) const
Comparison operator.
Definition CameraInfo.h:590
uint32_t value() const
Get the value.
constexpr Major(uint32_t value)
Constructor.
Definition CameraInfo.h:561
bool operator<(const Major &other) const
Comparison operator.
Definition CameraInfo.h:584
Major()=default
Default constructor.
bool operator==(const Major &other) const
Comparison operator.
Definition CameraInfo.h:572
Minor hardware revision number. This field is deprecated and may be removed in a future version of th...
Definition CameraInfo.h:627
bool operator>(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:687
bool operator!=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:675
bool operator<=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:693
constexpr Minor(uint32_t value)
Constructor.
Definition CameraInfo.h:658
uint32_t ValueType
The type of the underlying value.
Definition CameraInfo.h:646
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:705
bool operator==(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:669
std::string toString() const
Get the value as string.
Minor()=default
Default constructor.
bool operator>=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:699
bool operator<(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:681
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor.
Definition CameraInfo.h:649
uint32_t value() const
Get the value.
Major/Minor hardware revision number. This field is deprecated and may be removed in a future version...
Definition CameraInfo.h:506
const Major & major() const
Get Major.
Definition CameraInfo.h:827
Revision copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraInfo.h:807
Minor & minor()
Get Minor.
Definition CameraInfo.h:852
Revision & set(const Minor &value)
Set Minor.
Definition CameraInfo.h:858
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition CameraInfo.h:718
Revision & set(const Major &value)
Set Major.
Definition CameraInfo.h:839
bool operator==(const Revision &other) const
Equality operator.
const CameraInfo::Revision::Minor & get() const
Definition CameraInfo.h:875
std::string toString() const
Get the value as string.
const Minor & minor() const
Get Minor.
Definition CameraInfo.h:846
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:902
Major & major()
Get Major.
Definition CameraInfo.h:833
const CameraInfo::Revision::Major & get() const
Definition CameraInfo.h:867
Revision()
Default constructor.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:894
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:918
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:774
bool operator!=(const Revision &other) const
Inequality operator.
The serial number of the camera.
Definition CameraInfo.h:940
SerialNumber(std::string value)
Constructor.
Definition CameraInfo.h:967
const std::string & value() const
Get the value.
bool operator==(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:978
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:955
SerialNumber()=default
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const SerialNumber &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:1014
std::string toString() const
Get the value as string.
bool operator>(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:996
bool operator<(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:990
bool operator<=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1002
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber.
Definition CameraInfo.h:958
bool operator>=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1008
bool operator!=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:984
The maximum number of bytes of user data that can be stored in the camera.
Definition CameraInfo.h:1051
bool operator!=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1097
bool operator<=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1115
bool operator>(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1109
MaxSizeBytes()=default
Default constructor.
constexpr MaxSizeBytes(uint64_t value)
Constructor.
Definition CameraInfo.h:1080
uint64_t value() const
Get the value.
bool operator<(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1103
bool operator==(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1091
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const MaxSizeBytes &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:1127
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes.
Definition CameraInfo.h:1071
uint64_t ValueType
The type of the underlying value.
Definition CameraInfo.h:1068
bool operator>=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1121
Information about user data capabilities of the camera.
Definition CameraInfo.h:1031
bool operator==(const UserData &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 CameraInfo.h:1287
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes.
Definition CameraInfo.h:1252
UserData copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraInfo.h:1226
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:1302
std::string toString() const
Get the value as string.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1280
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition CameraInfo.h:1267
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition CameraInfo.h:1140
bool operator!=(const UserData &other) const
Inequality operator.
UserData()
Default constructor.
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes.
Definition CameraInfo.h:1246
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes.
Definition CameraInfo.h:1258
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:1194
Information about camera model, serial number etc.
Definition CameraInfo.h:79
bool operator==(const CameraInfo &other) const
Equality operator.
Revision & revision()
Get Revision.
Definition CameraInfo.h:1559
const ModelName & modelName() const
Get ModelName.
Definition CameraInfo.h:1534
FirmwareVersion & firmwareVersion()
Get FirmwareVersion.
Definition CameraInfo.h:1483
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1757
const UserData & userData() const
Get UserData.
Definition CameraInfo.h:1605
ModelName & modelName()
Get ModelName.
Definition CameraInfo.h:1540
bool operator!=(const CameraInfo &other) const
Inequality operator.
CameraInfo & set(const Model &value)
Set Model.
Definition CameraInfo.h:1527
const CameraInfo::FirmwareVersion & get() const
Definition CameraInfo.h:1633
const CameraInfo::Model & get() const
Definition CameraInfo.h:1647
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file.
UserData & userData()
Get UserData.
Definition CameraInfo.h:1611
CameraInfo & set(const ModelName &value)
Set ModelName.
Definition CameraInfo.h:1546
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion.
Definition CameraInfo.h:1477
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition CameraInfo.h:1695
const Model & model() const
Get Model.
Definition CameraInfo.h:1515
CameraInfo copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraInfo.h:1458
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1744
Model & model()
Get Model.
Definition CameraInfo.h:1521
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:1778
const CameraInfo::ModelName & get() const
Definition CameraInfo.h:1653
CameraInfo & set(const UserData &value)
Set UserData.
Definition CameraInfo.h:1617
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes.
Definition CameraInfo.h:1624
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments.
Definition CameraInfo.h:1381
const CameraInfo::UserData & get() const
Definition CameraInfo.h:1687
const CameraInfo::Revision::Minor & get() const
Definition CameraInfo.h:1675
const SerialNumber & serialNumber() const
Get SerialNumber.
Definition CameraInfo.h:1586
SerialNumber & serialNumber()
Get SerialNumber.
Definition CameraInfo.h:1592
const Revision & revision() const
Get Revision.
Definition CameraInfo.h:1553
CameraInfo & set(const HardwareRevision &value)
Set HardwareRevision.
Definition CameraInfo.h:1508
const CameraInfo::HardwareRevision & get() const
Definition CameraInfo.h:1641
void load(const std::string &fileName)
Load from the given file.
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion.
Definition CameraInfo.h:1489
const CameraInfo::Revision::Major & get() const
Definition CameraInfo.h:1667
const HardwareRevision & hardwareRevision() const
Get HardwareRevision.
Definition CameraInfo.h:1496
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:1417
CameraInfo & set(const Revision &value)
Set Revision.
Definition CameraInfo.h:1565
CameraInfo & set(const Revision::Major &value)
Set Revision::Major.
Definition CameraInfo.h:1572
std::tuple< CameraInfo::FirmwareVersion, CameraInfo::HardwareRevision, CameraInfo::Model, CameraInfo::ModelName, CameraInfo::Revision, CameraInfo::Revision::Major, CameraInfo::Revision::Minor, CameraInfo::SerialNumber, CameraInfo::UserData, CameraInfo::UserData::MaxSizeBytes > Descendants
Definition CameraInfo.h:1319
CameraInfo & set(const SerialNumber &value)
Set SerialNumber.
Definition CameraInfo.h:1598
std::string serialize() const
Serialize to a string.
HardwareRevision & hardwareRevision()
Get HardwareRevision.
Definition CameraInfo.h:1502
static ZIVID_NODISCARD CameraInfo fromSerialized(const std::string &value)
Construct a new CameraInfo instance from a previously serialized string.
const CameraInfo::SerialNumber & get() const
Definition CameraInfo.h:1681
const CameraInfo::Revision & get() const
Definition CameraInfo.h:1659
std::string toString() const
Get the value as string.
CameraInfo()
Default constructor.
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor.
Definition CameraInfo.h:1579
void save(const std::string &fileName) const
Save to the given file.
Class describing a range of values for a given type T.
Definition Range.h:73
NodeType
Definition NodeType.h:55
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:56