69# pragma warning(disable : 4251)
85 static constexpr const char *
path{
"" };
88 static constexpr const char *
name{
"Settings2D" };
92 R
"description(Settings used when capturing 2D images with a Zivid camera.)description"
105 static constexpr std::array<uint8_t, 3> binaryId{
's',
't',
'2' };
123 static constexpr const char *
path{
"Acquisition" };
126 static constexpr const char *
name{
"Acquisition" };
129 static constexpr const char *
description{ R
"description(Settings for one 2D acquisition.
131When capturing 2D HDR, all 2D acquisitions must have the same Aperture setting. Use Exposure Time
132or Gain to control the exposure instead.
150 static constexpr const char *
path{
"Acquisition/Aperture" };
153 static constexpr const char *
name{
"Aperture" };
157 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
158the effective aperture diameter).
160When capturing 2D HDR, all 2D acquisitions must have the same Aperture setting. Use Exposure Time
161or Gain to control the exposure instead.
171 return { 1.4, 32.0 };
179 : m_opt{ verifyValue(
value) }
200 return m_opt == other.m_opt;
206 return m_opt != other.m_opt;
212 return m_opt < other.m_opt;
218 return m_opt > other.m_opt;
224 return m_opt <= other.m_opt;
230 return m_opt >= other.m_opt;
236 return stream <<
value.toString();
240 void setFromString(
const std::string &value);
242 constexpr ValueType
static verifyValue(
const ValueType &value)
244 return validRange().isInRange(value)
246 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
247 + std::to_string(validRange().min()) +
", "
248 + std::to_string(validRange().max()) +
"]" };
251 std::optional<double> m_opt;
253 friend struct DataModel::Detail::Befriend<
Aperture>;
276 static constexpr const char *
path{
"Acquisition/Brightness" };
279 static constexpr const char *
name{
"Brightness" };
283 R
"description(Brightness controls the light output from the projector.
285Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
286or in case of high levels of ambient lighting.
288When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
289can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated
290over a 10 second period. This limitation is enforced automatically by the camera. Calling capture
291when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a
292duration of time to cool down, before capture will start.
310 : m_opt{ verifyValue(
value) }
331 return m_opt == other.m_opt;
337 return m_opt != other.m_opt;
343 return m_opt < other.m_opt;
349 return m_opt > other.m_opt;
355 return m_opt <= other.m_opt;
361 return m_opt >= other.m_opt;
367 return stream <<
value.toString();
371 void setFromString(
const std::string &value);
373 constexpr ValueType
static verifyValue(
const ValueType &value)
375 return validRange().isInRange(value)
377 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
378 +
" } is not in range [" + std::to_string(validRange().min())
379 +
", " + std::to_string(validRange().max()) +
"]" };
382 std::optional<double> m_opt;
384 friend struct DataModel::Detail::Befriend<
Brightness>;
397 static constexpr const char *
path{
"Acquisition/ExposureTime" };
400 static constexpr const char *
name{
"ExposureTime" };
403 static constexpr const char *
description{ R
"description(Exposure time for the image.)description" };
411 return { std::chrono::microseconds{ 200 }, std::chrono::microseconds{ 100000 } };
419 : m_opt{ verifyValue(
value) }
426 std::chrono::microseconds
value()
const;
440 return m_opt == other.m_opt;
446 return m_opt != other.m_opt;
452 return m_opt < other.m_opt;
458 return m_opt > other.m_opt;
464 return m_opt <= other.m_opt;
470 return m_opt >= other.m_opt;
476 return stream <<
value.toString();
480 void setFromString(
const std::string &value);
482 constexpr ValueType
static verifyValue(
const ValueType &value)
484 return validRange().isInRange(value)
486 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
487 +
" } is not in range ["
488 + std::to_string(validRange().min().count()) +
", "
489 + std::to_string(validRange().max().count()) +
"]" };
492 std::optional<std::chrono::microseconds> m_opt;
494 friend struct DataModel::Detail::Befriend<
ExposureTime>;
507 static constexpr const char *
path{
"Acquisition/Gain" };
510 static constexpr const char *
name{
"Gain" };
513 static constexpr const char *
description{ R
"description(Analog gain in the camera.)description" };
529 : m_opt{ verifyValue(
value) }
550 return m_opt == other.m_opt;
556 return m_opt != other.m_opt;
562 return m_opt < other.m_opt;
568 return m_opt > other.m_opt;
574 return m_opt <= other.m_opt;
580 return m_opt >= other.m_opt;
586 return stream <<
value.toString();
590 void setFromString(
const std::string &value);
592 constexpr ValueType
static verifyValue(
const ValueType &value)
594 return validRange().isInRange(value)
596 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
597 + std::to_string(validRange().min()) +
", "
598 + std::to_string(validRange().max()) +
"]" };
601 std::optional<double> m_opt;
603 friend struct DataModel::Detail::Befriend<
Gain>;
632 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
633 typename std::enable_if<
634 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
638 template<typename... Args>
642 using namespace Zivid::Detail::TypeTraits;
645 AllArgsDecayedAreUnique<Args...>::value,
646 "Found duplicate types among the arguments passed to Acquisition(...). "
647 "Types should be listed at most once.");
649 set(std::forward<Args>(args)...);
666 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
668 template<typename... Args>
672 using namespace Zivid::Detail::TypeTraits;
674 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
676 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
679 AllArgsDecayedAreUnique<Args...>::value,
680 "Found duplicate types among the arguments passed to set(...). "
681 "Types should be listed at most once.");
683 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
701 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
703 template<typename... Args>
707 using namespace Zivid::Detail::TypeTraits;
709 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
711 AllArgsAreDescendantNodes::value,
712 "All arguments passed to copyWith(...) must be descendant nodes.");
715 AllArgsDecayedAreUnique<Args...>::value,
716 "Found duplicate types among the arguments passed to copyWith(...). "
717 "Types should be listed at most once.");
720 copy.set(std::forward<Args>(args)...);
758 m_brightness = value;
765 return m_exposureTime;
771 return m_exposureTime;
777 m_exposureTime = value;
802 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Aperture>::value,
int>::type = 0>
810 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Brightness>::value,
int>::type = 0>
818 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::ExposureTime>::value,
int>::type = 0>
821 return m_exposureTime;
826 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Gain>::value,
int>::type = 0>
832 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
838 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
844 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
847 return m_exposureTime;
850 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
892 void setFromString(
const std::string &value);
894 void setFromString(
const std::string &fullPath,
const std::string &value);
896 std::string getString(
const std::string &fullPath)
const;
899 Brightness m_brightness;
900 ExposureTime m_exposureTime;
903 friend struct DataModel::Detail::Befriend<
Acquisition>;
916 static constexpr const char *
path{
"Acquisitions" };
919 static constexpr const char *
name{
"Acquisitions" };
923 R
"description(List of acquisitions used for 2D capture.)description"
932 return { 0, std::numeric_limits<ValueType::size_type>::max() };
940 : m_value{ std::move(
value) }
949 const std::vector<Settings2D::Acquisition> &
value()
const;
955 std::size_t
size() const noexcept;
965 template<typename... Args>
968 m_value.emplace_back(std::forward<Args>(args)...);
1000 template<
typename F>
1003 for(
auto &child : m_value)
1010 template<
typename F>
1013 for(
const auto &child : m_value)
1020 using Iterator = std::vector<Settings2D::Acquisition>::iterator;
1046 return m_value == other.m_value;
1052 return m_value != other.m_value;
1058 return stream <<
value.toString();
1062 void setFromString(
const std::string &value);
1064 std::vector<Settings2D::Acquisition> m_value{};
1066 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1085 static constexpr const char *
path{
"Diagnostics" };
1088 static constexpr const char *
name{
"Diagnostics" };
1092 R
"description(When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when saving
1093the frame to a .zdf file. This enables Zivid's Customer Success team to provide better assistance and more
1094thorough troubleshooting.
1096Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the
1097.zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid's support team.
1111 static constexpr const char *
path{
"Diagnostics/Enabled" };
1114 static constexpr const char *
name{
"Enabled" };
1117 static constexpr const char *
description{ R
"description(Enable or disable diagnostics.)description" };
1127 return {
false,
true };
1156 return m_opt == other.m_opt;
1162 return m_opt != other.m_opt;
1168 return stream <<
value.toString();
1172 void setFromString(
const std::string &value);
1174 std::optional<bool> m_opt;
1176 friend struct DataModel::Detail::Befriend<
Enabled>;
1198 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1199 typename std::enable_if<
1200 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1204 template<typename... Args>
1208 using namespace Zivid::Detail::TypeTraits;
1211 AllArgsDecayedAreUnique<Args...>::value,
1212 "Found duplicate types among the arguments passed to Diagnostics(...). "
1213 "Types should be listed at most once.");
1215 set(std::forward<Args>(args)...);
1229 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1231 template<typename... Args>
1235 using namespace Zivid::Detail::TypeTraits;
1237 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1239 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1242 AllArgsDecayedAreUnique<Args...>::value,
1243 "Found duplicate types among the arguments passed to set(...). "
1244 "Types should be listed at most once.");
1246 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1261 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1263 template<typename... Args>
1267 using namespace Zivid::Detail::TypeTraits;
1269 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1271 AllArgsAreDescendantNodes::value,
1272 "All arguments passed to copyWith(...) must be descendant nodes.");
1275 AllArgsDecayedAreUnique<Args...>::value,
1276 "Found duplicate types among the arguments passed to copyWith(...). "
1277 "Types should be listed at most once.");
1280 copy.set(std::forward<Args>(args)...);
1305 typename std::enable_if<std::is_same<T, Settings2D::Diagnostics::Enabled>::value,
int>::type = 0>
1311 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1318 template<
typename F>
1325 template<
typename F>
1347 void setFromString(
const std::string &value);
1349 void setFromString(
const std::string &fullPath,
const std::string &value);
1351 std::string getString(
const std::string &fullPath)
const;
1355 friend struct DataModel::Detail::Befriend<
Diagnostics>;
1368 static constexpr const char *
path{
"Processing" };
1371 static constexpr const char *
name{
"Processing" };
1374 static constexpr const char *
description{ R
"description(2D processing settings.)description" };
1386 static constexpr const char *
path{
"Processing/Color" };
1389 static constexpr const char *
name{
"Color" };
1392 static constexpr const char *
description{ R
"description(Color settings.)description" };
1404 static constexpr const char *
path{
"Processing/Color/Balance" };
1407 static constexpr const char *
name{
"Balance" };
1410 static constexpr const char *
description{ R
"description(Color balance settings.)description" };
1422 static constexpr const char *
path{
"Processing/Color/Balance/Blue" };
1425 static constexpr const char *
name{
"Blue" };
1429 R
"description(Digital gain applied to blue channel.)description"
1438 return { 1.0, 8.0 };
1446 : m_opt{ verifyValue(
value) }
1467 return m_opt == other.m_opt;
1473 return m_opt != other.m_opt;
1479 return m_opt < other.m_opt;
1485 return m_opt > other.m_opt;
1491 return m_opt <= other.m_opt;
1497 return m_opt >= other.m_opt;
1503 return stream <<
value.toString();
1507 void setFromString(
const std::string &value);
1509 constexpr ValueType
static verifyValue(
const ValueType &value)
1511 return validRange().isInRange(value)
1513 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1514 +
" } is not in range ["
1515 + std::to_string(validRange().min()) +
", "
1516 + std::to_string(validRange().max()) +
"]" };
1519 std::optional<double> m_opt;
1521 friend struct DataModel::Detail::Befriend<
Blue>;
1534 static constexpr const char *
path{
"Processing/Color/Balance/Green" };
1537 static constexpr const char *
name{
"Green" };
1541 R
"description(Digital gain applied to green channel.)description"
1550 return { 1.0, 8.0 };
1558 : m_opt{ verifyValue(
value) }
1579 return m_opt == other.m_opt;
1585 return m_opt != other.m_opt;
1591 return m_opt < other.m_opt;
1597 return m_opt > other.m_opt;
1603 return m_opt <= other.m_opt;
1609 return m_opt >= other.m_opt;
1615 return stream <<
value.toString();
1619 void setFromString(
const std::string &value);
1621 constexpr ValueType
static verifyValue(
const ValueType &value)
1623 return validRange().isInRange(value)
1625 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1626 +
" } is not in range ["
1627 + std::to_string(validRange().min()) +
", "
1628 + std::to_string(validRange().max()) +
"]" };
1631 std::optional<double> m_opt;
1633 friend struct DataModel::Detail::Befriend<
Green>;
1646 static constexpr const char *
path{
"Processing/Color/Balance/Red" };
1649 static constexpr const char *
name{
"Red" };
1653 R
"description(Digital gain applied to red channel.)description"
1662 return { 1.0, 8.0 };
1670 : m_opt{ verifyValue(
value) }
1691 return m_opt == other.m_opt;
1697 return m_opt != other.m_opt;
1703 return m_opt < other.m_opt;
1709 return m_opt > other.m_opt;
1715 return m_opt <= other.m_opt;
1721 return m_opt >= other.m_opt;
1727 return stream <<
value.toString();
1731 void setFromString(
const std::string &value);
1733 constexpr ValueType
static verifyValue(
const ValueType &value)
1735 return validRange().isInRange(value)
1737 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1738 +
" } is not in range ["
1739 + std::to_string(validRange().min()) +
", "
1740 + std::to_string(validRange().max()) +
"]" };
1743 std::optional<double> m_opt;
1745 friend struct DataModel::Detail::Befriend<
Red>;
1772 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1773 typename std::enable_if<
1774 Zivid::Detail::TypeTraits::
1775 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
1778 template<typename... Args>
1782 using namespace Zivid::Detail::TypeTraits;
1785 AllArgsDecayedAreUnique<Args...>::value,
1786 "Found duplicate types among the arguments passed to Balance(...). "
1787 "Types should be listed at most once.");
1789 set(std::forward<Args>(args)...);
1805 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1807 template<typename... Args>
1811 using namespace Zivid::Detail::TypeTraits;
1813 using AllArgsAreDescendantNodes =
1814 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1816 AllArgsAreDescendantNodes::value,
1817 "All arguments passed to set(...) must be descendant nodes.");
1820 AllArgsDecayedAreUnique<Args...>::value,
1821 "Found duplicate types among the arguments passed to set(...). "
1822 "Types should be listed at most once.");
1824 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1841 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1843 template<typename... Args>
1847 using namespace Zivid::Detail::TypeTraits;
1849 using AllArgsAreDescendantNodes =
1850 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1852 AllArgsAreDescendantNodes::value,
1853 "All arguments passed to copyWith(...) must be descendant nodes.");
1856 AllArgsDecayedAreUnique<Args...>::value,
1857 "Found duplicate types among the arguments passed to copyWith(...). "
1858 "Types should be listed at most once.");
1861 copy.set(std::forward<Args>(args)...);
1924 typename std::enable_if<
1925 std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1934 typename std::enable_if<
1935 std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1944 typename std::enable_if<
1945 std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1952 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1958 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1964 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1971 template<
typename F>
1980 template<
typename F>
2004 void setFromString(
const std::string &value);
2006 void setFromString(
const std::string &fullPath,
const std::string &value);
2008 std::string getString(
const std::string &fullPath)
const;
2014 friend struct DataModel::Detail::Befriend<
Balance>;
2027 static constexpr const char *
path{
"Processing/Color/Experimental" };
2030 static constexpr const char *
name{
"Experimental" };
2034 R
"description(Experimental color settings. These may be renamed, moved or deleted in the future.)description"
2061 static constexpr const char *
path{
"Processing/Color/Experimental/Mode" };
2064 static constexpr const char *
name{
"Mode" };
2068 R
"description(This setting controls how the color image is computed.
2070`automatic` is the default option. It performs tone mapping for HDR captures, but not for
2071single-acquisition captures. Use this mode with a single acquisition if you want to have
2072the most control over the colors in the image.
2074`toneMapping` uses all the acquisitions to create one merged and normalized color image. For
2075HDR captures the dynamic range of the captured images is usually higher than the 8-bit color
2076image range. `toneMapping` will map the HDR color data to the 8-bit color output range by
2077applying a scaling factor. `toneMapping` can also be used for single-acquisition captures to
2078normalize the captured color image to the full 8-bit output. Note that when using `toneMapping`
2079mode the color values can be inconsistent over repeated captures if you move, add or remove
2080objects in the scene. For the most control over the colors in the single-acquisition case,
2081select the `automatic` mode.
2105 : m_opt{ verifyValue(
value) }
2126 return stream <<
Mode{
value }.toString();
2132 return m_opt == other.m_opt;
2138 return m_opt != other.m_opt;
2144 return stream <<
value.toString();
2148 void setFromString(
const std::string &value);
2150 constexpr ValueType
static verifyValue(
const ValueType &value)
2152 return value == ValueType::automatic || value == ValueType::toneMapping
2154 :
throw std::invalid_argument{
2155 "Invalid value: Mode{ "
2156 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value))
2161 std::optional<ValueType> m_opt;
2163 friend struct DataModel::Detail::Befriend<
Mode>;
2166 using Descendants = std::tuple<Settings2D::Processing::Color::Experimental::Mode>;
2185 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2186 typename std::enable_if<
2187 Zivid::Detail::TypeTraits::
2188 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
2191 template<typename... Args>
2195 using namespace Zivid::Detail::TypeTraits;
2198 AllArgsDecayedAreUnique<Args...>::value,
2199 "Found duplicate types among the arguments passed to Experimental(...). "
2200 "Types should be listed at most once.");
2202 set(std::forward<Args>(args)...);
2216 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2218 template<typename... Args>
2222 using namespace Zivid::Detail::TypeTraits;
2224 using AllArgsAreDescendantNodes =
2225 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2227 AllArgsAreDescendantNodes::value,
2228 "All arguments passed to set(...) must be descendant nodes.");
2231 AllArgsDecayedAreUnique<Args...>::value,
2232 "Found duplicate types among the arguments passed to set(...). "
2233 "Types should be listed at most once.");
2235 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2250 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2252 template<typename... Args>
2256 using namespace Zivid::Detail::TypeTraits;
2258 using AllArgsAreDescendantNodes =
2259 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2261 AllArgsAreDescendantNodes::value,
2262 "All arguments passed to copyWith(...) must be descendant nodes.");
2265 AllArgsDecayedAreUnique<Args...>::value,
2266 "Found duplicate types among the arguments passed to copyWith(...). "
2267 "Types should be listed at most once.");
2270 copy.set(std::forward<Args>(args)...);
2295 typename std::enable_if<
2296 std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
2303 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2310 template<
typename F>
2317 template<
typename F>
2339 void setFromString(
const std::string &value);
2341 void setFromString(
const std::string &fullPath,
const std::string &value);
2343 std::string getString(
const std::string &fullPath)
const;
2347 friend struct DataModel::Detail::Befriend<
Experimental>;
2362 static constexpr const char *
path{
"Processing/Color/Gamma" };
2365 static constexpr const char *
name{
"Gamma" };
2369 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
2370greater than 1 makes the colors darker.
2380 return { 0.25, 1.5 };
2388 : m_opt{ verifyValue(
value) }
2409 return m_opt == other.m_opt;
2415 return m_opt != other.m_opt;
2421 return m_opt < other.m_opt;
2427 return m_opt > other.m_opt;
2433 return m_opt <= other.m_opt;
2439 return m_opt >= other.m_opt;
2445 return stream <<
value.toString();
2449 void setFromString(
const std::string &value);
2451 constexpr ValueType
static verifyValue(
const ValueType &value)
2453 return validRange().isInRange(value)
2455 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
2456 + std::to_string(validRange().min()) +
", "
2457 + std::to_string(validRange().max()) +
"]" };
2460 std::optional<double> m_opt;
2462 friend struct DataModel::Detail::Befriend<
Gamma>;
2497 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2498 typename std::enable_if<
2499 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2503 template<typename... Args>
2507 using namespace Zivid::Detail::TypeTraits;
2510 AllArgsDecayedAreUnique<Args...>::value,
2511 "Found duplicate types among the arguments passed to Color(...). "
2512 "Types should be listed at most once.");
2514 set(std::forward<Args>(args)...);
2534 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2536 template<typename... Args>
2540 using namespace Zivid::Detail::TypeTraits;
2542 using AllArgsAreDescendantNodes =
2543 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2545 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2548 AllArgsDecayedAreUnique<Args...>::value,
2549 "Found duplicate types among the arguments passed to set(...). "
2550 "Types should be listed at most once.");
2552 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2573 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2575 template<typename... Args>
2579 using namespace Zivid::Detail::TypeTraits;
2581 using AllArgsAreDescendantNodes =
2582 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2584 AllArgsAreDescendantNodes::value,
2585 "All arguments passed to copyWith(...) must be descendant nodes.");
2588 AllArgsDecayedAreUnique<Args...>::value,
2589 "Found duplicate types among the arguments passed to copyWith(...). "
2590 "Types should be listed at most once.");
2593 copy.set(std::forward<Args>(args)...);
2619 m_balance.
set(value);
2626 m_balance.
set(value);
2633 m_balance.
set(value);
2640 return m_experimental;
2646 return m_experimental;
2652 m_experimental = value;
2659 m_experimental.
set(value);
2684 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type =
2693 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
2703 enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type = 0>
2711 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
2720 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental>::value,
int>::
2724 return m_experimental;
2729 typename std::enable_if<
2730 std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
2739 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type =
2746 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2752 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2755 return m_experimental;
2758 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2765 template<
typename F>
2774 template<
typename F>
2798 void setFromString(
const std::string &value);
2800 void setFromString(
const std::string &fullPath,
const std::string &value);
2802 std::string getString(
const std::string &fullPath)
const;
2808 friend struct DataModel::Detail::Befriend<
Color>;
2845 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2846 typename std::enable_if<
2847 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2851 template<typename... Args>
2855 using namespace Zivid::Detail::TypeTraits;
2858 AllArgsDecayedAreUnique<Args...>::value,
2859 "Found duplicate types among the arguments passed to Processing(...). "
2860 "Types should be listed at most once.");
2862 set(std::forward<Args>(args)...);
2883 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2885 template<typename... Args>
2889 using namespace Zivid::Detail::TypeTraits;
2891 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2893 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2896 AllArgsDecayedAreUnique<Args...>::value,
2897 "Found duplicate types among the arguments passed to set(...). "
2898 "Types should be listed at most once.");
2900 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2922 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2924 template<typename... Args>
2928 using namespace Zivid::Detail::TypeTraits;
2930 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2932 AllArgsAreDescendantNodes::value,
2933 "All arguments passed to copyWith(...) must be descendant nodes.");
2936 AllArgsDecayedAreUnique<Args...>::value,
2937 "Found duplicate types among the arguments passed to copyWith(...). "
2938 "Types should be listed at most once.");
2941 copy.set(std::forward<Args>(args)...);
3015 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
3023 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
3031 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
3040 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::
3049 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
3058 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental>::value,
int>::
3068 enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
int>::type = 0>
3076 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
3082 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3089 template<
typename F>
3096 template<
typename F>
3118 void setFromString(
const std::string &value);
3120 void setFromString(
const std::string &fullPath,
const std::string &value);
3122 std::string getString(
const std::string &fullPath)
const;
3126 friend struct DataModel::Detail::Befriend<
Processing>;
3140 static constexpr const char *
path{
"Sampling" };
3143 static constexpr const char *
name{
"Sampling" };
3146 static constexpr const char *
description{ R
"description(Sampling settings.
3175 static constexpr const char *
path{
"Sampling/Color" };
3178 static constexpr const char *
name{
"Color" };
3181 static constexpr const char *
description{ R
"description(Choose how to sample colors for the 2D image.
3183- `rgb` option gives an image with full colors.
3184- `grayscale` option gives a grayscale (r=g=b) image, which
3185 can be acquired faster than full colors.
3186- `rgbStrongAmbientLight` option gives an image with full colors and reduced
3187 color noise. This option should be chosen only for applications which
3188 suffer from high color noise and with high amounts of ambient light in the
3190- `rgbAmbientSuppression` option gives an image with full colors while
3191 suppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambient
3192 light by default, and therefore do not need the additional option
3193 `rgbAmbientSuppression`.
3196The `grayscale`, `rgbStrongAmbientLight` and `rgbAmbientSuppression` options are not available on all camera models.
3226 : m_opt{ verifyValue(
value) }
3253 return m_opt == other.m_opt;
3259 return m_opt != other.m_opt;
3265 return stream <<
value.toString();
3269 void setFromString(
const std::string &value);
3271 constexpr ValueType
static verifyValue(
const ValueType &value)
3273 return value == ValueType::rgb || value == ValueType::grayscale
3274 || value == ValueType::rgbStrongAmbientLight
3275 || value == ValueType::rgbAmbientSuppression
3277 :
throw std::invalid_argument{
3278 "Invalid value: Color{ "
3279 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
3283 std::optional<ValueType> m_opt;
3285 friend struct DataModel::Detail::Befriend<
Color>;
3305 static constexpr const char *
path{
"Sampling/Interval" };
3308 static constexpr const char *
name{
"Interval" };
3312 R
"description(Sampling interval controls the interval between successive sensor operations (e.g.,
3313structured light pattern projection and image exposure), aligned to external
3314frequencies (e.g., 50 Hz, 60 Hz grid) or to other devices (e.g., barcode scanners
3315at 100 Hz). The requested interval is a target: the sensor operations will happen
3316at this rate if the it can fit the chosen exposure time plus some processing overhead.
3317Otherwise, the sampling interval is rounded up to the nearest suitable integer multiple
3318(e.g., n * 10 ms for 100 Hz and n * 8.33 ms for 120 Hz).
3335 static constexpr const char *
path{
"Sampling/Interval/Duration" };
3338 static constexpr const char *
name{
"Duration" };
3342 R
"description(Duration between successive sensor operations, in microseconds. The effective interval
3343might be rounded up to the nearest suitable integer multiple and will never be shorter
3344than exposure time plus some processing overhead.
3354 return { std::chrono::microseconds{ 1000 }, std::chrono::microseconds{ 10000 } };
3362 : m_opt{ verifyValue(
value) }
3369 std::chrono::microseconds
value()
const;
3383 return m_opt == other.m_opt;
3389 return m_opt != other.m_opt;
3395 return m_opt < other.m_opt;
3401 return m_opt > other.m_opt;
3407 return m_opt <= other.m_opt;
3413 return m_opt >= other.m_opt;
3419 return stream <<
value.toString();
3423 void setFromString(
const std::string &value);
3425 constexpr ValueType
static verifyValue(
const ValueType &value)
3427 return validRange().isInRange(value)
3429 :
throw std::out_of_range{
"Duration{ " + std::to_string(value.count())
3430 +
" } is not in range ["
3431 + std::to_string(validRange().min().count()) +
", "
3432 + std::to_string(validRange().max().count()) +
"]" };
3435 std::optional<std::chrono::microseconds> m_opt;
3437 friend struct DataModel::Detail::Befriend<
Duration>;
3450 static constexpr const char *
path{
"Sampling/Interval/Enabled" };
3453 static constexpr const char *
name{
"Enabled" };
3457 R
"description(Enable or disable sampling interval.)description"
3468 return {
false,
true };
3497 return m_opt == other.m_opt;
3503 return m_opt != other.m_opt;
3509 return stream <<
value.toString();
3513 void setFromString(
const std::string &value);
3515 std::optional<bool> m_opt;
3517 friend struct DataModel::Detail::Befriend<
Enabled>;
3521 std::tuple<Settings2D::Sampling::Interval::Duration, Settings2D::Sampling::Interval::Enabled>;
3541 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3542 typename std::enable_if<
3543 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
3547 template<typename... Args>
3551 using namespace Zivid::Detail::TypeTraits;
3554 AllArgsDecayedAreUnique<Args...>::value,
3555 "Found duplicate types among the arguments passed to Interval(...). "
3556 "Types should be listed at most once.");
3558 set(std::forward<Args>(args)...);
3573 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3575 template<typename... Args>
3579 using namespace Zivid::Detail::TypeTraits;
3581 using AllArgsAreDescendantNodes =
3582 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3584 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
3587 AllArgsDecayedAreUnique<Args...>::value,
3588 "Found duplicate types among the arguments passed to set(...). "
3589 "Types should be listed at most once.");
3591 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3607 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3609 template<typename... Args>
3613 using namespace Zivid::Detail::TypeTraits;
3615 using AllArgsAreDescendantNodes =
3616 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3618 AllArgsAreDescendantNodes::value,
3619 "All arguments passed to copyWith(...) must be descendant nodes.");
3622 AllArgsDecayedAreUnique<Args...>::value,
3623 "Found duplicate types among the arguments passed to copyWith(...). "
3624 "Types should be listed at most once.");
3627 copy.set(std::forward<Args>(args)...);
3671 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval::Duration>::value,
int>::
3680 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval::Enabled>::value,
int>::
3687 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3693 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3700 template<
typename F>
3708 template<
typename F>
3731 void setFromString(
const std::string &value);
3733 void setFromString(
const std::string &fullPath,
const std::string &value);
3735 std::string getString(
const std::string &fullPath)
const;
3737 Duration m_duration;
3740 friend struct DataModel::Detail::Befriend<
Interval>;
3755 static constexpr const char *
path{
"Sampling/Pixel" };
3758 static constexpr const char *
name{
"Pixel" };
3762 R
"description(Set the pixel sampling to use for the 2D capture. This setting defines how the camera sensor is sampled.
3763When doing 2D+3D capture, picking the same value that is used for 3D is generally recommended.
3803 : m_opt{ verifyValue(
value) }
3830 return m_opt == other.m_opt;
3836 return m_opt != other.m_opt;
3842 return stream <<
value.toString();
3846 void setFromString(
const std::string &value);
3848 constexpr ValueType
static verifyValue(
const ValueType &value)
3850 return value == ValueType::all || value == ValueType::blueSubsample2x2
3851 || value == ValueType::redSubsample2x2 || value == ValueType::blueSubsample4x4
3852 || value == ValueType::redSubsample4x4 || value == ValueType::by2x2
3853 || value == ValueType::by4x4
3855 :
throw std::invalid_argument{
3856 "Invalid value: Pixel{ "
3857 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
3861 std::optional<ValueType> m_opt;
3863 friend struct DataModel::Detail::Befriend<
Pixel>;
3894 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3895 typename std::enable_if<
3896 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
3900 template<typename... Args>
3904 using namespace Zivid::Detail::TypeTraits;
3907 AllArgsDecayedAreUnique<Args...>::value,
3908 "Found duplicate types among the arguments passed to Sampling(...). "
3909 "Types should be listed at most once.");
3911 set(std::forward<Args>(args)...);
3929 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3931 template<typename... Args>
3935 using namespace Zivid::Detail::TypeTraits;
3937 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3939 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
3942 AllArgsDecayedAreUnique<Args...>::value,
3943 "Found duplicate types among the arguments passed to set(...). "
3944 "Types should be listed at most once.");
3946 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3965 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3967 template<typename... Args>
3971 using namespace Zivid::Detail::TypeTraits;
3973 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3975 AllArgsAreDescendantNodes::value,
3976 "All arguments passed to copyWith(...) must be descendant nodes.");
3979 AllArgsDecayedAreUnique<Args...>::value,
3980 "Found duplicate types among the arguments passed to copyWith(...). "
3981 "Types should be listed at most once.");
3984 copy.set(std::forward<Args>(args)...);
4029 m_interval.
set(value);
4036 m_interval.
set(value);
4061 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Color>::value,
int>::type = 0>
4069 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval>::value,
int>::type = 0>
4077 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval::Duration>::value,
int>::type =
4086 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval::Enabled>::value,
int>::type = 0>
4094 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Pixel>::value,
int>::type = 0>
4100 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4106 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4112 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
4119 template<
typename F>
4128 template<
typename F>
4152 void setFromString(
const std::string &value);
4154 void setFromString(
const std::string &fullPath,
const std::string &value);
4156 std::string getString(
const std::string &fullPath)
const;
4159 Interval m_interval;
4162 friend struct DataModel::Detail::Befriend<
Sampling>;
4236 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4237 typename std::enable_if<
4238 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
4241 template<typename... Args>
4245 using namespace Zivid::Detail::TypeTraits;
4248 AllArgsDecayedAreUnique<Args...>::value,
4249 "Found duplicate types among the arguments passed to Settings2D(...). "
4250 "Types should be listed at most once.");
4252 set(std::forward<Args>(args)...);
4283 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4285 template<typename... Args>
4289 using namespace Zivid::Detail::TypeTraits;
4291 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4293 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
4296 AllArgsDecayedAreUnique<Args...>::value,
4297 "Found duplicate types among the arguments passed to set(...). "
4298 "Types should be listed at most once.");
4300 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4332 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4334 template<typename... Args>
4338 using namespace Zivid::Detail::TypeTraits;
4340 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4342 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
4345 AllArgsDecayedAreUnique<Args...>::value,
4346 "Found duplicate types among the arguments passed to copyWith(...). "
4347 "Types should be listed at most once.");
4350 copy.set(std::forward<Args>(args)...);
4357 return m_acquisitions;
4363 return m_acquisitions;
4369 m_acquisitions = value;
4376 return m_diagnostics;
4382 return m_diagnostics;
4388 m_diagnostics = value;
4395 m_diagnostics.
set(value);
4402 return m_processing;
4408 return m_processing;
4414 m_processing = value;
4421 m_processing.
set(value);
4428 m_processing.
set(value);
4435 m_processing.
set(value);
4442 m_processing.
set(value);
4449 m_processing.
set(value);
4456 m_processing.
set(value);
4463 m_processing.
set(value);
4470 m_processing.
set(value);
4496 m_sampling.
set(value);
4503 m_sampling.
set(value);
4510 m_sampling.
set(value);
4517 m_sampling.
set(value);
4524 m_sampling.
set(value);
4528 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Acquisitions>::value,
int>::type = 0>
4531 return m_acquisitions;
4534 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Diagnostics>::value,
int>::type = 0>
4537 return m_diagnostics;
4542 typename std::enable_if<std::is_same<T, Settings2D::Diagnostics::Enabled>::value,
int>::type = 0>
4548 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Processing>::value,
int>::type = 0>
4551 return m_processing;
4556 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
4564 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
4572 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::type =
4581 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type =
4590 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::type = 0>
4598 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental>::value,
int>::type = 0>
4606 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
int>::
4615 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
4621 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Sampling>::value,
int>::type = 0>
4629 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Color>::value,
int>::type = 0>
4637 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval>::value,
int>::type = 0>
4645 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval::Duration>::value,
int>::type = 0>
4653 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Interval::Enabled>::value,
int>::type = 0>
4661 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Pixel>::value,
int>::type = 0>
4667 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4670 return m_acquisitions;
4673 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4676 return m_diagnostics;
4679 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
4682 return m_processing;
4685 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
4692 template<
typename F>
4702 template<
typename F>
4727 void save(
const std::string &fileName)
const;
4730 void load(
const std::string &fileName);
4733 void setFromString(
const std::string &value);
4735 void setFromString(
const std::string &fullPath,
const std::string &value);
4737 std::string getString(
const std::string &fullPath)
const;
4744 friend struct DataModel::Detail::Befriend<
Settings2D>;
4749 struct Settings2D::Version<9>
4762 ZIVID_CORE_EXPORT void save(
const Zivid::Settings2D &dataModel, std::ostream &ostream);
4763 ZIVID_CORE_EXPORT void load(Zivid::Settings2D &dataModel, std::istream &istream);
4769# pragma warning(pop)
4773# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
4778 struct tuple_size<Zivid::Settings2D::Diagnostics> : integral_constant<size_t, 1>
4782 struct tuple_element<i, Zivid::Settings2D::Diagnostics>
4784 static_assert(i < tuple_size<Zivid::Settings2D::Diagnostics>::value,
"Index must be less than 1");
4787 =
decltype(declval<Zivid::Settings2D::Diagnostics>().get<i>());
4791 struct tuple_size<Zivid::Settings2D::Processing> : integral_constant<size_t, 1>
4795 struct tuple_element<i, Zivid::Settings2D::Processing>
4797 static_assert(i < tuple_size<Zivid::Settings2D::Processing>::value,
"Index must be less than 1");
4800 =
decltype(declval<Zivid::Settings2D::Processing>().get<i>());
4804 struct tuple_size<Zivid::Settings2D::Processing::Color> : integral_constant<size_t, 3>
4808 struct tuple_element<i, Zivid::Settings2D::Processing::Color>
4810 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color>::value,
"Index must be less than 3");
4813 =
decltype(declval<Zivid::Settings2D::Processing::Color>().get<i>());
4817 struct tuple_size<Zivid::Settings2D::Processing::Color::Balance> : integral_constant<size_t, 3>
4821 struct tuple_element<i, Zivid::Settings2D::Processing::Color::Balance>
4824 i < tuple_size<Zivid::Settings2D::Processing::Color::Balance>::value,
4825 "Index must be less than 3");
4828 =
decltype(declval<Zivid::Settings2D::Processing::Color::Balance>().get<i>());
4832 struct tuple_size<Zivid::Settings2D::Processing::Color::Experimental> : integral_constant<size_t, 1>
4836 struct tuple_element<i, Zivid::Settings2D::Processing::Color::Experimental>
4839 i < tuple_size<Zivid::Settings2D::Processing::Color::Experimental>::value,
4840 "Index must be less than 1");
4843 =
decltype(declval<Zivid::Settings2D::Processing::Color::Experimental>().get<i>());
4847 struct tuple_size<Zivid::Settings2D::Sampling> : integral_constant<size_t, 3>
4851 struct tuple_element<i, Zivid::Settings2D::Sampling>
4853 static_assert(i < tuple_size<Zivid::Settings2D::Sampling>::value,
"Index must be less than 3");
4856 =
decltype(declval<Zivid::Settings2D::Sampling>().get<i>());
4860 struct tuple_size<Zivid::Settings2D::Sampling::Interval> : integral_constant<size_t, 2>
4864 struct tuple_element<i, Zivid::Settings2D::Sampling::Interval>
4866 static_assert(i < tuple_size<Zivid::Settings2D::Sampling::Interval>::value,
"Index must be less than 2");
4869 =
decltype(declval<Zivid::Settings2D::Sampling::Interval>().get<i>());
4873 struct tuple_size<Zivid::Settings2D> : integral_constant<size_t, 4>
4877 struct tuple_element<i, Zivid::Settings2D>
4879 static_assert(i < tuple_size<Zivid::Settings2D>::value,
"Index must be less than 4");
4882 =
decltype(declval<Zivid::Settings2D>().get<i>());
4891#if defined(__has_include) && !defined(NO_DOC)
4892# if __has_include("Zivid/Settings2DInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
4893# include "Zivid/Settings2DInternal.h"
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
Class describing a range of values for a given type T.
Definition Range.h:75
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition Settings2D.h:144
void reset()
Reset the node to unset state.
bool operator!=(const Aperture &other) const
Comparison operator.
Definition Settings2D.h:204
static constexpr const char * name
The name of this value.
Definition Settings2D.h:153
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:234
bool operator<(const Aperture &other) const
Comparison operator.
Definition Settings2D.h:210
constexpr Aperture(double value)
Constructor.
Definition Settings2D.h:178
static constexpr Range< double > validRange()
The range of valid values for Aperture.
Definition Settings2D.h:169
bool operator>=(const Aperture &other) const
Comparison operator.
Definition Settings2D.h:228
bool operator<=(const Aperture &other) const
Comparison operator.
Definition Settings2D.h:222
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:150
std::string toString() const
Get the value as string.
double value() const
Get the value.
bool operator>(const Aperture &other) const
Comparison operator.
Definition Settings2D.h:216
Aperture()=default
Default constructor.
double ValueType
The type of the underlying value.
Definition Settings2D.h:166
bool operator==(const Aperture &other) const
Comparison operator.
Definition Settings2D.h:198
static constexpr const char * description
The description for this value.
Definition Settings2D.h:156
bool hasValue() const
Check if the value is set.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:147
Brightness controls the light output from the projector.
Definition Settings2D.h:270
bool operator==(const Brightness &other) const
Comparison operator.
Definition Settings2D.h:329
bool operator<=(const Brightness &other) const
Comparison operator.
Definition Settings2D.h:353
bool operator>(const Brightness &other) const
Comparison operator.
Definition Settings2D.h:347
bool operator<(const Brightness &other) const
Comparison operator.
Definition Settings2D.h:341
static constexpr Range< double > validRange()
The range of valid values for Brightness.
Definition Settings2D.h:300
static constexpr const char * name
The name of this value.
Definition Settings2D.h:279
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:273
constexpr Brightness(double value)
Constructor.
Definition Settings2D.h:309
std::string toString() const
Get the value as string.
bool operator!=(const Brightness &other) const
Comparison operator.
Definition Settings2D.h:335
bool operator>=(const Brightness &other) const
Comparison operator.
Definition Settings2D.h:359
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:365
static constexpr const char * description
The description for this value.
Definition Settings2D.h:282
double value() const
Get the value.
Brightness()=default
Default constructor.
bool hasValue() const
Check if the value is set.
void reset()
Reset the node to unset state.
double ValueType
The type of the underlying value.
Definition Settings2D.h:297
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:276
Exposure time for the image.
Definition Settings2D.h:391
static constexpr const char * description
The description for this value.
Definition Settings2D.h:403
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:394
bool operator>(const ExposureTime &other) const
Comparison operator.
Definition Settings2D.h:456
static constexpr const char * name
The name of this value.
Definition Settings2D.h:400
std::chrono::microseconds ValueType
The type of the underlying value.
Definition Settings2D.h:406
bool operator>=(const ExposureTime &other) const
Comparison operator.
Definition Settings2D.h:468
void reset()
Reset the node to unset state.
constexpr ExposureTime(std::chrono::microseconds value)
Constructor.
Definition Settings2D.h:418
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:397
std::chrono::microseconds value() const
Get the value.
bool operator<(const ExposureTime &other) const
Comparison operator.
Definition Settings2D.h:450
bool operator<=(const ExposureTime &other) const
Comparison operator.
Definition Settings2D.h:462
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime.
Definition Settings2D.h:409
bool operator!=(const ExposureTime &other) const
Comparison operator.
Definition Settings2D.h:444
std::string toString() const
Get the value as string.
ExposureTime()=default
Default constructor.
bool operator==(const ExposureTime &other) const
Comparison operator.
Definition Settings2D.h:438
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:474
bool hasValue() const
Check if the value is set.
Analog gain in the camera.
Definition Settings2D.h:501
bool operator>(const Gain &other) const
Comparison operator.
Definition Settings2D.h:566
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:504
bool operator!=(const Gain &other) const
Comparison operator.
Definition Settings2D.h:554
bool operator==(const Gain &other) const
Comparison operator.
Definition Settings2D.h:548
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:584
double ValueType
The type of the underlying value.
Definition Settings2D.h:516
Gain()=default
Default constructor.
std::string toString() const
Get the value as string.
static constexpr const char * description
The description for this value.
Definition Settings2D.h:513
void reset()
Reset the node to unset state.
static constexpr const char * name
The name of this value.
Definition Settings2D.h:510
constexpr Gain(double value)
Constructor.
Definition Settings2D.h:528
double value() const
Get the value.
bool hasValue() const
Check if the value is set.
bool operator>=(const Gain &other) const
Comparison operator.
Definition Settings2D.h:578
bool operator<=(const Gain &other) const
Comparison operator.
Definition Settings2D.h:572
static constexpr Range< double > validRange()
The range of valid values for Gain.
Definition Settings2D.h:519
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:507
bool operator<(const Gain &other) const
Comparison operator.
Definition Settings2D.h:560
Settings for one 2D acquisition.
Definition Settings2D.h:117
const Settings2D::Acquisition::Gain & get() const
Definition Settings2D.h:827
const ExposureTime & exposureTime() const
Get ExposureTime.
Definition Settings2D.h:763
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:858
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:868
const Settings2D::Acquisition::Aperture & get() const
Definition Settings2D.h:803
ExposureTime & exposureTime()
Get ExposureTime.
Definition Settings2D.h:769
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:886
bool operator!=(const Acquisition &other) const
Inequality operator.
Acquisition & set(const Gain &value)
Set Gain.
Definition Settings2D.h:794
std::string toString() const
Get the value as string.
static constexpr const char * name
The name of this value.
Definition Settings2D.h:126
Acquisition & set(const Aperture &value)
Set Aperture.
Definition Settings2D.h:737
Gain & gain()
Get Gain.
Definition Settings2D.h:788
bool operator==(const Acquisition &other) const
Equality operator.
Acquisition copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:705
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:670
const Settings2D::Acquisition::ExposureTime & get() const
Definition Settings2D.h:819
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:123
Acquisition()
Default constructor.
Aperture & aperture()
Get Aperture.
Definition Settings2D.h:731
static constexpr const char * description
The description for this value.
Definition Settings2D.h:129
const Aperture & aperture() const
Get Aperture.
Definition Settings2D.h:725
Acquisition & set(const Brightness &value)
Set Brightness.
Definition Settings2D.h:756
const Brightness & brightness() const
Get Brightness.
Definition Settings2D.h:744
Brightness & brightness()
Get Brightness.
Definition Settings2D.h:750
std::tuple< Settings2D::Acquisition::Aperture, Settings2D::Acquisition::Brightness, Settings2D::Acquisition::ExposureTime, Settings2D::Acquisition::Gain > Descendants
Definition Settings2D.h:606
const Gain & gain() const
Get Gain.
Definition Settings2D.h:782
const Settings2D::Acquisition::Brightness & get() const
Definition Settings2D.h:811
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:120
Acquisition & set(const ExposureTime &value)
Set ExposureTime.
Definition Settings2D.h:775
List of acquisitions used for 2D capture.
Definition Settings2D.h:910
const Settings2D::Acquisition & at(std::size_t pos) const
Returns a const reference to the element at position pos in the list.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Acquisitions.
Definition Settings2D.h:930
Acquisitions(std::initializer_list< Settings2D::Acquisition > value)
Constructor.
Definition Settings2D.h:944
static constexpr const char * description
The description for this value.
Definition Settings2D.h:922
Settings2D::Acquisition & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list.
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:916
const Settings2D::Acquisition & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in the list.
ConstIterator cbegin() const noexcept
Returns a constant iterator to the first element of the list.
Acquisitions(std::vector< Settings2D::Acquisition > value)
Constructor.
Definition Settings2D.h:939
void forEach(const F &f)
Run the given function on each element in the list.
Definition Settings2D.h:1001
ConstIterator cend() const noexcept
Returns a constant iterator to the element following the last element of the list.
Settings2D::Acquisition & at(std::size_t pos)
Returns a reference to the element at position pos in the list.
void forEach(const F &f) const
Run the given function on each element in the list.
Definition Settings2D.h:1011
std::vector< Settings2D::Acquisition > ValueType
The type of the underlying value.
Definition Settings2D.h:927
Iterator begin() noexcept
Returns an iterator to the first element of the list.
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1056
std::vector< Settings2D::Acquisition >::iterator Iterator
Iterator type for Acquisitions.
Definition Settings2D.h:1020
std::vector< Settings2D::Acquisition >::const_iterator ConstIterator
Constant iterator type for Acquisitions.
Definition Settings2D.h:1029
std::size_t size() const noexcept
Get the size of the list.
bool operator!=(const Acquisitions &other) const
Comparison operator.
Definition Settings2D.h:1050
Acquisitions()=default
Default constructor.
void emplaceBack(Args &&...args)
Appends a new element to the end of the list.
Definition Settings2D.h:966
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:913
static constexpr const char * name
The name of this value.
Definition Settings2D.h:919
Iterator end() noexcept
Returns an iterator to the element following the last element of the list.
bool isEmpty() const noexcept
Check if the list is empty.
const std::vector< Settings2D::Acquisition > & value() const
Get the value.
Enable or disable diagnostics.
Definition Settings2D.h:1105
static const Enabled no
Off/disabled.
Definition Settings2D.h:1122
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1117
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1108
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings2D.h:1125
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1114
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings2D.h:1160
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1111
void reset()
Reset the node to unset state.
bool value() const
Get the value.
static const Enabled yes
On/enabled.
Definition Settings2D.h:1121
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1166
Enabled()=default
Default constructor.
constexpr Enabled(bool value)
Constructor.
Definition Settings2D.h:1134
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings2D.h:1154
bool hasValue() const
Check if the value is set.
bool ValueType
The type of the underlying value.
Definition Settings2D.h:1120
std::string toString() const
Get the value as string.
When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when ...
Definition Settings2D.h:1079
friend std::ostream & operator<<(std::ostream &stream, const Diagnostics &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:1341
const Enabled & isEnabled() const
Get Enabled.
Definition Settings2D.h:1285
std::tuple< Settings2D::Diagnostics::Enabled > Descendants
Definition Settings2D.h:1179
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1091
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:1233
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1085
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1088
Diagnostics copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:1265
const Settings2D::Diagnostics::Enabled & get() const
Definition Settings2D.h:1306
Diagnostics & set(const Enabled &value)
Set Enabled.
Definition Settings2D.h:1297
bool operator==(const Diagnostics &other) const
Equality operator.
Enabled & isEnabled()
Get Enabled.
Definition Settings2D.h:1291
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:1326
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 Settings2D.h:1319
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1082
bool operator!=(const Diagnostics &other) const
Inequality operator.
Diagnostics()
Default constructor.
Digital gain applied to blue channel.
Definition Settings2D.h:1416
double value() const
Get the value.
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1425
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1501
bool operator<=(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1489
bool operator==(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1465
void reset()
Reset the node to unset state.
double ValueType
The type of the underlying value.
Definition Settings2D.h:1433
bool operator>(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1483
std::string toString() const
Get the value as string.
constexpr Blue(double value)
Constructor.
Definition Settings2D.h:1445
bool operator!=(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1471
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1428
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1419
bool hasValue() const
Check if the value is set.
static constexpr Range< double > validRange()
The range of valid values for Blue.
Definition Settings2D.h:1436
bool operator<(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1477
bool operator>=(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1495
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1422
Blue()=default
Default constructor.
Digital gain applied to green channel.
Definition Settings2D.h:1528
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1531
double ValueType
The type of the underlying value.
Definition Settings2D.h:1545
static constexpr Range< double > validRange()
The range of valid values for Green.
Definition Settings2D.h:1548
bool operator==(const Green &other) const
Comparison operator.
Definition Settings2D.h:1577
std::string toString() const
Get the value as string.
constexpr Green(double value)
Constructor.
Definition Settings2D.h:1557
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1537
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1613
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1540
bool operator<(const Green &other) const
Comparison operator.
Definition Settings2D.h:1589
bool hasValue() const
Check if the value is set.
bool operator<=(const Green &other) const
Comparison operator.
Definition Settings2D.h:1601
Green()=default
Default constructor.
bool operator>=(const Green &other) const
Comparison operator.
Definition Settings2D.h:1607
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1534
bool operator!=(const Green &other) const
Comparison operator.
Definition Settings2D.h:1583
bool operator>(const Green &other) const
Comparison operator.
Definition Settings2D.h:1595
double value() const
Get the value.
void reset()
Reset the node to unset state.
Digital gain applied to red channel.
Definition Settings2D.h:1640
double ValueType
The type of the underlying value.
Definition Settings2D.h:1657
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1725
bool operator>=(const Red &other) const
Comparison operator.
Definition Settings2D.h:1719
Red()=default
Default constructor.
bool operator<(const Red &other) const
Comparison operator.
Definition Settings2D.h:1701
bool operator<=(const Red &other) const
Comparison operator.
Definition Settings2D.h:1713
std::string toString() const
Get the value as string.
static constexpr Range< double > validRange()
The range of valid values for Red.
Definition Settings2D.h:1660
bool hasValue() const
Check if the value is set.
bool operator!=(const Red &other) const
Comparison operator.
Definition Settings2D.h:1695
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1649
double value() const
Get the value.
constexpr Red(double value)
Constructor.
Definition Settings2D.h:1669
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1643
bool operator==(const Red &other) const
Comparison operator.
Definition Settings2D.h:1689
void reset()
Reset the node to unset state.
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1646
bool operator>(const Red &other) const
Comparison operator.
Definition Settings2D.h:1707
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1652
Color balance settings.
Definition Settings2D.h:1398
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:1947
Blue & blue()
Get Blue.
Definition Settings2D.h:1872
bool operator!=(const Balance &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 Settings2D.h:1981
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:1972
std::tuple< Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red > Descendants
Definition Settings2D.h:1748
const Blue & blue() const
Get Blue.
Definition Settings2D.h:1866
bool operator==(const Balance &other) const
Equality operator.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1401
Balance & set(const Blue &value)
Set Blue.
Definition Settings2D.h:1878
Red & red()
Get Red.
Definition Settings2D.h:1910
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1404
Green & green()
Get Green.
Definition Settings2D.h:1891
Balance & set(const Green &value)
Set Green.
Definition Settings2D.h:1897
Balance copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:1845
const Green & green() const
Get Green.
Definition Settings2D.h:1885
Balance()
Default constructor.
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1410
Balance & set(const Red &value)
Set Red.
Definition Settings2D.h:1916
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:1937
const Red & red() const
Get Red.
Definition Settings2D.h:1904
std::string toString() const
Get the value as string.
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:1809
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:1998
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition Settings2D.h:1927
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1407
This setting controls how the color image is computed.
Definition Settings2D.h:2055
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:2061
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:2058
friend std::ostream & operator<<(std::ostream &stream, const Mode &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:2142
static constexpr const char * name
The name of this value.
Definition Settings2D.h:2064
static constexpr const char * description
The description for this value.
Definition Settings2D.h:2067
static const Mode toneMapping
toneMapping
Definition Settings2D.h:2092
bool operator==(const Mode &other) const
Comparison operator.
Definition Settings2D.h:2130
static const Mode automatic
automatic
Definition Settings2D.h:2091
bool operator!=(const Mode &other) const
Comparison operator.
Definition Settings2D.h:2136
Mode()=default
Default constructor.
void reset()
Reset the node to unset state.
constexpr Mode(ValueType value)
Constructor.
Definition Settings2D.h:2104
bool hasValue() const
Check if the value is set.
static std::set< ValueType > validValues()
All valid values of Mode.
Definition Settings2D.h:2095
friend std::ostream & operator<<(std::ostream &stream, const Mode::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings2D.h:2124
ValueType value() const
Get the value.
std::string toString() const
Get the value as string.
ValueType
The type of the underlying value.
Definition Settings2D.h:2087
@ automatic
Definition Settings2D.h:2088
@ toneMapping
Definition Settings2D.h:2089
Experimental color settings. These may be renamed, moved or deleted in the future.
Definition Settings2D.h:2021
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:2027
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:2318
Mode & mode()
Get Mode.
Definition Settings2D.h:2281
const Mode & mode() const
Get Mode.
Definition Settings2D.h:2275
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:2024
static constexpr const char * description
The description for this value.
Definition Settings2D.h:2033
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:2333
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:2311
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:2220
Experimental()
Default constructor.
std::tuple< Settings2D::Processing::Color::Experimental::Mode > Descendants
Definition Settings2D.h:2166
std::string toString() const
Get the value as string.
static constexpr const char * name
The name of this value.
Definition Settings2D.h:2030
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:2298
bool operator!=(const Experimental &other) const
Inequality operator.
bool operator==(const Experimental &other) const
Equality operator.
Experimental & set(const Mode &value)
Set Mode.
Definition Settings2D.h:2287
Experimental copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:2254
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition Settings2D.h:2356
double ValueType
The type of the underlying value.
Definition Settings2D.h:2375
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:2359
static constexpr Range< double > validRange()
The range of valid values for Gamma.
Definition Settings2D.h:2378
bool operator>(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2425
bool operator==(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2407
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:2443
bool operator!=(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2413
static constexpr const char * description
The description for this value.
Definition Settings2D.h:2368
bool hasValue() const
Check if the value is set.
std::string toString() const
Get the value as string.
bool operator<(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2419
static constexpr const char * name
The name of this value.
Definition Settings2D.h:2365
void reset()
Reset the node to unset state.
bool operator>=(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2437
constexpr Gamma(double value)
Constructor.
Definition Settings2D.h:2387
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:2362
Gamma()=default
Default constructor.
bool operator<=(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2431
double value() const
Get the value.
Color settings.
Definition Settings2D.h:1380
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:2538
Color & set(const Balance::Green &value)
Set Balance::Green.
Definition Settings2D.h:2624
bool operator!=(const Color &other) const
Inequality operator.
bool operator==(const Color &other) const
Equality operator.
const Experimental & experimental() const
Get Experimental.
Definition Settings2D.h:2638
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1386
std::string toString() const
Get the value as string.
const Balance & balance() const
Get Balance.
Definition Settings2D.h:2598
Color & set(const Balance::Blue &value)
Set Balance::Blue.
Definition Settings2D.h:2617
Balance & balance()
Get Balance.
Definition Settings2D.h:2604
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:2766
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:2792
Experimental & experimental()
Get Experimental.
Definition Settings2D.h:2644
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:2732
const Settings2D::Processing::Color::Gamma & get() const
Definition Settings2D.h:2741
Color & set(const Experimental::Mode &value)
Set Experimental::Mode.
Definition Settings2D.h:2657
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:2704
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1389
Gamma & gamma()
Get Gamma.
Definition Settings2D.h:2670
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1383
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:2713
const Settings2D::Processing::Color::Experimental & get() const
Definition Settings2D.h:2722
Color copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:2577
const Settings2D::Processing::Color::Balance & get() const
Definition Settings2D.h:2686
std::tuple< Settings2D::Processing::Color::Balance, Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red, Settings2D::Processing::Color::Experimental, Settings2D::Processing::Color::Experimental::Mode, Settings2D::Processing::Color::Gamma > Descendants
Definition Settings2D.h:2465
Color()
Default constructor.
const Gamma & gamma() const
Get Gamma.
Definition Settings2D.h:2664
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition Settings2D.h:2695
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1392
Color & set(const Balance &value)
Set Balance.
Definition Settings2D.h:2610
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:2775
Color & set(const Gamma &value)
Set Gamma.
Definition Settings2D.h:2676
Color & set(const Experimental &value)
Set Experimental.
Definition Settings2D.h:2650
Color & set(const Balance::Red &value)
Set Balance::Red.
Definition Settings2D.h:2631
2D processing settings.
Definition Settings2D.h:1362
const Settings2D::Processing::Color & get() const
Definition Settings2D.h:3016
static constexpr const char * description
The description for this value.
Definition Settings2D.h:1374
Processing & set(const Color::Gamma &value)
Set Color::Gamma.
Definition Settings2D.h:3007
bool operator!=(const Processing &other) const
Inequality operator.
bool operator==(const Processing &other) const
Equality operator.
Processing & set(const Color &value)
Set Color.
Definition Settings2D.h:2958
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:1365
Processing & set(const Color::Experimental &value)
Set Color::Experimental.
Definition Settings2D.h:2993
const Settings2D::Processing::Color::Balance & get() const
Definition Settings2D.h:3024
Processing & set(const Color::Experimental::Mode &value)
Set Color::Experimental::Mode.
Definition Settings2D.h:3000
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:3112
const Settings2D::Processing::Color::Experimental & get() const
Definition Settings2D.h:3060
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:3090
Color & color()
Get Color.
Definition Settings2D.h:2952
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:2887
std::tuple< Settings2D::Processing::Color, Settings2D::Processing::Color::Balance, Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red, Settings2D::Processing::Color::Experimental, Settings2D::Processing::Color::Experimental::Mode, Settings2D::Processing::Color::Gamma > Descendants
Definition Settings2D.h:2811
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue.
Definition Settings2D.h:2972
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:1368
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:3069
Processing & set(const Color::Balance &value)
Set Color::Balance.
Definition Settings2D.h:2965
const Color & color() const
Get Color.
Definition Settings2D.h:2946
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red.
Definition Settings2D.h:2986
const Settings2D::Processing::Color::Gamma & get() const
Definition Settings2D.h:3077
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:3051
Processing copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:2926
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition Settings2D.h:3033
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:3042
std::string toString() const
Get the value as string.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:3097
Processing()
Default constructor.
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green.
Definition Settings2D.h:2979
static constexpr const char * name
The name of this value.
Definition Settings2D.h:1371
Choose how to sample colors for the 2D image.
Definition Settings2D.h:3169
ValueType
The type of the underlying value.
Definition Settings2D.h:3201
@ grayscale
Definition Settings2D.h:3203
@ rgbStrongAmbientLight
Definition Settings2D.h:3204
@ rgbAmbientSuppression
Definition Settings2D.h:3205
@ rgb
Definition Settings2D.h:3202
Color()=default
Default constructor.
void reset()
Reset the node to unset state.
static const Color grayscale
grayscale
Definition Settings2D.h:3208
static std::set< ValueType > validValues()
All valid values of Color.
Definition Settings2D.h:3213
static const Color rgbAmbientSuppression
rgbAmbientSuppression
Definition Settings2D.h:3210
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:3172
ValueType value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:3263
constexpr Color(ValueType value)
Constructor.
Definition Settings2D.h:3225
static constexpr const char * description
The description for this value.
Definition Settings2D.h:3181
bool hasValue() const
Check if the value is set.
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:3175
static const Color rgb
rgb
Definition Settings2D.h:3207
bool operator==(const Color &other) const
Comparison operator.
Definition Settings2D.h:3251
bool operator!=(const Color &other) const
Comparison operator.
Definition Settings2D.h:3257
static constexpr const char * name
The name of this value.
Definition Settings2D.h:3178
std::string toString() const
Get the value as string.
static const Color rgbStrongAmbientLight
rgbStrongAmbientLight
Definition Settings2D.h:3209
friend std::ostream & operator<<(std::ostream &stream, const Color::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings2D.h:3245
Duration between successive sensor operations, in microseconds. The effective interval might be round...
Definition Settings2D.h:3329
friend std::ostream & operator<<(std::ostream &stream, const Duration &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:3417
std::chrono::microseconds ValueType
The type of the underlying value.
Definition Settings2D.h:3349
bool operator<(const Duration &other) const
Comparison operator.
Definition Settings2D.h:3393
static constexpr const char * name
The name of this value.
Definition Settings2D.h:3338
bool operator==(const Duration &other) const
Comparison operator.
Definition Settings2D.h:3381
std::chrono::microseconds value() const
Get the value.
void reset()
Reset the node to unset state.
bool operator>(const Duration &other) const
Comparison operator.
Definition Settings2D.h:3399
Duration()=default
Default constructor.
bool operator!=(const Duration &other) const
Comparison operator.
Definition Settings2D.h:3387
constexpr Duration(std::chrono::microseconds value)
Constructor.
Definition Settings2D.h:3361
bool operator>=(const Duration &other) const
Comparison operator.
Definition Settings2D.h:3411
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:3335
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for Duration.
Definition Settings2D.h:3352
std::string toString() const
Get the value as string.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:3332
bool operator<=(const Duration &other) const
Comparison operator.
Definition Settings2D.h:3405
static constexpr const char * description
The description for this value.
Definition Settings2D.h:3341
bool hasValue() const
Check if the value is set.
Enable or disable sampling interval.
Definition Settings2D.h:3444
bool value() const
Get the value.
static const Enabled no
Off/disabled.
Definition Settings2D.h:3463
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:3447
static constexpr const char * description
The description for this value.
Definition Settings2D.h:3456
Enabled()=default
Default constructor.
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:3450
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings2D.h:3495
void reset()
Reset the node to unset state.
static constexpr const char * name
The name of this value.
Definition Settings2D.h:3453
constexpr Enabled(bool value)
Constructor.
Definition Settings2D.h:3475
std::string toString() const
Get the value as string.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings2D.h:3466
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:3507
static const Enabled yes
On/enabled.
Definition Settings2D.h:3462
bool ValueType
The type of the underlying value.
Definition Settings2D.h:3461
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings2D.h:3501
Sampling interval controls the interval between successive sensor operations (e.g....
Definition Settings2D.h:3299
friend std::ostream & operator<<(std::ostream &stream, const Interval &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:3725
std::string toString() const
Get the value as string.
static constexpr const char * description
The description for this value.
Definition Settings2D.h:3311
Enabled & isEnabled()
Get Enabled.
Definition Settings2D.h:3657
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:3305
Interval copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:3611
bool operator==(const Interval &other) const
Equality operator.
Interval & set(const Duration &value)
Set Duration.
Definition Settings2D.h:3644
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:3709
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:3701
Duration & duration()
Get Duration.
Definition Settings2D.h:3638
std::tuple< Settings2D::Sampling::Interval::Duration, Settings2D::Sampling::Interval::Enabled > Descendants
Definition Settings2D.h:3520
const Settings2D::Sampling::Interval::Enabled & get() const
Definition Settings2D.h:3682
bool operator!=(const Interval &other) const
Inequality operator.
const Duration & duration() const
Get Duration.
Definition Settings2D.h:3632
Interval & set(const Enabled &value)
Set Enabled.
Definition Settings2D.h:3663
Interval()
Default constructor.
static constexpr const char * name
The name of this value.
Definition Settings2D.h:3308
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:3302
const Enabled & isEnabled() const
Get Enabled.
Definition Settings2D.h:3651
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:3577
const Settings2D::Sampling::Interval::Duration & get() const
Definition Settings2D.h:3673
Set the pixel sampling to use for the 2D capture. This setting defines how the camera sensor is sampl...
Definition Settings2D.h:3749
static const Pixel redSubsample4x4
redSubsample4x4
Definition Settings2D.h:3782
static const Pixel by2x2
by2x2
Definition Settings2D.h:3783
Pixel()=default
Default constructor.
constexpr Pixel(ValueType value)
Constructor.
Definition Settings2D.h:3802
ValueType
The type of the underlying value.
Definition Settings2D.h:3769
@ by4x4
Definition Settings2D.h:3776
@ redSubsample2x2
Definition Settings2D.h:3772
@ blueSubsample4x4
Definition Settings2D.h:3773
@ blueSubsample2x2
Definition Settings2D.h:3771
@ by2x2
Definition Settings2D.h:3775
@ redSubsample4x4
Definition Settings2D.h:3774
@ all
Definition Settings2D.h:3770
static const Pixel by4x4
by4x4
Definition Settings2D.h:3784
bool operator!=(const Pixel &other) const
Comparison operator.
Definition Settings2D.h:3834
ValueType value() const
Get the value.
bool operator==(const Pixel &other) const
Comparison operator.
Definition Settings2D.h:3828
static const Pixel redSubsample2x2
redSubsample2x2
Definition Settings2D.h:3780
static const Pixel all
all
Definition Settings2D.h:3778
static std::set< ValueType > validValues()
All valid values of Pixel.
Definition Settings2D.h:3787
static constexpr const char * name
The name of this value.
Definition Settings2D.h:3758
std::string toString() const
Get the value as string.
static const Pixel blueSubsample2x2
blueSubsample2x2
Definition Settings2D.h:3779
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:3752
friend std::ostream & operator<<(std::ostream &stream, const Pixel::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings2D.h:3822
friend std::ostream & operator<<(std::ostream &stream, const Pixel &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:3840
static constexpr const char * description
The description for this value.
Definition Settings2D.h:3761
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:3755
void reset()
Reset the node to unset state.
static const Pixel blueSubsample4x4
blueSubsample4x4
Definition Settings2D.h:3781
bool hasValue() const
Check if the value is set.
Sampling settings.
Definition Settings2D.h:3134
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:4129
bool operator==(const Sampling &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:3933
const Settings2D::Sampling::Interval::Duration & get() const
Definition Settings2D.h:4079
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:3137
const Settings2D::Sampling::Pixel & get() const
Definition Settings2D.h:4095
const Settings2D::Sampling::Interval::Enabled & get() const
Definition Settings2D.h:4087
Sampling & set(const Interval::Enabled &value)
Set Interval::Enabled.
Definition Settings2D.h:4034
Sampling & set(const Pixel &value)
Set Pixel.
Definition Settings2D.h:4053
const Pixel & pixel() const
Get Pixel.
Definition Settings2D.h:4041
Pixel & pixel()
Get Pixel.
Definition Settings2D.h:4047
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:3140
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 Settings2D.h:4120
const Settings2D::Sampling::Color & get() const
Definition Settings2D.h:4062
friend std::ostream & operator<<(std::ostream &stream, const Sampling &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:4146
bool operator!=(const Sampling &other) const
Inequality operator.
static constexpr const char * description
The description for this value.
Definition Settings2D.h:3146
Sampling & set(const Interval::Duration &value)
Set Interval::Duration.
Definition Settings2D.h:4027
const Color & color() const
Get Color.
Definition Settings2D.h:3989
Sampling & set(const Interval &value)
Set Interval.
Definition Settings2D.h:4020
Sampling & set(const Color &value)
Set Color.
Definition Settings2D.h:4001
Sampling copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:3969
Color & color()
Get Color.
Definition Settings2D.h:3995
const Interval & interval() const
Get Interval.
Definition Settings2D.h:4008
const Settings2D::Sampling::Interval & get() const
Definition Settings2D.h:4070
Interval & interval()
Get Interval.
Definition Settings2D.h:4014
Sampling()
Default constructor.
std::tuple< Settings2D::Sampling::Color, Settings2D::Sampling::Interval, Settings2D::Sampling::Interval::Duration, Settings2D::Sampling::Interval::Enabled, Settings2D::Sampling::Pixel > Descendants
Definition Settings2D.h:3866
static constexpr const char * name
The name of this value.
Definition Settings2D.h:3143
Settings used when capturing 2D images with a Zivid camera.
Definition Settings2D.h:79
Settings2D & set(const Processing &value)
Set Processing.
Definition Settings2D.h:4412
const Settings2D::Sampling::Pixel & get() const
Definition Settings2D.h:4662
static constexpr size_t version
Definition Settings2D.h:95
const Settings2D::Processing::Color & get() const
Definition Settings2D.h:4557
Settings2D & set(const Sampling::Interval::Enabled &value)
Set Sampling::Interval::Enabled.
Definition Settings2D.h:4515
Sampling & sampling()
Get Sampling.
Definition Settings2D.h:4481
const Settings2D::Sampling::Color & get() const
Definition Settings2D.h:4630
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:4591
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:4583
Settings2D & set(const Sampling::Color &value)
Set Sampling::Color.
Definition Settings2D.h:4494
const Settings2D::Diagnostics::Enabled & get() const
Definition Settings2D.h:4543
const Diagnostics & diagnostics() const
Get Diagnostics.
Definition Settings2D.h:4374
void save(const std::string &fileName) const
Save to the given file.
std::string serialize() const
Serialize to a string.
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition Settings2D.h:4574
const Acquisitions & acquisitions() const
Get Acquisitions.
Definition Settings2D.h:4355
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:4703
Settings2D & set(const Diagnostics::Enabled &value)
Set Diagnostics::Enabled.
Definition Settings2D.h:4393
Settings2D & set(const Sampling::Interval &value)
Set Sampling::Interval.
Definition Settings2D.h:4501
Diagnostics & diagnostics()
Get Diagnostics.
Definition Settings2D.h:4380
Settings2D & set(const Sampling &value)
Set Sampling.
Definition Settings2D.h:4487
Settings2D(Args &&...args)
Constructor taking variadic number of arguments.
Definition Settings2D.h:4243
const Settings2D::Sampling::Interval & get() const
Definition Settings2D.h:4638
const Settings2D::Diagnostics & get() const
Definition Settings2D.h:4535
const Settings2D::Acquisitions & get() const
Definition Settings2D.h:4529
Settings2D()
Default constructor.
const Settings2D::Processing::Color::Gamma & get() const
Definition Settings2D.h:4616
Settings2D & set(const Acquisitions &value)
Set Acquisitions.
Definition Settings2D.h:4367
Settings2D(const std::string &fileName)
Construct Settings2D by loading from file.
Settings2D & set(const Sampling::Interval::Duration &value)
Set Sampling::Interval::Duration.
Definition Settings2D.h:4508
const Settings2D::Sampling & get() const
Definition Settings2D.h:4622
const Settings2D::Sampling::Interval::Duration & get() const
Definition Settings2D.h:4646
void load(const std::string &fileName)
Load from the given file.
const Settings2D::Processing::Color::Balance & get() const
Definition Settings2D.h:4565
Settings2D & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green.
Definition Settings2D.h:4440
bool operator!=(const Settings2D &other) const
Inequality operator.
Settings2D & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance.
Definition Settings2D.h:4426
const Settings2D::Processing::Color::Experimental & get() const
Definition Settings2D.h:4599
const Settings2D::Processing & get() const
Definition Settings2D.h:4549
static Settings2D fromSerialized(const std::string &value)
Construct a new Settings2D instance from a previously serialized string.
Settings2D & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red.
Definition Settings2D.h:4447
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:4287
Processing & processing()
Get Processing.
Definition Settings2D.h:4406
const Processing & processing() const
Get Processing.
Definition Settings2D.h:4400
std::tuple< Settings2D::Acquisitions, Settings2D::Diagnostics, Settings2D::Diagnostics::Enabled, Settings2D::Processing, Settings2D::Processing::Color, Settings2D::Processing::Color::Balance, Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red, Settings2D::Processing::Color::Experimental, Settings2D::Processing::Color::Experimental::Mode, Settings2D::Processing::Color::Gamma, Settings2D::Sampling, Settings2D::Sampling::Color, Settings2D::Sampling::Interval, Settings2D::Sampling::Interval::Duration, Settings2D::Sampling::Interval::Enabled, Settings2D::Sampling::Pixel > Descendants
Definition Settings2D.h:4165
Settings2D copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings2D.h:4336
Settings2D & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue.
Definition Settings2D.h:4433
Settings2D & set(const Processing::Color::Experimental::Mode &value)
Set Processing::Color::Experimental::Mode.
Definition Settings2D.h:4461
Acquisitions & acquisitions()
Get Acquisitions.
Definition Settings2D.h:4361
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition Settings2D.h:82
std::string toString() const
Get the value as string.
Settings2D & set(const Processing::Color::Experimental &value)
Set Processing::Color::Experimental.
Definition Settings2D.h:4454
Settings2D & set(const Sampling::Pixel &value)
Set Sampling::Pixel.
Definition Settings2D.h:4522
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:4693
const Settings2D::Sampling::Interval::Enabled & get() const
Definition Settings2D.h:4654
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:4608
bool operator==(const Settings2D &other) const
Equality operator.
static constexpr const char * path
The full path for this value.
Definition Settings2D.h:85
const Sampling & sampling() const
Get Sampling.
Definition Settings2D.h:4475
Settings2D & set(const Diagnostics &value)
Set Diagnostics.
Definition Settings2D.h:4386
friend std::ostream & operator<<(std::ostream &stream, const Settings2D &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:4721
static constexpr const char * description
The description for this value.
Definition Settings2D.h:91
static constexpr const char * name
The name of this value.
Definition Settings2D.h:88
Settings2D & set(const Processing::Color &value)
Set Processing::Color.
Definition Settings2D.h:4419
Settings2D & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma.
Definition Settings2D.h:4468
NodeType
Definition NodeType.h:49
@ leafDataModelList
Definition NodeType.h:51
@ leafValue
Definition NodeType.h:52
@ group
Definition NodeType.h:50
Definition EnvironmentInfo.h:74
Definition Calibration.h:59
Get version information for the library.
Definition Version.h:58
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:85