68# pragma warning(disable : 4251)
84 static constexpr const char *
path{
"" };
87 static constexpr const char *
name{
"CameraInfo" };
91 R
"description(Information about camera model, serial number etc.)description"
104 static constexpr std::array<uint8_t, 3> binaryId{
'n',
'f',
'o' };
118 static constexpr const char *
path{
"FirmwareVersion" };
121 static constexpr const char *
name{
"FirmwareVersion" };
124 static constexpr const char *
description{ R
"description(The firmware version on the camera)description" };
140 : m_value{ verifyValue(std::move(
value)) }
152 return m_value == other.m_value;
158 return m_value != other.m_value;
164 return m_value < other.m_value;
170 return m_value > other.m_value;
176 return m_value <= other.m_value;
182 return m_value >= other.m_value;
188 return stream <<
value.toString();
192 void setFromString(
const std::string &value);
194 ValueType
static verifyValue(ValueType &&value)
196 return validSize().isInRange(value.size())
198 : throw std::invalid_argument{
"Invalid FirmwareVersion size=" + std::to_string(value.size())
199 +
", valid size is {'max': 256}" };
202 std::string m_value{};
219 static constexpr const char *
path{
"HardwareRevision" };
222 static constexpr const char *
name{
"HardwareRevision" };
226 R
"description(Hardware revision of this camera. This corresponds to the revision string that is printed on the product
245 : m_value{ verifyValue(std::move(
value)) }
257 return m_value == other.m_value;
263 return m_value != other.m_value;
269 return m_value < other.m_value;
275 return m_value > other.m_value;
281 return m_value <= other.m_value;
287 return m_value >= other.m_value;
293 return stream <<
value.toString();
297 void setFromString(
const std::string &value);
299 ValueType
static verifyValue(ValueType &&value)
301 return validSize().isInRange(value.size())
303 : throw std::invalid_argument{
"Invalid HardwareRevision size="
304 + std::to_string(value.size())
305 +
", valid size is {'max': 256}" };
308 std::string m_value{};
323 static constexpr const char *
path{
"Model" };
326 static constexpr const char *
name{
"Model" };
329 static constexpr const char *
description{ R
"description(The model of the camera)description" };
374 : m_value{ verifyValue(
value) }
392 return m_value == other.m_value;
398 return m_value != other.m_value;
404 return stream <<
value.toString();
408 void setFromString(
const std::string &value);
410 constexpr ValueType
static verifyValue(
const ValueType &value)
412 return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
413 || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
414 || value == ValueType::zividTwoL100 || value == ValueType::zivid2PlusM130
415 || value == ValueType::zivid2PlusM60 || value == ValueType::zivid2PlusL110
416 || value == ValueType::zivid2PlusMR130 || value == ValueType::zivid2PlusMR60
417 || value == ValueType::zivid2PlusLR110 || value == ValueType::zivid3XL250
419 :
throw std::invalid_argument{
420 "Invalid value: Model{ "
421 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
427 friend struct DataModel::Detail::Befriend<
Model>;
442 static constexpr const char *
path{
"ModelName" };
445 static constexpr const char *
name{
"ModelName" };
449 R
"description(The model name of the camera. This is a user-friendly display name that may contain spaces and special
450characters. We recommend to use `Model` instead if you want to programmatically check for camera model.
468 : m_value{ verifyValue(std::move(
value)) }
480 return m_value == other.m_value;
486 return m_value != other.m_value;
492 return m_value < other.m_value;
498 return m_value > other.m_value;
504 return m_value <= other.m_value;
510 return m_value >= other.m_value;
516 return stream <<
value.toString();
520 void setFromString(
const std::string &value);
522 ValueType
static verifyValue(ValueType &&value)
524 return validSize().isInRange(value.size())
526 : throw std::invalid_argument{
"Invalid ModelName size=" + std::to_string(value.size())
527 +
", valid size is {'max': 256}" };
530 std::string m_value{};
532 friend struct DataModel::Detail::Befriend<
ModelName>;
547 static constexpr const char *
path{
"Revision" };
550 static constexpr const char *
name{
"Revision" };
554 R
"description(Major/Minor hardware revision number. This field is deprecated and may be removed in a future version
555of the SDK. Please use HardwareRevision instead.
571 static constexpr const char *
path{
"Revision/Major" };
574 static constexpr const char *
name{
"Major" };
578 R
"description(Major hardware revision number. This field is deprecated and may be removed in a future version
579of the SDK. Please use HardwareRevision instead.
589 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
609 return m_value == other.m_value;
615 return m_value != other.m_value;
621 return m_value < other.m_value;
627 return m_value > other.m_value;
633 return m_value <= other.m_value;
639 return m_value >= other.m_value;
645 return stream <<
value.toString();
649 void setFromString(
const std::string &value);
651 uint32_t m_value{ 0 };
653 friend struct DataModel::Detail::Befriend<
Major>;
668 static constexpr const char *
path{
"Revision/Minor" };
671 static constexpr const char *
name{
"Minor" };
675 R
"description(Minor hardware revision number. This field is deprecated and may be removed in a future version
676of the SDK. Please use HardwareRevision instead.
686 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
706 return m_value == other.m_value;
712 return m_value != other.m_value;
718 return m_value < other.m_value;
724 return m_value > other.m_value;
730 return m_value <= other.m_value;
736 return m_value >= other.m_value;
742 return stream <<
value.toString();
746 void setFromString(
const std::string &value);
748 uint32_t m_value{ 0 };
750 friend struct DataModel::Detail::Befriend<
Minor>;
753 using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
773 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
774 typename std::enable_if<
775 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
779 template<typename... Args>
783 using namespace Zivid::Detail::TypeTraits;
786 AllArgsDecayedAreUnique<Args...>::value,
787 "Found duplicate types among the arguments passed to Revision(...). "
788 "Types should be listed at most once.");
790 set(std::forward<Args>(args)...);
805 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
807 template<typename... Args>
811 using namespace Zivid::Detail::TypeTraits;
813 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
815 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
818 AllArgsDecayedAreUnique<Args...>::value,
819 "Found duplicate types among the arguments passed to set(...). "
820 "Types should be listed at most once.");
822 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
838 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
840 template<typename... Args>
844 using namespace Zivid::Detail::TypeTraits;
846 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
848 AllArgsAreDescendantNodes::value,
849 "All arguments passed to copyWith(...) must be descendant nodes.");
852 AllArgsDecayedAreUnique<Args...>::value,
853 "Found duplicate types among the arguments passed to copyWith(...). "
854 "Types should be listed at most once.");
857 copy.set(std::forward<Args>(args)...);
901 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
909 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
915 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
921 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
959 void setFromString(
const std::string &value);
961 void setFromString(
const std::string &fullPath,
const std::string &value);
963 std::string getString(
const std::string &fullPath)
const;
968 friend struct DataModel::Detail::Befriend<
Revision>;
981 static constexpr const char *
path{
"SerialNumber" };
984 static constexpr const char *
name{
"SerialNumber" };
987 static constexpr const char *
description{ R
"description(The serial number of the camera)description" };
1003 : m_value{ verifyValue(std::move(
value)) }
1015 return m_value == other.m_value;
1021 return m_value != other.m_value;
1027 return m_value < other.m_value;
1033 return m_value > other.m_value;
1039 return m_value <= other.m_value;
1045 return m_value >= other.m_value;
1051 return stream <<
value.toString();
1055 void setFromString(
const std::string &value);
1057 ValueType
static verifyValue(ValueType &&value)
1059 return validSize().isInRange(value.size())
1061 : throw std::invalid_argument{
"Invalid SerialNumber size=" + std::to_string(value.size())
1062 +
", valid size is {'max': 256}" };
1065 std::string m_value{};
1067 friend struct DataModel::Detail::Befriend<
SerialNumber>;
1080 static constexpr const char *
path{
"UserData" };
1083 static constexpr const char *
name{
"UserData" };
1087 R
"description(Information about user data capabilities of the camera)description"
1100 static constexpr const char *
path{
"UserData/MaxSizeBytes" };
1103 static constexpr const char *
name{
"MaxSizeBytes" };
1107 R
"description(The maximum number of bytes of user data that can be stored in the camera)description"
1116 return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
1136 return m_value == other.m_value;
1142 return m_value != other.m_value;
1148 return m_value < other.m_value;
1154 return m_value > other.m_value;
1160 return m_value <= other.m_value;
1166 return m_value >= other.m_value;
1172 return stream <<
value.toString();
1176 void setFromString(
const std::string &value);
1178 uint64_t m_value{ 0 };
1180 friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
1202 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1203 typename std::enable_if<
1204 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1208 template<typename... Args>
1212 using namespace Zivid::Detail::TypeTraits;
1215 AllArgsDecayedAreUnique<Args...>::value,
1216 "Found duplicate types among the arguments passed to UserData(...). "
1217 "Types should be listed at most once.");
1219 set(std::forward<Args>(args)...);
1233 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1235 template<typename... Args>
1239 using namespace Zivid::Detail::TypeTraits;
1241 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1243 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1246 AllArgsDecayedAreUnique<Args...>::value,
1247 "Found duplicate types among the arguments passed to set(...). "
1248 "Types should be listed at most once.");
1250 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1265 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1267 template<typename... Args>
1271 using namespace Zivid::Detail::TypeTraits;
1273 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1275 AllArgsAreDescendantNodes::value,
1276 "All arguments passed to copyWith(...) must be descendant nodes.");
1279 AllArgsDecayedAreUnique<Args...>::value,
1280 "Found duplicate types among the arguments passed to copyWith(...). "
1281 "Types should be listed at most once.");
1284 copy.set(std::forward<Args>(args)...);
1291 return m_maxSizeBytes;
1297 return m_maxSizeBytes;
1303 m_maxSizeBytes = value;
1309 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1312 return m_maxSizeBytes;
1315 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1318 return m_maxSizeBytes;
1322 template<
typename F>
1329 template<
typename F>
1351 void setFromString(
const std::string &value);
1353 void setFromString(
const std::string &fullPath,
const std::string &value);
1355 std::string getString(
const std::string &fullPath)
const;
1359 friend struct DataModel::Detail::Befriend<
UserData>;
1417 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1418 typename std::enable_if<
1419 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1422 template<typename... Args>
1426 using namespace Zivid::Detail::TypeTraits;
1429 AllArgsDecayedAreUnique<Args...>::value,
1430 "Found duplicate types among the arguments passed to CameraInfo(...). "
1431 "Types should be listed at most once.");
1433 set(std::forward<Args>(args)...);
1456 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1458 template<typename... Args>
1462 using namespace Zivid::Detail::TypeTraits;
1464 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1466 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1469 AllArgsDecayedAreUnique<Args...>::value,
1470 "Found duplicate types among the arguments passed to set(...). "
1471 "Types should be listed at most once.");
1473 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1497 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1499 template<typename... Args>
1503 using namespace Zivid::Detail::TypeTraits;
1505 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1507 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1510 AllArgsDecayedAreUnique<Args...>::value,
1511 "Found duplicate types among the arguments passed to copyWith(...). "
1512 "Types should be listed at most once.");
1515 copy.set(std::forward<Args>(args)...);
1522 return m_firmwareVersion;
1528 return m_firmwareVersion;
1534 m_firmwareVersion = value;
1541 return m_hardwareRevision;
1547 return m_hardwareRevision;
1553 m_hardwareRevision = value;
1591 m_modelName = value;
1617 m_revision.
set(value);
1624 m_revision.
set(value);
1631 return m_serialNumber;
1637 return m_serialNumber;
1643 m_serialNumber = value;
1669 m_userData.
set(value);
1675 typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value,
int>::type = 0>
1678 return m_firmwareVersion;
1683 typename std::enable_if<std::is_same<T, CameraInfo::HardwareRevision>::value,
int>::type = 0>
1686 return m_hardwareRevision;
1689 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value,
int>::type = 0>
1695 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value,
int>::type = 0>
1701 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value,
int>::type = 0>
1709 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
1717 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
1723 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value,
int>::type = 0>
1726 return m_serialNumber;
1729 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value,
int>::type = 0>
1737 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1743 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1746 return m_firmwareVersion;
1749 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1752 return m_hardwareRevision;
1755 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1761 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1767 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1773 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
1776 return m_serialNumber;
1779 template<size_t i, typename std::enable_if<i == 6, int>::type = 0>
1786 template<
typename F>
1789 f(m_firmwareVersion);
1790 f(m_hardwareRevision);
1799 template<
typename F>
1802 f(m_firmwareVersion);
1803 f(m_hardwareRevision);
1827 void save(
const std::string &fileName)
const;
1830 void load(
const std::string &fileName);
1833 void setFromString(
const std::string &value);
1835 void setFromString(
const std::string &fullPath,
const std::string &value);
1837 std::string getString(
const std::string &fullPath)
const;
1847 friend struct DataModel::Detail::Befriend<
CameraInfo>;
1852 struct CameraInfo::Version<7>
1865 ZIVID_CORE_EXPORT void save(
const Zivid::CameraInfo &dataModel, std::ostream &ostream);
1866 ZIVID_CORE_EXPORT void load(Zivid::CameraInfo &dataModel, std::istream &istream);
1868 ZIVID_CORE_EXPORT std::vector<uint8_t> serializeToBinaryVector(
const Zivid::CameraInfo &source);
1869 ZIVID_CORE_EXPORT void deserializeFromBinaryVector(Zivid::CameraInfo &dest,
const std::vector<uint8_t> &data);
1875# pragma warning(pop)
1879# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1884 struct tuple_size<Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
1888 struct tuple_element<i, Zivid::CameraInfo::Revision>
1890 static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value,
"Index must be less than 2");
1893 =
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
1897 struct tuple_size<Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
1901 struct tuple_element<i, Zivid::CameraInfo::UserData>
1903 static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value,
"Index must be less than 1");
1906 =
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
1910 struct tuple_size<Zivid::CameraInfo> : integral_constant<size_t, 7>
1914 struct tuple_element<i, Zivid::CameraInfo>
1916 static_assert(i < tuple_size<Zivid::CameraInfo>::value,
"Index must be less than 7");
1919 =
decltype(declval<Zivid::CameraInfo>().get<i>());
1928#if defined(__has_include) && !defined(NO_DOC)
1929# if __has_include("Zivid/CameraInfoInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
1930# include "Zivid/CameraInfoInternal.h"
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
The firmware version on the camera.
Definition CameraInfo.h:112
std::string toString() const
Get the value as string.
bool operator==(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:150
FirmwareVersion(std::string value)
Constructor.
Definition CameraInfo.h:139
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:118
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for FirmwareVersion.
Definition CameraInfo.h:130
bool operator<(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:162
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:124
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:115
bool operator<=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:174
bool operator>=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:180
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:186
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:121
bool operator>(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:168
bool operator!=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:156
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:127
FirmwareVersion()=default
Default constructor.
Hardware revision of this camera. This corresponds to the revision string that is printed on the prod...
Definition CameraInfo.h:213
HardwareRevision()=default
Default constructor.
bool operator!=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:261
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:225
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:216
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:222
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for HardwareRevision.
Definition CameraInfo.h:235
bool operator==(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:255
bool operator>(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:273
const std::string & value() const
Get the value.
bool operator<(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:267
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:219
friend std::ostream & operator<<(std::ostream &stream, const HardwareRevision &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:291
HardwareRevision(std::string value)
Constructor.
Definition CameraInfo.h:244
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:232
bool operator<=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:279
bool operator>=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:285
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:436
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:439
bool operator==(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:478
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:448
ModelName()=default
Default constructor.
bool operator<=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:502
std::string toString() const
Get the value as string.
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:445
ModelName(std::string value)
Constructor.
Definition CameraInfo.h:467
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:455
bool operator<(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:490
bool operator>(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:496
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:442
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:514
const std::string & value() const
Get the value.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName.
Definition CameraInfo.h:458
bool operator>=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:508
bool operator!=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:484
The model of the camera.
Definition CameraInfo.h:317
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition CameraInfo.h:347
static const Model zivid2PlusMR60
zivid2PlusMR60
Definition CameraInfo.h:356
static const Model zivid2PlusM130
zivid2PlusM130
Definition CameraInfo.h:352
static const Model zivid3XL250
zivid3XL250
Definition CameraInfo.h:358
static const Model zividTwo
zividTwo
Definition CameraInfo.h:350
static const Model zivid2PlusL110
zivid2PlusL110
Definition CameraInfo.h:354
std::string toString() const
Get the value as string.
constexpr Model(ValueType value)
Constructor.
Definition CameraInfo.h:373
Model()=default
Default constructor.
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition CameraInfo.h:348
ValueType value() const
Get the value.
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:326
friend std::ostream & operator<<(std::ostream &stream, const Model::ValueType &value)
Operator to serialize ValueType to a stream.
Definition CameraInfo.h:384
static const Model zivid2PlusM60
zivid2PlusM60
Definition CameraInfo.h:353
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:402
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:329
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:320
static const Model zivid2PlusLR110
zivid2PlusLR110
Definition CameraInfo.h:357
static std::set< ValueType > validValues()
All valid values of Model.
Definition CameraInfo.h:361
ValueType
The type of the underlying value.
Definition CameraInfo.h:333
@ zivid2PlusMR60
Definition CameraInfo.h:343
@ zividOnePlusLarge
Definition CameraInfo.h:336
@ zivid2PlusM130
Definition CameraInfo.h:339
@ zividOnePlusSmall
Definition CameraInfo.h:334
@ zividOnePlusMedium
Definition CameraInfo.h:335
@ zivid2PlusM60
Definition CameraInfo.h:340
@ zivid2PlusMR130
Definition CameraInfo.h:342
@ zividTwo
Definition CameraInfo.h:337
@ zivid3XL250
Definition CameraInfo.h:345
@ zivid2PlusLR110
Definition CameraInfo.h:344
@ zividTwoL100
Definition CameraInfo.h:338
@ zivid2PlusL110
Definition CameraInfo.h:341
static const Model zivid2PlusMR130
zivid2PlusMR130
Definition CameraInfo.h:355
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition CameraInfo.h:349
bool operator!=(const Model &other) const
Comparison operator.
Definition CameraInfo.h:396
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:323
static const Model zividTwoL100
zividTwoL100
Definition CameraInfo.h:351
bool operator==(const Model &other) const
Comparison operator.
Definition CameraInfo.h:390
Major hardware revision number. This field is deprecated and may be removed in a future version of th...
Definition CameraInfo.h:565
std::string toString() const
Get the value as string.
bool operator!=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:613
uint32_t ValueType
The type of the underlying value.
Definition CameraInfo.h:584
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:643
static constexpr Range< uint32_t > validRange()
The range of valid values for Major.
Definition CameraInfo.h:587
bool operator>=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:637
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:574
bool operator<=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:631
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:571
bool operator>(const Major &other) const
Comparison operator.
Definition CameraInfo.h:625
uint32_t value() const
Get the value.
constexpr Major(uint32_t value)
Constructor.
Definition CameraInfo.h:596
bool operator<(const Major &other) const
Comparison operator.
Definition CameraInfo.h:619
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:568
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:577
Major()=default
Default constructor.
bool operator==(const Major &other) const
Comparison operator.
Definition CameraInfo.h:607
Minor hardware revision number. This field is deprecated and may be removed in a future version of th...
Definition CameraInfo.h:662
bool operator>(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:722
bool operator!=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:710
bool operator<=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:728
constexpr Minor(uint32_t value)
Constructor.
Definition CameraInfo.h:693
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:665
uint32_t ValueType
The type of the underlying value.
Definition CameraInfo.h:681
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:740
bool operator==(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:704
std::string toString() const
Get the value as string.
Minor()=default
Default constructor.
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:668
bool operator>=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:734
bool operator<(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:716
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor.
Definition CameraInfo.h:684
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:671
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:674
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:541
const Major & major() const
Get Major.
Definition CameraInfo.h:862
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:842
Minor & minor()
Get Minor.
Definition CameraInfo.h:887
Revision & set(const Minor &value)
Set Minor.
Definition CameraInfo.h:893
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition CameraInfo.h:753
Revision & set(const Major &value)
Set Major.
Definition CameraInfo.h:874
bool operator==(const Revision &other) const
Equality operator.
const CameraInfo::Revision::Minor & get() const
Definition CameraInfo.h:910
std::string toString() const
Get the value as string.
const Minor & minor() const
Get Minor.
Definition CameraInfo.h:881
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:547
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:553
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:937
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:550
Major & major()
Get Major.
Definition CameraInfo.h:868
const CameraInfo::Revision::Major & get() const
Definition CameraInfo.h:902
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:929
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:953
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:544
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:809
bool operator!=(const Revision &other) const
Inequality operator.
The serial number of the camera.
Definition CameraInfo.h:975
SerialNumber(std::string value)
Constructor.
Definition CameraInfo.h:1002
const std::string & value() const
Get the value.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:978
bool operator==(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1013
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:981
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:990
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:987
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:1049
std::string toString() const
Get the value as string.
bool operator>(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1031
bool operator<(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1025
bool operator<=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1037
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber.
Definition CameraInfo.h:993
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:984
bool operator>=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1043
bool operator!=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1019
The maximum number of bytes of user data that can be stored in the camera.
Definition CameraInfo.h:1094
bool operator!=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1140
bool operator<=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1158
bool operator>(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1152
MaxSizeBytes()=default
Default constructor.
constexpr MaxSizeBytes(uint64_t value)
Constructor.
Definition CameraInfo.h:1123
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:1103
uint64_t value() const
Get the value.
bool operator<(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1146
bool operator==(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1134
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:1170
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:1100
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes.
Definition CameraInfo.h:1114
uint64_t ValueType
The type of the underlying value.
Definition CameraInfo.h:1111
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:1097
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:1106
bool operator>=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1164
Information about user data capabilities of the camera.
Definition CameraInfo.h:1074
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:1330
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:1086
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes.
Definition CameraInfo.h:1295
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:1083
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:1269
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:1345
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:1323
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition CameraInfo.h:1310
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition CameraInfo.h:1183
bool operator!=(const UserData &other) const
Inequality operator.
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:1080
UserData()
Default constructor.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:1077
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes.
Definition CameraInfo.h:1289
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes.
Definition CameraInfo.h:1301
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:1237
Information about camera model, serial number etc.
Definition CameraInfo.h:78
bool operator==(const CameraInfo &other) const
Equality operator.
static CameraInfo fromSerialized(const std::string &value)
Construct a new CameraInfo instance from a previously serialized string.
Revision & revision()
Get Revision.
Definition CameraInfo.h:1602
const ModelName & modelName() const
Get ModelName.
Definition CameraInfo.h:1577
FirmwareVersion & firmwareVersion()
Get FirmwareVersion.
Definition CameraInfo.h:1526
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1800
const UserData & userData() const
Get UserData.
Definition CameraInfo.h:1648
ModelName & modelName()
Get ModelName.
Definition CameraInfo.h:1583
bool operator!=(const CameraInfo &other) const
Inequality operator.
CameraInfo & set(const Model &value)
Set Model.
Definition CameraInfo.h:1570
const CameraInfo::FirmwareVersion & get() const
Definition CameraInfo.h:1676
const CameraInfo::Model & get() const
Definition CameraInfo.h:1690
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file.
UserData & userData()
Get UserData.
Definition CameraInfo.h:1654
static constexpr const char * description
The description for this value.
Definition CameraInfo.h:90
CameraInfo & set(const ModelName &value)
Set ModelName.
Definition CameraInfo.h:1589
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion.
Definition CameraInfo.h:1520
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition CameraInfo.h:1738
const Model & model() const
Get Model.
Definition CameraInfo.h:1558
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:1501
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:1787
Model & model()
Get Model.
Definition CameraInfo.h:1564
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:1821
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraInfo.h:81
const CameraInfo::ModelName & get() const
Definition CameraInfo.h:1696
CameraInfo & set(const UserData &value)
Set UserData.
Definition CameraInfo.h:1660
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes.
Definition CameraInfo.h:1667
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments.
Definition CameraInfo.h:1424
const CameraInfo::UserData & get() const
Definition CameraInfo.h:1730
const CameraInfo::Revision::Minor & get() const
Definition CameraInfo.h:1718
const SerialNumber & serialNumber() const
Get SerialNumber.
Definition CameraInfo.h:1629
SerialNumber & serialNumber()
Get SerialNumber.
Definition CameraInfo.h:1635
const Revision & revision() const
Get Revision.
Definition CameraInfo.h:1596
CameraInfo & set(const HardwareRevision &value)
Set HardwareRevision.
Definition CameraInfo.h:1551
const CameraInfo::HardwareRevision & get() const
Definition CameraInfo.h:1684
static constexpr const char * path
The full path for this value.
Definition CameraInfo.h:84
void load(const std::string &fileName)
Load from the given file.
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion.
Definition CameraInfo.h:1532
const CameraInfo::Revision::Major & get() const
Definition CameraInfo.h:1710
const HardwareRevision & hardwareRevision() const
Get HardwareRevision.
Definition CameraInfo.h:1539
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:1460
CameraInfo & set(const Revision &value)
Set Revision.
Definition CameraInfo.h:1608
CameraInfo & set(const Revision::Major &value)
Set Revision::Major.
Definition CameraInfo.h:1615
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:1362
CameraInfo & set(const SerialNumber &value)
Set SerialNumber.
Definition CameraInfo.h:1641
std::string serialize() const
Serialize to a string.
HardwareRevision & hardwareRevision()
Get HardwareRevision.
Definition CameraInfo.h:1545
const CameraInfo::SerialNumber & get() const
Definition CameraInfo.h:1724
const CameraInfo::Revision & get() const
Definition CameraInfo.h:1702
std::string toString() const
Get the value as string.
static constexpr const char * name
The name of this value.
Definition CameraInfo.h:87
static constexpr size_t version
Definition CameraInfo.h:94
CameraInfo()
Default constructor.
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor.
Definition CameraInfo.h:1622
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:75
NodeType
Definition NodeType.h:49
@ leafValue
Definition NodeType.h:52
@ group
Definition NodeType.h:50
Definition EnvironmentInfo.h:74
Get version information for the library.
Definition Version.h:58
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:84