68# pragma warning(disable : 4251)
84 static constexpr const char *path{
"" };
87 static constexpr const char *name{
"FrameInfo" };
90 static constexpr const char *description{ R
"description(Various information for a frame)description" };
92 static constexpr size_t version{ 4 };
102 static constexpr std::array<uint8_t, 3> binaryId{
'f',
'i',
'f' };
116 static constexpr const char *path{
"Metrics" };
119 static constexpr const char *name{
"Metrics" };
122 static constexpr const char *description{ R
"description(Metrics related to this capture.)description" };
138 static constexpr const char *path{
"Metrics/AcquisitionTime" };
141 static constexpr const char *name{
"AcquisitionTime" };
144 static constexpr const char *description{
145 R
"description(Acquisition Time is the duration from the start of the capture to when the camera has acquired the
146last image. After this time, the camera has finished its acquisition and you can move the robot,
147or capture with another camera with overlapping field of view. Acquisition Time is equal to the
148time it takes for the Camera::capture(settings) API function call to return.
158 return { std::chrono::microseconds::min(), std::chrono::microseconds::max() };
170 std::chrono::microseconds
value()
const;
178 return m_value == other.m_value;
184 return m_value != other.m_value;
190 return m_value < other.m_value;
196 return m_value > other.m_value;
202 return m_value <= other.m_value;
208 return m_value >= other.m_value;
218 void setFromString(
const std::string &value);
220 std::chrono::microseconds m_value{ -1 };
238 static constexpr const char *path{
"Metrics/CaptureTime" };
241 static constexpr const char *name{
"CaptureTime" };
244 static constexpr const char *description{
245 R
"description(Capture Time is the duration from the start of the capture to when all of the data transfer and
246processing has completed. After this time the 3D point cloud and/or 2D color image is ready and
247available on the GPU memory, and can be copied to the system memory (RAM).
257 return { std::chrono::microseconds::min(), std::chrono::microseconds::max() };
269 std::chrono::microseconds
value()
const;
277 return m_value == other.m_value;
283 return m_value != other.m_value;
289 return m_value < other.m_value;
295 return m_value > other.m_value;
301 return m_value <= other.m_value;
307 return m_value >= other.m_value;
317 void setFromString(
const std::string &value);
319 std::chrono::microseconds m_value{ -1 };
321 friend struct DataModel::Detail::Befriend<
CaptureTime>;
324 using Descendants = std::tuple<FrameInfo::Metrics::AcquisitionTime, FrameInfo::Metrics::CaptureTime>;
344 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
345 typename std::enable_if<
346 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
350 template<typename... Args>
354 using namespace Zivid::Detail::TypeTraits;
357 AllArgsDecayedAreUnique<Args...>::value,
358 "Found duplicate types among the arguments passed to Metrics(...). "
359 "Types should be listed at most once.");
361 set(std::forward<Args>(args)...);
376 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
378 template<typename... Args>
382 using namespace Zivid::Detail::TypeTraits;
384 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
386 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
389 AllArgsDecayedAreUnique<Args...>::value,
390 "Found duplicate types among the arguments passed to set(...). "
391 "Types should be listed at most once.");
393 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
409 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
411 template<typename... Args>
415 using namespace Zivid::Detail::TypeTraits;
417 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
419 AllArgsAreDescendantNodes::value,
420 "All arguments passed to copyWith(...) must be descendant nodes.");
423 AllArgsDecayedAreUnique<Args...>::value,
424 "Found duplicate types among the arguments passed to copyWith(...). "
425 "Types should be listed at most once.");
428 copy.set(std::forward<Args>(args)...);
435 return m_acquisitionTime;
441 return m_acquisitionTime;
447 m_acquisitionTime = value;
454 return m_captureTime;
460 return m_captureTime;
466 m_captureTime = value;
472 typename std::enable_if<std::is_same<T, FrameInfo::Metrics::AcquisitionTime>::value,
int>::type = 0>
475 return m_acquisitionTime;
480 typename std::enable_if<std::is_same<T, FrameInfo::Metrics::CaptureTime>::value,
int>::type = 0>
483 return m_captureTime;
486 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
489 return m_acquisitionTime;
492 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
495 return m_captureTime;
502 f(m_acquisitionTime);
510 f(m_acquisitionTime);
530 void setFromString(
const std::string &value);
532 void setFromString(
const std::string &fullPath,
const std::string &value);
534 std::string getString(
const std::string &fullPath)
const;
536 AcquisitionTime m_acquisitionTime;
539 friend struct DataModel::Detail::Befriend<
Metrics>;
552 static constexpr const char *path{
"SoftwareVersion" };
555 static constexpr const char *name{
"SoftwareVersion" };
558 static constexpr const char *description{
559 R
"description(The version information for installed software at the time of image capture)description"
572 static constexpr const char *path{
"SoftwareVersion/Core" };
575 static constexpr const char *name{
"Core" };
578 static constexpr const char *description{ R
"description(Core version)description" };
586 return { 0, std::numeric_limits<ValueType::size_type>::max() };
593 explicit Core(std::string value)
594 : m_value{ std::move(value) }
606 return m_value == other.m_value;
612 return m_value != other.m_value;
618 return m_value < other.m_value;
624 return m_value > other.m_value;
630 return m_value <= other.m_value;
636 return m_value >= other.m_value;
646 void setFromString(
const std::string &value);
648 std::string m_value{
"No-version" };
650 friend struct DataModel::Detail::Befriend<
Core>;
672 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
673 typename std::enable_if<
674 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
678 template<typename... Args>
682 using namespace Zivid::Detail::TypeTraits;
685 AllArgsDecayedAreUnique<Args...>::value,
686 "Found duplicate types among the arguments passed to SoftwareVersion(...). "
687 "Types should be listed at most once.");
689 set(std::forward<Args>(args)...);
703 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
705 template<typename... Args>
709 using namespace Zivid::Detail::TypeTraits;
711 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
713 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
716 AllArgsDecayedAreUnique<Args...>::value,
717 "Found duplicate types among the arguments passed to set(...). "
718 "Types should be listed at most once.");
720 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
735 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
737 template<typename... Args>
741 using namespace Zivid::Detail::TypeTraits;
743 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
745 AllArgsAreDescendantNodes::value,
746 "All arguments passed to copyWith(...) must be descendant nodes.");
749 AllArgsDecayedAreUnique<Args...>::value,
750 "Found duplicate types among the arguments passed to copyWith(...). "
751 "Types should be listed at most once.");
754 copy.set(std::forward<Args>(args)...);
779 typename std::enable_if<std::is_same<T, FrameInfo::SoftwareVersion::Core>::value,
int>::type = 0>
785 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
821 void setFromString(
const std::string &value);
823 void setFromString(
const std::string &fullPath,
const std::string &value);
825 std::string getString(
const std::string &fullPath)
const;
842 static constexpr const char *path{
"SystemInfo" };
845 static constexpr const char *name{
"SystemInfo" };
848 static constexpr const char *description{
849 R
"description(Information about the system that captured this frame)description"
862 static constexpr const char *path{
"SystemInfo/CPU" };
865 static constexpr const char *name{
"CPU" };
868 static constexpr const char *description{ R
"description(CPU)description" };
880 static constexpr const char *path{
"SystemInfo/CPU/Model" };
883 static constexpr const char *name{
"Model" };
886 static constexpr const char *description{ R
"description(CPU model)description" };
894 return { 0, std::numeric_limits<ValueType::size_type>::max() };
902 : m_value{ std::move(value) }
914 return m_value == other.m_value;
920 return m_value != other.m_value;
926 return m_value < other.m_value;
932 return m_value > other.m_value;
938 return m_value <= other.m_value;
944 return m_value >= other.m_value;
954 void setFromString(
const std::string &value);
956 std::string m_value{};
958 friend struct DataModel::Detail::Befriend<
Model>;
961 using Descendants = std::tuple<FrameInfo::SystemInfo::CPU::Model>;
980 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
981 typename std::enable_if<
982 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
986 template<typename... Args>
988 explicit
CPU(Args &&...args)
990 using namespace Zivid::Detail::TypeTraits;
993 AllArgsDecayedAreUnique<Args...>::value,
994 "Found duplicate types among the arguments passed to CPU(...). "
995 "Types should be listed at most once.");
997 set(std::forward<Args>(args)...);
1011 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1013 template<typename... Args>
1017 using namespace Zivid::Detail::TypeTraits;
1019 using AllArgsAreDescendantNodes =
1020 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1022 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1025 AllArgsDecayedAreUnique<Args...>::value,
1026 "Found duplicate types among the arguments passed to set(...). "
1027 "Types should be listed at most once.");
1029 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1044 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1046 template<typename... Args>
1050 using namespace Zivid::Detail::TypeTraits;
1052 using AllArgsAreDescendantNodes =
1053 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1055 AllArgsAreDescendantNodes::value,
1056 "All arguments passed to copyWith(...) must be descendant nodes.");
1059 AllArgsDecayedAreUnique<Args...>::value,
1060 "Found duplicate types among the arguments passed to copyWith(...). "
1061 "Types should be listed at most once.");
1064 copy.set(std::forward<Args>(args)...);
1089 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU::Model>::value,
int>::type = 0>
1095 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1102 template<
typename F>
1109 template<
typename F>
1131 void setFromString(
const std::string &value);
1133 void setFromString(
const std::string &fullPath,
const std::string &value);
1135 std::string getString(
const std::string &fullPath)
const;
1139 friend struct DataModel::Detail::Befriend<
CPU>;
1152 static constexpr const char *path{
"SystemInfo/ComputeDevice" };
1155 static constexpr const char *name{
"ComputeDevice" };
1158 static constexpr const char *description{ R
"description(Compute device)description" };
1170 static constexpr const char *path{
"SystemInfo/ComputeDevice/Model" };
1173 static constexpr const char *name{
"Model" };
1176 static constexpr const char *description{ R
"description(Compute device model)description" };
1184 return { 0, std::numeric_limits<ValueType::size_type>::max() };
1192 : m_value{ std::move(value) }
1204 return m_value == other.m_value;
1210 return m_value != other.m_value;
1216 return m_value < other.m_value;
1222 return m_value > other.m_value;
1228 return m_value <= other.m_value;
1234 return m_value >= other.m_value;
1244 void setFromString(
const std::string &value);
1246 std::string m_value{};
1248 friend struct DataModel::Detail::Befriend<
Model>;
1261 static constexpr const char *path{
"SystemInfo/ComputeDevice/Vendor" };
1264 static constexpr const char *name{
"Vendor" };
1267 static constexpr const char *description{ R
"description(Compute device vendor)description" };
1275 return { 0, std::numeric_limits<ValueType::size_type>::max() };
1283 : m_value{ std::move(value) }
1295 return m_value == other.m_value;
1301 return m_value != other.m_value;
1307 return m_value < other.m_value;
1313 return m_value > other.m_value;
1319 return m_value <= other.m_value;
1325 return m_value >= other.m_value;
1335 void setFromString(
const std::string &value);
1337 std::string m_value{};
1339 friend struct DataModel::Detail::Befriend<
Vendor>;
1343 tuple<FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor>;
1363 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1364 typename std::enable_if<
1365 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1369 template<typename... Args>
1373 using namespace Zivid::Detail::TypeTraits;
1376 AllArgsDecayedAreUnique<Args...>::value,
1377 "Found duplicate types among the arguments passed to ComputeDevice(...). "
1378 "Types should be listed at most once.");
1380 set(std::forward<Args>(args)...);
1395 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1397 template<typename... Args>
1401 using namespace Zivid::Detail::TypeTraits;
1403 using AllArgsAreDescendantNodes =
1404 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1406 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1409 AllArgsDecayedAreUnique<Args...>::value,
1410 "Found duplicate types among the arguments passed to set(...). "
1411 "Types should be listed at most once.");
1413 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1429 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1431 template<typename... Args>
1435 using namespace Zivid::Detail::TypeTraits;
1437 using AllArgsAreDescendantNodes =
1438 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1440 AllArgsAreDescendantNodes::value,
1441 "All arguments passed to copyWith(...) must be descendant nodes.");
1444 AllArgsDecayedAreUnique<Args...>::value,
1445 "Found duplicate types among the arguments passed to copyWith(...). "
1446 "Types should be listed at most once.");
1449 copy.set(std::forward<Args>(args)...);
1493 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Model>::value,
int>::
1502 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Vendor>::value,
int>::
1509 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1515 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1522 template<
typename F>
1530 template<
typename F>
1553 void setFromString(
const std::string &value);
1555 void setFromString(
const std::string &fullPath,
const std::string &value);
1557 std::string getString(
const std::string &fullPath)
const;
1575 static constexpr const char *path{
"SystemInfo/OperatingSystem" };
1578 static constexpr const char *name{
"OperatingSystem" };
1581 static constexpr const char *description{ R
"description(Operating system)description" };
1589 return { 0, std::numeric_limits<ValueType::size_type>::max() };
1597 : m_value{ std::move(value) }
1609 return m_value == other.m_value;
1615 return m_value != other.m_value;
1621 return m_value < other.m_value;
1627 return m_value > other.m_value;
1633 return m_value <= other.m_value;
1639 return m_value >= other.m_value;
1649 void setFromString(
const std::string &value);
1651 std::string m_value{};
1686 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1687 typename std::enable_if<
1688 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1692 template<typename... Args>
1696 using namespace Zivid::Detail::TypeTraits;
1699 AllArgsDecayedAreUnique<Args...>::value,
1700 "Found duplicate types among the arguments passed to SystemInfo(...). "
1701 "Types should be listed at most once.");
1703 set(std::forward<Args>(args)...);
1722 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1724 template<typename... Args>
1728 using namespace Zivid::Detail::TypeTraits;
1730 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1732 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1735 AllArgsDecayedAreUnique<Args...>::value,
1736 "Found duplicate types among the arguments passed to set(...). "
1737 "Types should be listed at most once.");
1739 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1759 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1761 template<typename... Args>
1765 using namespace Zivid::Detail::TypeTraits;
1767 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1769 AllArgsAreDescendantNodes::value,
1770 "All arguments passed to copyWith(...) must be descendant nodes.");
1773 AllArgsDecayedAreUnique<Args...>::value,
1774 "Found duplicate types among the arguments passed to copyWith(...). "
1775 "Types should be listed at most once.");
1778 copy.set(std::forward<Args>(args)...);
1811 return m_computeDevice;
1817 return m_computeDevice;
1823 m_computeDevice = value;
1830 m_computeDevice.
set(value);
1837 m_computeDevice.
set(value);
1844 return m_operatingSystem;
1850 return m_operatingSystem;
1856 m_operatingSystem = value;
1862 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU>::value,
int>::type = 0>
1870 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU::Model>::value,
int>::type = 0>
1878 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice>::value,
int>::type = 0>
1881 return m_computeDevice;
1886 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Model>::value,
int>::
1895 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Vendor>::value,
int>::
1904 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::OperatingSystem>::value,
int>::type = 0>
1907 return m_operatingSystem;
1910 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1916 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1919 return m_computeDevice;
1922 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1925 return m_operatingSystem;
1929 template<
typename F>
1934 f(m_operatingSystem);
1938 template<
typename F>
1943 f(m_operatingSystem);
1962 void setFromString(
const std::string &value);
1964 void setFromString(
const std::string &fullPath,
const std::string &value);
1966 std::string getString(
const std::string &fullPath)
const;
1972 friend struct DataModel::Detail::Befriend<
SystemInfo>;
1985 static constexpr const char *path{
"TimeStamp" };
1988 static constexpr const char *name{
"TimeStamp" };
1991 static constexpr const char *description{ R
"description(The time of frame capture)description" };
1999 return { std::chrono::system_clock::time_point::min(), std::chrono::system_clock::time_point::max() };
2006 explicit constexpr TimeStamp(std::chrono::system_clock::time_point value)
2011 std::chrono::system_clock::time_point
value()
const;
2019 return m_value == other.m_value;
2025 return m_value != other.m_value;
2031 return m_value < other.m_value;
2037 return m_value > other.m_value;
2043 return m_value <= other.m_value;
2049 return m_value >= other.m_value;
2059 void setFromString(
const std::string &value);
2061 std::chrono::system_clock::time_point m_value{};
2063 friend struct DataModel::Detail::Befriend<
TimeStamp>;
2127 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2128 typename std::enable_if<
2129 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
2132 template<typename... Args>
2136 using namespace Zivid::Detail::TypeTraits;
2139 AllArgsDecayedAreUnique<Args...>::value,
2140 "Found duplicate types among the arguments passed to FrameInfo(...). "
2141 "Types should be listed at most once.");
2143 set(std::forward<Args>(args)...);
2169 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2171 template<typename... Args>
2175 using namespace Zivid::Detail::TypeTraits;
2177 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2179 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2182 AllArgsDecayedAreUnique<Args...>::value,
2183 "Found duplicate types among the arguments passed to set(...). "
2184 "Types should be listed at most once.");
2186 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2213 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2215 template<typename... Args>
2219 using namespace Zivid::Detail::TypeTraits;
2221 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2223 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
2226 AllArgsDecayedAreUnique<Args...>::value,
2227 "Found duplicate types among the arguments passed to copyWith(...). "
2228 "Types should be listed at most once.");
2231 copy.set(std::forward<Args>(args)...);
2257 m_metrics.
set(value);
2264 m_metrics.
set(value);
2271 return m_softwareVersion;
2277 return m_softwareVersion;
2283 m_softwareVersion = value;
2290 m_softwareVersion.
set(value);
2297 return m_systemInfo;
2303 return m_systemInfo;
2309 m_systemInfo = value;
2316 m_systemInfo.
set(value);
2323 m_systemInfo.
set(value);
2330 m_systemInfo.
set(value);
2337 m_systemInfo.
set(value);
2344 m_systemInfo.
set(value);
2351 m_systemInfo.
set(value);
2370 m_timeStamp = value;
2374 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::Metrics>::value,
int>::type = 0>
2382 typename std::enable_if<std::is_same<T, FrameInfo::Metrics::AcquisitionTime>::value,
int>::type = 0>
2390 typename std::enable_if<std::is_same<T, FrameInfo::Metrics::CaptureTime>::value,
int>::type = 0>
2396 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::SoftwareVersion>::value,
int>::type = 0>
2399 return m_softwareVersion;
2404 typename std::enable_if<std::is_same<T, FrameInfo::SoftwareVersion::Core>::value,
int>::type = 0>
2410 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo>::value,
int>::type = 0>
2413 return m_systemInfo;
2416 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU>::value,
int>::type = 0>
2424 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU::Model>::value,
int>::type = 0>
2432 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice>::value,
int>::type = 0>
2440 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Model>::value,
int>::type = 0>
2448 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Vendor>::value,
int>::type =
2457 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::OperatingSystem>::value,
int>::type = 0>
2463 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::TimeStamp>::value,
int>::type = 0>
2469 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2475 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2478 return m_softwareVersion;
2481 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2484 return m_systemInfo;
2487 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
2494 template<
typename F>
2498 f(m_softwareVersion);
2504 template<
typename F>
2508 f(m_softwareVersion);
2529 void save(
const std::string &fileName)
const;
2532 void load(
const std::string &fileName);
2535 void setFromString(
const std::string &value);
2537 void setFromString(
const std::string &fullPath,
const std::string &value);
2539 std::string getString(
const std::string &fullPath)
const;
2546 friend struct DataModel::Detail::Befriend<
FrameInfo>;
2551 struct FrameInfo::Version<4>
2574# pragma warning(pop)
2578# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
2583 struct tuple_size<
Zivid::FrameInfo::Metrics> : integral_constant<size_t, 2>
2587 struct tuple_element<i,
Zivid::FrameInfo::Metrics>
2589 static_assert(i < tuple_size<Zivid::FrameInfo::Metrics>::value,
"Index must be less than 2");
2592 =
decltype(declval<Zivid::FrameInfo::Metrics>().get<i>());
2596 struct tuple_size<
Zivid::FrameInfo::SoftwareVersion> : integral_constant<size_t, 1>
2600 struct tuple_element<i,
Zivid::FrameInfo::SoftwareVersion>
2602 static_assert(i < tuple_size<Zivid::FrameInfo::SoftwareVersion>::value,
"Index must be less than 1");
2605 =
decltype(declval<Zivid::FrameInfo::SoftwareVersion>().get<i>());
2609 struct tuple_size<
Zivid::FrameInfo::SystemInfo> : integral_constant<size_t, 3>
2613 struct tuple_element<i,
Zivid::FrameInfo::SystemInfo>
2615 static_assert(i < tuple_size<Zivid::FrameInfo::SystemInfo>::value,
"Index must be less than 3");
2618 =
decltype(declval<Zivid::FrameInfo::SystemInfo>().get<i>());
2622 struct tuple_size<
Zivid::FrameInfo::SystemInfo::CPU> : integral_constant<size_t, 1>
2626 struct tuple_element<i,
Zivid::FrameInfo::SystemInfo::CPU>
2628 static_assert(i < tuple_size<Zivid::FrameInfo::SystemInfo::CPU>::value,
"Index must be less than 1");
2631 =
decltype(declval<Zivid::FrameInfo::SystemInfo::CPU>().get<i>());
2635 struct tuple_size<
Zivid::FrameInfo::SystemInfo::ComputeDevice> : integral_constant<size_t, 2>
2639 struct tuple_element<i,
Zivid::FrameInfo::SystemInfo::ComputeDevice>
2641 static_assert(i < tuple_size<Zivid::FrameInfo::SystemInfo::ComputeDevice>::value,
"Index must be less than 2");
2644 =
decltype(declval<Zivid::FrameInfo::SystemInfo::ComputeDevice>().get<i>());
2648 struct tuple_size<
Zivid::FrameInfo> : integral_constant<size_t, 4>
2652 struct tuple_element<i,
Zivid::FrameInfo>
2654 static_assert(i < tuple_size<Zivid::FrameInfo>::value,
"Index must be less than 4");
2657 =
decltype(declval<Zivid::FrameInfo>().get<i>());
2666#if defined(__has_include) && !defined(NO_DOC)
2667# if __has_include("Zivid/FrameInfoInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
2668# include "Zivid/FrameInfoInternal.h"
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
Contains information about the compute device used by Zivid::Application.
Definition ComputeDevice.h:58
Acquisition Time is the duration from the start of the capture to when the camera has acquired the la...
Definition FrameInfo.h:132
AcquisitionTime()=default
Default constructor.
bool operator<(const AcquisitionTime &other) const
Comparison operator.
Definition FrameInfo.h:188
bool operator<=(const AcquisitionTime &other) const
Comparison operator.
Definition FrameInfo.h:200
std::chrono::microseconds ValueType
The type of the underlying value.
Definition FrameInfo.h:153
bool operator>=(const AcquisitionTime &other) const
Comparison operator.
Definition FrameInfo.h:206
std::chrono::microseconds value() const
Get the value.
bool operator>(const AcquisitionTime &other) const
Comparison operator.
Definition FrameInfo.h:194
bool operator==(const AcquisitionTime &other) const
Comparison operator.
Definition FrameInfo.h:176
bool operator!=(const AcquisitionTime &other) const
Comparison operator.
Definition FrameInfo.h:182
constexpr AcquisitionTime(std::chrono::microseconds value)
Constructor.
Definition FrameInfo.h:165
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for AcquisitionTime.
Definition FrameInfo.h:156
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const AcquisitionTime &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:212
Capture Time is the duration from the start of the capture to when all of the data transfer and proce...
Definition FrameInfo.h:232
constexpr CaptureTime(std::chrono::microseconds value)
Constructor.
Definition FrameInfo.h:264
std::string toString() const
Get the value as string.
CaptureTime()=default
Default constructor.
bool operator<(const CaptureTime &other) const
Comparison operator.
Definition FrameInfo.h:287
std::chrono::microseconds ValueType
The type of the underlying value.
Definition FrameInfo.h:252
bool operator>(const CaptureTime &other) const
Comparison operator.
Definition FrameInfo.h:293
bool operator==(const CaptureTime &other) const
Comparison operator.
Definition FrameInfo.h:275
bool operator<=(const CaptureTime &other) const
Comparison operator.
Definition FrameInfo.h:299
bool operator>=(const CaptureTime &other) const
Comparison operator.
Definition FrameInfo.h:305
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for CaptureTime.
Definition FrameInfo.h:255
bool operator!=(const CaptureTime &other) const
Comparison operator.
Definition FrameInfo.h:281
std::chrono::microseconds value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const CaptureTime &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:311
Metrics related to this capture.
Definition FrameInfo.h:110
friend std::ostream & operator<<(std::ostream &stream, const Metrics &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:524
bool operator!=(const Metrics &other) const
Inequality operator.
Metrics()
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 FrameInfo.h:500
Metrics copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:413
const CaptureTime & captureTime() const
Get CaptureTime.
Definition FrameInfo.h:452
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:508
CaptureTime & captureTime()
Get CaptureTime.
Definition FrameInfo.h:458
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:380
Metrics & set(const CaptureTime &value)
Set CaptureTime.
Definition FrameInfo.h:464
const AcquisitionTime & acquisitionTime() const
Get AcquisitionTime.
Definition FrameInfo.h:433
const FrameInfo::Metrics::CaptureTime & get() const
Definition FrameInfo.h:481
AcquisitionTime & acquisitionTime()
Get AcquisitionTime.
Definition FrameInfo.h:439
std::string toString() const
Get the value as string.
std::tuple< FrameInfo::Metrics::AcquisitionTime, FrameInfo::Metrics::CaptureTime > Descendants
Definition FrameInfo.h:324
Metrics & set(const AcquisitionTime &value)
Set AcquisitionTime.
Definition FrameInfo.h:445
bool operator==(const Metrics &other) const
Equality operator.
const FrameInfo::Metrics::AcquisitionTime & get() const
Definition FrameInfo.h:473
Core version.
Definition FrameInfo.h:566
std::string toString() const
Get the value as string.
bool operator>=(const Core &other) const
Comparison operator.
Definition FrameInfo.h:634
const std::string & value() const
Get the value.
bool operator!=(const Core &other) const
Comparison operator.
Definition FrameInfo.h:610
Core(std::string value)
Constructor.
Definition FrameInfo.h:593
bool operator==(const Core &other) const
Comparison operator.
Definition FrameInfo.h:604
Core()=default
Default constructor.
bool operator>(const Core &other) const
Comparison operator.
Definition FrameInfo.h:622
bool operator<(const Core &other) const
Comparison operator.
Definition FrameInfo.h:616
friend std::ostream & operator<<(std::ostream &stream, const Core &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:640
bool operator<=(const Core &other) const
Comparison operator.
Definition FrameInfo.h:628
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:581
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Core.
Definition FrameInfo.h:584
The version information for installed software at the time of image capture.
Definition FrameInfo.h:546
const Core & core() const
Get Core.
Definition FrameInfo.h:759
friend std::ostream & operator<<(std::ostream &stream, const SoftwareVersion &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:815
bool operator!=(const SoftwareVersion &other) const
Inequality operator.
bool operator==(const SoftwareVersion &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 FrameInfo.h:800
SoftwareVersion()
Default constructor.
const FrameInfo::SoftwareVersion::Core & get() const
Definition FrameInfo.h:780
SoftwareVersion copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:739
Core & core()
Get Core.
Definition FrameInfo.h:765
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:793
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:707
std::tuple< FrameInfo::SoftwareVersion::Core > Descendants
Definition FrameInfo.h:653
SoftwareVersion & set(const Core &value)
Set Core.
Definition FrameInfo.h:771
std::string toString() const
Get the value as string.
CPU model.
Definition FrameInfo.h:874
const std::string & value() const
Get the value.
bool operator!=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:918
Model()=default
Default constructor.
bool operator<(const Model &other) const
Comparison operator.
Definition FrameInfo.h:924
std::string toString() const
Get the value as string.
bool operator==(const Model &other) const
Comparison operator.
Definition FrameInfo.h:912
bool operator>=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:942
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:948
bool operator<=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:936
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Model.
Definition FrameInfo.h:892
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:889
Model(std::string value)
Constructor.
Definition FrameInfo.h:901
bool operator>(const Model &other) const
Comparison operator.
Definition FrameInfo.h:930
CPU.
Definition FrameInfo.h:856
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1110
const Model & model() const
Get Model.
Definition FrameInfo.h:1069
std::tuple< FrameInfo::SystemInfo::CPU::Model > Descendants
Definition FrameInfo.h:961
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1103
bool operator!=(const CPU &other) const
Inequality operator.
std::string toString() const
Get the value as string.
bool operator==(const CPU &other) const
Equality operator.
CPU()
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const CPU &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:1125
CPU & set(const Model &value)
Set Model.
Definition FrameInfo.h:1081
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:1015
CPU copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:1048
Model & model()
Get Model.
Definition FrameInfo.h:1075
const FrameInfo::SystemInfo::CPU::Model & get() const
Definition FrameInfo.h:1090
Compute device model.
Definition FrameInfo.h:1164
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Model.
Definition FrameInfo.h:1182
std::string toString() const
Get the value as string.
bool operator<=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:1226
Model(std::string value)
Constructor.
Definition FrameInfo.h:1191
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:1179
const std::string & value() const
Get the value.
bool operator==(const Model &other) const
Comparison operator.
Definition FrameInfo.h:1202
bool operator!=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:1208
bool operator>=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:1232
bool operator>(const Model &other) const
Comparison operator.
Definition FrameInfo.h:1220
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:1238
bool operator<(const Model &other) const
Comparison operator.
Definition FrameInfo.h:1214
Model()=default
Default constructor.
Compute device vendor.
Definition FrameInfo.h:1255
bool operator>(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:1311
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Vendor.
Definition FrameInfo.h:1273
friend std::ostream & operator<<(std::ostream &stream, const Vendor &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:1329
bool operator>=(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:1323
bool operator<(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:1305
bool operator==(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:1293
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:1270
Vendor()=default
Default constructor.
std::string toString() const
Get the value as string.
bool operator<=(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:1317
const std::string & value() const
Get the value.
bool operator!=(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:1299
Vendor(std::string value)
Constructor.
Definition FrameInfo.h:1282
Compute device.
Definition FrameInfo.h:1146
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:1399
ComputeDevice & set(const Model &value)
Set Model.
Definition FrameInfo.h:1466
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1523
const Vendor & vendor() const
Get Vendor.
Definition FrameInfo.h:1473
std:: tuple< FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor > Descendants
Definition FrameInfo.h:1342
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1531
Model & model()
Get Model.
Definition FrameInfo.h:1460
Vendor & vendor()
Get Vendor.
Definition FrameInfo.h:1479
bool operator==(const ComputeDevice &other) const
Equality operator.
const FrameInfo::SystemInfo::ComputeDevice::Vendor & get() const
Definition FrameInfo.h:1504
const Model & model() const
Get Model.
Definition FrameInfo.h:1454
friend std::ostream & operator<<(std::ostream &stream, const ComputeDevice &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:1547
bool operator!=(const ComputeDevice &other) const
Inequality operator.
std::string toString() const
Get the value as string.
ComputeDevice()
Default constructor.
ComputeDevice & set(const Vendor &value)
Set Vendor.
Definition FrameInfo.h:1485
ComputeDevice copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:1433
const FrameInfo::SystemInfo::ComputeDevice::Model & get() const
Definition FrameInfo.h:1495
Operating system.
Definition FrameInfo.h:1569
bool operator>(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1625
OperatingSystem(std::string value)
Constructor.
Definition FrameInfo.h:1596
bool operator!=(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1613
bool operator<(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1619
bool operator>=(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1637
bool operator==(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1607
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:1584
OperatingSystem()=default
Default constructor.
bool operator<=(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1631
const std::string & value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const OperatingSystem &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:1643
std::string toString() const
Get the value as string.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for OperatingSystem.
Definition FrameInfo.h:1587
Information about the system that captured this frame.
Definition FrameInfo.h:836
SystemInfo & set(const CPU::Model &value)
Set CPU::Model.
Definition FrameInfo.h:1802
std::string toString() const
Get the value as string.
const FrameInfo::SystemInfo::CPU & get() const
Definition FrameInfo.h:1863
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1930
ComputeDevice & computeDevice()
Get ComputeDevice.
Definition FrameInfo.h:1815
SystemInfo & set(const ComputeDevice &value)
Set ComputeDevice.
Definition FrameInfo.h:1821
const FrameInfo::SystemInfo::ComputeDevice::Vendor & get() const
Definition FrameInfo.h:1897
SystemInfo & set(const CPU &value)
Set CPU.
Definition FrameInfo.h:1795
bool operator==(const SystemInfo &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:1726
friend std::ostream & operator<<(std::ostream &stream, const SystemInfo &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:1956
const ComputeDevice & computeDevice() const
Get ComputeDevice.
Definition FrameInfo.h:1809
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1939
SystemInfo & set(const ComputeDevice::Vendor &value)
Set ComputeDevice::Vendor.
Definition FrameInfo.h:1835
SystemInfo & set(const OperatingSystem &value)
Set OperatingSystem.
Definition FrameInfo.h:1854
SystemInfo copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:1763
bool operator!=(const SystemInfo &other) const
Inequality operator.
SystemInfo & set(const ComputeDevice::Model &value)
Set ComputeDevice::Model.
Definition FrameInfo.h:1828
const FrameInfo::SystemInfo::OperatingSystem & get() const
Definition FrameInfo.h:1905
CPU & cpu()
Get CPU.
Definition FrameInfo.h:1789
const FrameInfo::SystemInfo::ComputeDevice & get() const
Definition FrameInfo.h:1879
const OperatingSystem & operatingSystem() const
Get OperatingSystem.
Definition FrameInfo.h:1842
OperatingSystem & operatingSystem()
Get OperatingSystem.
Definition FrameInfo.h:1848
SystemInfo()
Default constructor.
const CPU & cpu() const
Get CPU.
Definition FrameInfo.h:1783
const FrameInfo::SystemInfo::ComputeDevice::Model & get() const
Definition FrameInfo.h:1888
std::tuple< FrameInfo::SystemInfo::CPU, FrameInfo::SystemInfo::CPU::Model, FrameInfo::SystemInfo::ComputeDevice, FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor, FrameInfo::SystemInfo::OperatingSystem > Descendants
Definition FrameInfo.h:1656
const FrameInfo::SystemInfo::CPU::Model & get() const
Definition FrameInfo.h:1871
The time of frame capture.
Definition FrameInfo.h:1979
std::chrono::system_clock::time_point value() const
Get the value.
bool operator>(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:2035
bool operator<(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:2029
bool operator<=(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:2041
static constexpr Range< std::chrono::system_clock::time_point > validRange()
The range of valid values for TimeStamp.
Definition FrameInfo.h:1997
bool operator>=(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:2047
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const TimeStamp &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:2053
TimeStamp()=default
Default constructor.
constexpr TimeStamp(std::chrono::system_clock::time_point value)
Constructor.
Definition FrameInfo.h:2006
bool operator!=(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:2023
bool operator==(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:2017
std::chrono::system_clock::time_point ValueType
The type of the underlying value.
Definition FrameInfo.h:1994
Various information for a frame.
Definition FrameInfo.h:78
TimeStamp & timeStamp()
Get TimeStamp.
Definition FrameInfo.h:2362
std::string toString() const
Get the value as string.
Metrics & metrics()
Get Metrics.
Definition FrameInfo.h:2242
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:2495
const FrameInfo::SoftwareVersion::Core & get() const
Definition FrameInfo.h:2405
const FrameInfo::Metrics & get() const
Definition FrameInfo.h:2375
const FrameInfo::Metrics::CaptureTime & get() const
Definition FrameInfo.h:2391
FrameInfo & set(const SystemInfo::ComputeDevice &value)
Set SystemInfo::ComputeDevice.
Definition FrameInfo.h:2328
FrameInfo()
Default constructor.
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:2173
const FrameInfo::SystemInfo::ComputeDevice::Model & get() const
Definition FrameInfo.h:2441
const FrameInfo::Metrics::AcquisitionTime & get() const
Definition FrameInfo.h:2383
FrameInfo & set(const SystemInfo::OperatingSystem &value)
Set SystemInfo::OperatingSystem.
Definition FrameInfo.h:2349
void save(const std::string &fileName) const
Save to the given file.
const SystemInfo & systemInfo() const
Get SystemInfo.
Definition FrameInfo.h:2295
FrameInfo & set(const Metrics::CaptureTime &value)
Set Metrics::CaptureTime.
Definition FrameInfo.h:2262
FrameInfo & set(const SystemInfo &value)
Set SystemInfo.
Definition FrameInfo.h:2307
const TimeStamp & timeStamp() const
Get TimeStamp.
Definition FrameInfo.h:2356
SoftwareVersion & softwareVersion()
Get SoftwareVersion.
Definition FrameInfo.h:2275
FrameInfo(const std::string &fileName)
Construct FrameInfo by loading from file.
std::string serialize() const
Serialize to a string.
FrameInfo & set(const SystemInfo::ComputeDevice::Vendor &value)
Set SystemInfo::ComputeDevice::Vendor.
Definition FrameInfo.h:2342
const FrameInfo::SoftwareVersion & get() const
Definition FrameInfo.h:2397
friend std::ostream & operator<<(std::ostream &stream, const FrameInfo &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:2523
FrameInfo & set(const TimeStamp &value)
Set TimeStamp.
Definition FrameInfo.h:2368
FrameInfo(Args &&...args)
Constructor taking variadic number of arguments.
Definition FrameInfo.h:2134
const FrameInfo::TimeStamp & get() const
Definition FrameInfo.h:2464
const SoftwareVersion & softwareVersion() const
Get SoftwareVersion.
Definition FrameInfo.h:2269
FrameInfo & set(const SystemInfo::CPU::Model &value)
Set SystemInfo::CPU::Model.
Definition FrameInfo.h:2321
static FrameInfo fromSerialized(const std::string &value)
Construct a new FrameInfo instance from a previously serialized string.
FrameInfo & set(const SystemInfo::ComputeDevice::Model &value)
Set SystemInfo::ComputeDevice::Model.
Definition FrameInfo.h:2335
const FrameInfo::SystemInfo::CPU::Model & get() const
Definition FrameInfo.h:2425
const FrameInfo::SystemInfo::ComputeDevice::Vendor & get() const
Definition FrameInfo.h:2450
FrameInfo & set(const SoftwareVersion &value)
Set SoftwareVersion.
Definition FrameInfo.h:2281
const FrameInfo::SystemInfo & get() const
Definition FrameInfo.h:2411
const FrameInfo::SystemInfo::ComputeDevice & get() const
Definition FrameInfo.h:2433
FrameInfo & set(const SoftwareVersion::Core &value)
Set SoftwareVersion::Core.
Definition FrameInfo.h:2288
SystemInfo & systemInfo()
Get SystemInfo.
Definition FrameInfo.h:2301
bool operator!=(const FrameInfo &other) const
Inequality operator.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:2505
FrameInfo & set(const Metrics::AcquisitionTime &value)
Set Metrics::AcquisitionTime.
Definition FrameInfo.h:2255
bool operator==(const FrameInfo &other) const
Equality operator.
std::tuple< FrameInfo::Metrics, FrameInfo::Metrics::AcquisitionTime, FrameInfo::Metrics::CaptureTime, FrameInfo::SoftwareVersion, FrameInfo::SoftwareVersion::Core, FrameInfo::SystemInfo, FrameInfo::SystemInfo::CPU, FrameInfo::SystemInfo::CPU::Model, FrameInfo::SystemInfo::ComputeDevice, FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor, FrameInfo::SystemInfo::OperatingSystem, FrameInfo::TimeStamp > Descendants
Definition FrameInfo.h:2066
FrameInfo & set(const SystemInfo::CPU &value)
Set SystemInfo::CPU.
Definition FrameInfo.h:2314
const FrameInfo::SystemInfo::CPU & get() const
Definition FrameInfo.h:2417
void load(const std::string &fileName)
Load from the given file.
FrameInfo copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:2217
FrameInfo & set(const Metrics &value)
Set Metrics.
Definition FrameInfo.h:2248
const Metrics & metrics() const
Get Metrics.
Definition FrameInfo.h:2236
const FrameInfo::SystemInfo::OperatingSystem & get() const
Definition FrameInfo.h:2458
Class describing a range of values for a given type T.
Definition Range.h:75
NodeType
Definition NodeType.h:49
Definition EnvironmentInfo.h:74
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:84