69# pragma warning(disable : 4251)
85 static constexpr const char *path{
"" };
88 static constexpr const char *name{
"Settings2D" };
91 static constexpr const char *description{
92 R
"description(Settings used when capturing 2D images with a Zivid camera.)description"
95 static constexpr size_t version{ 7 };
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" };
156 static constexpr const char *description{
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;
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" };
282 static constexpr const char *description{
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;
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{ 900 }, 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;
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" };
528 explicit constexpr Gain(
double value)
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;
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" };
922 static constexpr const char *description{
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) }
944 explicit Acquisitions(std::initializer_list<Settings2D::Acquisition> value)
949 const std::vector<Settings2D::Acquisition> &
value()
const;
955 std::size_t
size() const noexcept;
958 bool isEmpty() const noexcept;
965 template<typename... Args>
966 void emplaceBack(Args &&...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;
1062 void setFromString(
const std::string &value);
1064 std::vector<Settings2D::Acquisition> m_value{};
1066 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1079 static constexpr const char *path{
"Processing" };
1082 static constexpr const char *name{
"Processing" };
1085 static constexpr const char *description{ R
"description(2D processing settings.)description" };
1097 static constexpr const char *path{
"Processing/Color" };
1100 static constexpr const char *name{
"Color" };
1103 static constexpr const char *description{ R
"description(Color settings.)description" };
1115 static constexpr const char *path{
"Processing/Color/Balance" };
1118 static constexpr const char *name{
"Balance" };
1121 static constexpr const char *description{ R
"description(Color balance settings.)description" };
1133 static constexpr const char *path{
"Processing/Color/Balance/Blue" };
1136 static constexpr const char *name{
"Blue" };
1139 static constexpr const char *description{
1140 R
"description(Digital gain applied to blue channel.)description"
1149 return { 1.0, 8.0 };
1156 explicit constexpr Blue(
double value)
1157 : m_opt{ verifyValue(value) }
1178 return m_opt == other.m_opt;
1184 return m_opt != other.m_opt;
1190 return m_opt < other.m_opt;
1196 return m_opt > other.m_opt;
1202 return m_opt <= other.m_opt;
1208 return m_opt >= other.m_opt;
1218 void setFromString(
const std::string &value);
1220 constexpr ValueType
static verifyValue(
const ValueType &value)
1222 return validRange().isInRange(value)
1224 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1225 +
" } is not in range ["
1226 + std::to_string(validRange().min()) +
", "
1227 + std::to_string(validRange().max()) +
"]" };
1230 std::optional<double> m_opt;
1232 friend struct DataModel::Detail::Befriend<
Blue>;
1245 static constexpr const char *path{
"Processing/Color/Balance/Green" };
1248 static constexpr const char *name{
"Green" };
1251 static constexpr const char *description{
1252 R
"description(Digital gain applied to green channel.)description"
1261 return { 1.0, 8.0 };
1269 : m_opt{ verifyValue(value) }
1290 return m_opt == other.m_opt;
1296 return m_opt != other.m_opt;
1302 return m_opt < other.m_opt;
1308 return m_opt > other.m_opt;
1314 return m_opt <= other.m_opt;
1320 return m_opt >= other.m_opt;
1330 void setFromString(
const std::string &value);
1332 constexpr ValueType
static verifyValue(
const ValueType &value)
1334 return validRange().isInRange(value)
1336 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1337 +
" } is not in range ["
1338 + std::to_string(validRange().min()) +
", "
1339 + std::to_string(validRange().max()) +
"]" };
1342 std::optional<double> m_opt;
1344 friend struct DataModel::Detail::Befriend<
Green>;
1357 static constexpr const char *path{
"Processing/Color/Balance/Red" };
1360 static constexpr const char *name{
"Red" };
1363 static constexpr const char *description{
1364 R
"description(Digital gain applied to red channel.)description"
1373 return { 1.0, 8.0 };
1380 explicit constexpr Red(
double value)
1381 : m_opt{ verifyValue(value) }
1402 return m_opt == other.m_opt;
1408 return m_opt != other.m_opt;
1414 return m_opt < other.m_opt;
1420 return m_opt > other.m_opt;
1426 return m_opt <= other.m_opt;
1432 return m_opt >= other.m_opt;
1442 void setFromString(
const std::string &value);
1444 constexpr ValueType
static verifyValue(
const ValueType &value)
1446 return validRange().isInRange(value)
1448 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1449 +
" } is not in range ["
1450 + std::to_string(validRange().min()) +
", "
1451 + std::to_string(validRange().max()) +
"]" };
1454 std::optional<double> m_opt;
1456 friend struct DataModel::Detail::Befriend<
Red>;
1483 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1484 typename std::enable_if<
1485 Zivid::Detail::TypeTraits::
1486 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
1489 template<typename... Args>
1493 using namespace Zivid::Detail::TypeTraits;
1496 AllArgsDecayedAreUnique<Args...>::value,
1497 "Found duplicate types among the arguments passed to Balance(...). "
1498 "Types should be listed at most once.");
1500 set(std::forward<Args>(args)...);
1516 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1518 template<typename... Args>
1522 using namespace Zivid::Detail::TypeTraits;
1524 using AllArgsAreDescendantNodes =
1525 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1527 AllArgsAreDescendantNodes::value,
1528 "All arguments passed to set(...) must be descendant nodes.");
1531 AllArgsDecayedAreUnique<Args...>::value,
1532 "Found duplicate types among the arguments passed to set(...). "
1533 "Types should be listed at most once.");
1535 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1552 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1554 template<typename... Args>
1558 using namespace Zivid::Detail::TypeTraits;
1560 using AllArgsAreDescendantNodes =
1561 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1563 AllArgsAreDescendantNodes::value,
1564 "All arguments passed to copyWith(...) must be descendant nodes.");
1567 AllArgsDecayedAreUnique<Args...>::value,
1568 "Found duplicate types among the arguments passed to copyWith(...). "
1569 "Types should be listed at most once.");
1572 copy.set(std::forward<Args>(args)...);
1635 typename std::enable_if<
1636 std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1645 typename std::enable_if<
1646 std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1655 typename std::enable_if<
1656 std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1663 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1669 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1675 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1682 template<
typename F>
1691 template<
typename F>
1715 void setFromString(
const std::string &value);
1717 void setFromString(
const std::string &fullPath,
const std::string &value);
1719 std::string getString(
const std::string &fullPath)
const;
1725 friend struct DataModel::Detail::Befriend<
Balance>;
1738 static constexpr const char *path{
"Processing/Color/Experimental" };
1741 static constexpr const char *name{
"Experimental" };
1744 static constexpr const char *description{
1745 R
"description(Experimental color settings. These may be renamed, moved or deleted in the future.)description"
1772 static constexpr const char *path{
"Processing/Color/Experimental/Mode" };
1775 static constexpr const char *name{
"Mode" };
1778 static constexpr const char *description{
1779 R
"description(This setting controls how the color image is computed.
1781`automatic` is the default option. It performs tone mapping for HDR captures, but not for
1782single-acquisition captures. Use this mode with a single acquisition if you want to have
1783the most control over the colors in the image.
1785`toneMapping` uses all the acquisitions to create one merged and normalized color image. For
1786HDR captures the dynamic range of the captured images is usually higher than the 8-bit color
1787image range. `toneMapping` will map the HDR color data to the 8-bit color output range by
1788applying a scaling factor. `toneMapping` can also be used for single-acquisition captures to
1789normalize the captured color image to the full 8-bit output. Note that when using `toneMapping`
1790mode the color values can be inconsistent over repeated captures if you move, add or remove
1791objects in the scene. For the most control over the colors in the single-acquisition case,
1792select the `automatic` mode.
1808 return { ValueType::automatic, ValueType::toneMapping };
1816 : m_opt{ verifyValue(value) }
1843 return m_opt == other.m_opt;
1849 return m_opt != other.m_opt;
1859 void setFromString(
const std::string &value);
1861 constexpr ValueType
static verifyValue(
const ValueType &value)
1863 return value == ValueType::automatic || value == ValueType::toneMapping
1865 :
throw std::invalid_argument{
1866 "Invalid value: Mode{ "
1867 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value))
1872 std::optional<ValueType> m_opt;
1874 friend struct DataModel::Detail::Befriend<
Mode>;
1877 using Descendants = std::tuple<Settings2D::Processing::Color::Experimental::Mode>;
1896 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1897 typename std::enable_if<
1898 Zivid::Detail::TypeTraits::
1899 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
1902 template<typename... Args>
1906 using namespace Zivid::Detail::TypeTraits;
1909 AllArgsDecayedAreUnique<Args...>::value,
1910 "Found duplicate types among the arguments passed to Experimental(...). "
1911 "Types should be listed at most once.");
1913 set(std::forward<Args>(args)...);
1927 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1929 template<typename... Args>
1933 using namespace Zivid::Detail::TypeTraits;
1935 using AllArgsAreDescendantNodes =
1936 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1938 AllArgsAreDescendantNodes::value,
1939 "All arguments passed to set(...) must be descendant nodes.");
1942 AllArgsDecayedAreUnique<Args...>::value,
1943 "Found duplicate types among the arguments passed to set(...). "
1944 "Types should be listed at most once.");
1946 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1961 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1963 template<typename... Args>
1967 using namespace Zivid::Detail::TypeTraits;
1969 using AllArgsAreDescendantNodes =
1970 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1972 AllArgsAreDescendantNodes::value,
1973 "All arguments passed to copyWith(...) must be descendant nodes.");
1976 AllArgsDecayedAreUnique<Args...>::value,
1977 "Found duplicate types among the arguments passed to copyWith(...). "
1978 "Types should be listed at most once.");
1981 copy.set(std::forward<Args>(args)...);
2006 typename std::enable_if<
2007 std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
2014 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2021 template<
typename F>
2028 template<
typename F>
2050 void setFromString(
const std::string &value);
2052 void setFromString(
const std::string &fullPath,
const std::string &value);
2054 std::string getString(
const std::string &fullPath)
const;
2058 friend struct DataModel::Detail::Befriend<
Experimental>;
2073 static constexpr const char *path{
"Processing/Color/Gamma" };
2076 static constexpr const char *name{
"Gamma" };
2079 static constexpr const char *description{
2080 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
2081greater than 1 makes the colors darker.
2091 return { 0.25, 1.5 };
2099 : m_opt{ verifyValue(value) }
2120 return m_opt == other.m_opt;
2126 return m_opt != other.m_opt;
2132 return m_opt < other.m_opt;
2138 return m_opt > other.m_opt;
2144 return m_opt <= other.m_opt;
2150 return m_opt >= other.m_opt;
2160 void setFromString(
const std::string &value);
2162 constexpr ValueType
static verifyValue(
const ValueType &value)
2164 return validRange().isInRange(value)
2166 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
2167 + std::to_string(validRange().min()) +
", "
2168 + std::to_string(validRange().max()) +
"]" };
2171 std::optional<double> m_opt;
2173 friend struct DataModel::Detail::Befriend<
Gamma>;
2208 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2209 typename std::enable_if<
2210 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2214 template<typename... Args>
2218 using namespace Zivid::Detail::TypeTraits;
2221 AllArgsDecayedAreUnique<Args...>::value,
2222 "Found duplicate types among the arguments passed to Color(...). "
2223 "Types should be listed at most once.");
2225 set(std::forward<Args>(args)...);
2245 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2247 template<typename... Args>
2251 using namespace Zivid::Detail::TypeTraits;
2253 using AllArgsAreDescendantNodes =
2254 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2256 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2259 AllArgsDecayedAreUnique<Args...>::value,
2260 "Found duplicate types among the arguments passed to set(...). "
2261 "Types should be listed at most once.");
2263 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2284 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2286 template<typename... Args>
2290 using namespace Zivid::Detail::TypeTraits;
2292 using AllArgsAreDescendantNodes =
2293 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2295 AllArgsAreDescendantNodes::value,
2296 "All arguments passed to copyWith(...) must be descendant nodes.");
2299 AllArgsDecayedAreUnique<Args...>::value,
2300 "Found duplicate types among the arguments passed to copyWith(...). "
2301 "Types should be listed at most once.");
2304 copy.set(std::forward<Args>(args)...);
2330 m_balance.
set(value);
2337 m_balance.
set(value);
2344 m_balance.
set(value);
2351 return m_experimental;
2357 return m_experimental;
2363 m_experimental = value;
2370 m_experimental.
set(value);
2395 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type =
2404 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
2414 enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type = 0>
2422 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
2431 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental>::value,
int>::
2435 return m_experimental;
2440 typename std::enable_if<
2441 std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
2450 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type =
2457 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2463 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2466 return m_experimental;
2469 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2476 template<
typename F>
2485 template<
typename F>
2509 void setFromString(
const std::string &value);
2511 void setFromString(
const std::string &fullPath,
const std::string &value);
2513 std::string getString(
const std::string &fullPath)
const;
2516 Experimental m_experimental;
2519 friend struct DataModel::Detail::Befriend<
Color>;
2556 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2557 typename std::enable_if<
2558 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2562 template<typename... Args>
2566 using namespace Zivid::Detail::TypeTraits;
2569 AllArgsDecayedAreUnique<Args...>::value,
2570 "Found duplicate types among the arguments passed to Processing(...). "
2571 "Types should be listed at most once.");
2573 set(std::forward<Args>(args)...);
2594 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2596 template<typename... Args>
2600 using namespace Zivid::Detail::TypeTraits;
2602 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2604 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2607 AllArgsDecayedAreUnique<Args...>::value,
2608 "Found duplicate types among the arguments passed to set(...). "
2609 "Types should be listed at most once.");
2611 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2633 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2635 template<typename... Args>
2639 using namespace Zivid::Detail::TypeTraits;
2641 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2643 AllArgsAreDescendantNodes::value,
2644 "All arguments passed to copyWith(...) must be descendant nodes.");
2647 AllArgsDecayedAreUnique<Args...>::value,
2648 "Found duplicate types among the arguments passed to copyWith(...). "
2649 "Types should be listed at most once.");
2652 copy.set(std::forward<Args>(args)...);
2726 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2734 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2742 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
2751 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::
2760 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
2769 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental>::value,
int>::
2779 enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
int>::type = 0>
2787 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2793 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2800 template<
typename F>
2807 template<
typename F>
2829 void setFromString(
const std::string &value);
2831 void setFromString(
const std::string &fullPath,
const std::string &value);
2833 std::string getString(
const std::string &fullPath)
const;
2837 friend struct DataModel::Detail::Befriend<
Processing>;
2851 static constexpr const char *path{
"Sampling" };
2854 static constexpr const char *name{
"Sampling" };
2857 static constexpr const char *description{ R
"description(Sampling settings.
2875 static constexpr const char *path{
"Sampling/Color" };
2878 static constexpr const char *name{
"Color" };
2881 static constexpr const char *description{
2882 R
"description(Choose how to sample colors for the 2D image. The `rgb` option gives an image
2883with full colors. The `grayscale` option gives a grayscale (r=g=b) image, which
2884can be acquired faster than full colors.
2886The `grayscale` option is not available on all camera models.
2902 return { ValueType::rgb, ValueType::grayscale };
2910 : m_opt{ verifyValue(value) }
2937 return m_opt == other.m_opt;
2943 return m_opt != other.m_opt;
2953 void setFromString(
const std::string &value);
2955 constexpr ValueType
static verifyValue(
const ValueType &value)
2957 return value == ValueType::rgb || value == ValueType::grayscale
2959 :
throw std::invalid_argument{
2960 "Invalid value: Color{ "
2961 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
2965 std::optional<ValueType> m_opt;
2967 friend struct DataModel::Detail::Befriend<
Color>;
2982 static constexpr const char *path{
"Sampling/Pixel" };
2985 static constexpr const char *name{
"Pixel" };
2988 static constexpr const char *description{
2989 R
"description(Set the pixel sampling to use for the 2D capture. This setting defines how the camera sensor is sampled.
2990When doing 2D+3D capture, picking the same value that is used for 3D is generally recommended.
3016 return { ValueType::all,
3017 ValueType::blueSubsample2x2,
3018 ValueType::redSubsample2x2,
3019 ValueType::blueSubsample4x4,
3020 ValueType::redSubsample4x4,
3030 : m_opt{ verifyValue(value) }
3057 return m_opt == other.m_opt;
3063 return m_opt != other.m_opt;
3073 void setFromString(
const std::string &value);
3075 constexpr ValueType
static verifyValue(
const ValueType &value)
3077 return value == ValueType::all || value == ValueType::blueSubsample2x2
3078 || value == ValueType::redSubsample2x2 || value == ValueType::blueSubsample4x4
3079 || value == ValueType::redSubsample4x4 || value == ValueType::by2x2
3080 || value == ValueType::by4x4
3082 :
throw std::invalid_argument{
3083 "Invalid value: Pixel{ "
3084 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
3088 std::optional<ValueType> m_opt;
3090 friend struct DataModel::Detail::Befriend<
Pixel>;
3093 using Descendants = std::tuple<Settings2D::Sampling::Color, Settings2D::Sampling::Pixel>;
3113 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3114 typename std::enable_if<
3115 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
3119 template<typename... Args>
3123 using namespace Zivid::Detail::TypeTraits;
3126 AllArgsDecayedAreUnique<Args...>::value,
3127 "Found duplicate types among the arguments passed to Sampling(...). "
3128 "Types should be listed at most once.");
3130 set(std::forward<Args>(args)...);
3145 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3147 template<typename... Args>
3151 using namespace Zivid::Detail::TypeTraits;
3153 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3155 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
3158 AllArgsDecayedAreUnique<Args...>::value,
3159 "Found duplicate types among the arguments passed to set(...). "
3160 "Types should be listed at most once.");
3162 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3178 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3180 template<typename... Args>
3184 using namespace Zivid::Detail::TypeTraits;
3186 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3188 AllArgsAreDescendantNodes::value,
3189 "All arguments passed to copyWith(...) must be descendant nodes.");
3192 AllArgsDecayedAreUnique<Args...>::value,
3193 "Found duplicate types among the arguments passed to copyWith(...). "
3194 "Types should be listed at most once.");
3197 copy.set(std::forward<Args>(args)...);
3241 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Color>::value,
int>::type = 0>
3249 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Pixel>::value,
int>::type = 0>
3255 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3261 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3268 template<
typename F>
3276 template<
typename F>
3299 void setFromString(
const std::string &value);
3301 void setFromString(
const std::string &fullPath,
const std::string &value);
3303 std::string getString(
const std::string &fullPath)
const;
3308 friend struct DataModel::Detail::Befriend<
Sampling>;
3372 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3373 typename std::enable_if<
3374 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
3377 template<typename... Args>
3381 using namespace Zivid::Detail::TypeTraits;
3384 AllArgsDecayedAreUnique<Args...>::value,
3385 "Found duplicate types among the arguments passed to Settings2D(...). "
3386 "Types should be listed at most once.");
3388 set(std::forward<Args>(args)...);
3414 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3416 template<typename... Args>
3420 using namespace Zivid::Detail::TypeTraits;
3422 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3424 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
3427 AllArgsDecayedAreUnique<Args...>::value,
3428 "Found duplicate types among the arguments passed to set(...). "
3429 "Types should be listed at most once.");
3431 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3458 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3460 template<typename... Args>
3464 using namespace Zivid::Detail::TypeTraits;
3466 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3468 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
3471 AllArgsDecayedAreUnique<Args...>::value,
3472 "Found duplicate types among the arguments passed to copyWith(...). "
3473 "Types should be listed at most once.");
3476 copy.set(std::forward<Args>(args)...);
3483 return m_acquisitions;
3489 return m_acquisitions;
3495 m_acquisitions = value;
3502 return m_processing;
3508 return m_processing;
3514 m_processing = value;
3521 m_processing.
set(value);
3528 m_processing.
set(value);
3535 m_processing.
set(value);
3542 m_processing.
set(value);
3549 m_processing.
set(value);
3556 m_processing.
set(value);
3563 m_processing.
set(value);
3570 m_processing.
set(value);
3596 m_sampling.
set(value);
3603 m_sampling.
set(value);
3607 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Acquisitions>::value,
int>::type = 0>
3610 return m_acquisitions;
3613 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Processing>::value,
int>::type = 0>
3616 return m_processing;
3621 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
3629 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
3637 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::type =
3646 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type =
3655 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::type = 0>
3663 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental>::value,
int>::type = 0>
3671 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Experimental::Mode>::value,
int>::
3680 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
3686 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Sampling>::value,
int>::type = 0>
3694 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Color>::value,
int>::type = 0>
3702 typename std::enable_if<std::is_same<T, Settings2D::Sampling::Pixel>::value,
int>::type = 0>
3708 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3711 return m_acquisitions;
3714 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3717 return m_processing;
3720 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
3727 template<
typename F>
3736 template<
typename F>
3760 void save(
const std::string &fileName)
const;
3763 void load(
const std::string &fileName);
3766 void setFromString(
const std::string &value);
3768 void setFromString(
const std::string &fullPath,
const std::string &value);
3770 std::string getString(
const std::string &fullPath)
const;
3776 friend struct DataModel::Detail::Befriend<
Settings2D>;
3781 struct Settings2D::Version<7>
3804# pragma warning(pop)
3808# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
3813 struct tuple_size<
Zivid::Settings2D::Processing> : integral_constant<size_t, 1>
3817 struct tuple_element<i,
Zivid::Settings2D::Processing>
3819 static_assert(i < tuple_size<Zivid::Settings2D::Processing>::value,
"Index must be less than 1");
3822 =
decltype(declval<Zivid::Settings2D::Processing>().get<i>());
3826 struct tuple_size<
Zivid::Settings2D::Processing::Color> : integral_constant<size_t, 3>
3830 struct tuple_element<i,
Zivid::Settings2D::Processing::Color>
3832 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color>::value,
"Index must be less than 3");
3835 =
decltype(declval<Zivid::Settings2D::Processing::Color>().get<i>());
3839 struct tuple_size<
Zivid::Settings2D::Processing::Color::Balance> : integral_constant<size_t, 3>
3843 struct tuple_element<i,
Zivid::Settings2D::Processing::Color::Balance>
3846 i < tuple_size<Zivid::Settings2D::Processing::Color::Balance>::value,
3847 "Index must be less than 3");
3850 =
decltype(declval<Zivid::Settings2D::Processing::Color::Balance>().get<i>());
3854 struct tuple_size<
Zivid::Settings2D::Processing::Color::Experimental> : integral_constant<size_t, 1>
3858 struct tuple_element<i,
Zivid::Settings2D::Processing::Color::Experimental>
3861 i < tuple_size<Zivid::Settings2D::Processing::Color::Experimental>::value,
3862 "Index must be less than 1");
3865 =
decltype(declval<Zivid::Settings2D::Processing::Color::Experimental>().get<i>());
3869 struct tuple_size<
Zivid::Settings2D::Sampling> : integral_constant<size_t, 2>
3873 struct tuple_element<i,
Zivid::Settings2D::Sampling>
3875 static_assert(i < tuple_size<Zivid::Settings2D::Sampling>::value,
"Index must be less than 2");
3878 =
decltype(declval<Zivid::Settings2D::Sampling>().get<i>());
3882 struct tuple_size<
Zivid::Settings2D> : integral_constant<size_t, 3>
3886 struct tuple_element<i,
Zivid::Settings2D>
3888 static_assert(i < tuple_size<Zivid::Settings2D>::value,
"Index must be less than 3");
3891 =
decltype(declval<Zivid::Settings2D>().get<i>());
3900#if defined(__has_include) && !defined(NO_DOC)
3901# if __has_include("Zivid/Settings2DInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
3902# 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
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
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
bool hasValue() const
Check if the value is set.
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
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
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
Exposure time for the image.
Definition Settings2D.h:391
bool operator>(const ExposureTime &other) const
Comparison operator.
Definition Settings2D.h:456
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
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
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.
void reset()
Reset the node to unset state.
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
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.
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
Acquisition()
Default constructor.
Aperture & aperture()
Get Aperture.
Definition Settings2D.h:731
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
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
Settings2D::Acquisition & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list.
const Settings2D::Acquisition & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in 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
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.
const std::vector< Settings2D::Acquisition > & value() const
Get the value.
Digital gain applied to blue channel.
Definition Settings2D.h:1127
double value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1212
bool operator<=(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1200
bool operator==(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1176
void reset()
Reset the node to unset state.
double ValueType
The type of the underlying value.
Definition Settings2D.h:1144
bool operator>(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1194
std::string toString() const
Get the value as string.
constexpr Blue(double value)
Constructor.
Definition Settings2D.h:1156
bool operator!=(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1182
bool hasValue() const
Check if the value is set.
static constexpr Range< double > validRange()
The range of valid values for Blue.
Definition Settings2D.h:1147
bool operator<(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1188
bool operator>=(const Blue &other) const
Comparison operator.
Definition Settings2D.h:1206
Blue()=default
Default constructor.
Digital gain applied to green channel.
Definition Settings2D.h:1239
double ValueType
The type of the underlying value.
Definition Settings2D.h:1256
static constexpr Range< double > validRange()
The range of valid values for Green.
Definition Settings2D.h:1259
bool operator==(const Green &other) const
Comparison operator.
Definition Settings2D.h:1288
std::string toString() const
Get the value as string.
constexpr Green(double value)
Constructor.
Definition Settings2D.h:1268
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1324
bool operator<(const Green &other) const
Comparison operator.
Definition Settings2D.h:1300
bool hasValue() const
Check if the value is set.
bool operator<=(const Green &other) const
Comparison operator.
Definition Settings2D.h:1312
Green()=default
Default constructor.
bool operator>=(const Green &other) const
Comparison operator.
Definition Settings2D.h:1318
bool operator!=(const Green &other) const
Comparison operator.
Definition Settings2D.h:1294
bool operator>(const Green &other) const
Comparison operator.
Definition Settings2D.h:1306
double value() const
Get the value.
void reset()
Reset the node to unset state.
Digital gain applied to red channel.
Definition Settings2D.h:1351
double ValueType
The type of the underlying value.
Definition Settings2D.h:1368
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1436
bool operator>=(const Red &other) const
Comparison operator.
Definition Settings2D.h:1430
Red()=default
Default constructor.
bool operator<(const Red &other) const
Comparison operator.
Definition Settings2D.h:1412
bool operator<=(const Red &other) const
Comparison operator.
Definition Settings2D.h:1424
std::string toString() const
Get the value as string.
static constexpr Range< double > validRange()
The range of valid values for Red.
Definition Settings2D.h:1371
bool hasValue() const
Check if the value is set.
bool operator!=(const Red &other) const
Comparison operator.
Definition Settings2D.h:1406
double value() const
Get the value.
constexpr Red(double value)
Constructor.
Definition Settings2D.h:1380
bool operator==(const Red &other) const
Comparison operator.
Definition Settings2D.h:1400
void reset()
Reset the node to unset state.
bool operator>(const Red &other) const
Comparison operator.
Definition Settings2D.h:1418
Color balance settings.
Definition Settings2D.h:1109
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:1658
Blue & blue()
Get Blue.
Definition Settings2D.h:1583
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:1692
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:1683
std::tuple< Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red > Descendants
Definition Settings2D.h:1459
const Blue & blue() const
Get Blue.
Definition Settings2D.h:1577
bool operator==(const Balance &other) const
Equality operator.
Balance & set(const Blue &value)
Set Blue.
Definition Settings2D.h:1589
Red & red()
Get Red.
Definition Settings2D.h:1621
Green & green()
Get Green.
Definition Settings2D.h:1602
Balance & set(const Green &value)
Set Green.
Definition Settings2D.h:1608
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:1556
const Green & green() const
Get Green.
Definition Settings2D.h:1596
Balance()
Default constructor.
Balance & set(const Red &value)
Set Red.
Definition Settings2D.h:1627
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:1648
const Red & red() const
Get Red.
Definition Settings2D.h:1615
std::string toString() const
Get the value as string.
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:1520
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:1709
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition Settings2D.h:1638
This setting controls how the color image is computed.
Definition Settings2D.h:1766
friend std::ostream & operator<<(std::ostream &stream, const Mode &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:1853
static const Mode toneMapping
toneMapping
Definition Settings2D.h:1803
bool operator==(const Mode &other) const
Comparison operator.
Definition Settings2D.h:1841
static const Mode automatic
automatic
Definition Settings2D.h:1802
bool operator!=(const Mode &other) const
Comparison operator.
Definition Settings2D.h:1847
Mode()=default
Default constructor.
void reset()
Reset the node to unset state.
constexpr Mode(ValueType value)
Constructor.
Definition Settings2D.h:1815
bool hasValue() const
Check if the value is set.
static std::set< ValueType > validValues()
All valid values of Mode.
Definition Settings2D.h:1806
friend std::ostream & operator<<(std::ostream &stream, const Mode::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings2D.h:1835
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:1798
Experimental color settings. These may be renamed, moved or deleted in the future.
Definition Settings2D.h:1732
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:2029
Mode & mode()
Get Mode.
Definition Settings2D.h:1992
const Mode & mode() const
Get Mode.
Definition Settings2D.h:1986
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:2044
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:2022
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:1931
Experimental()
Default constructor.
std::tuple< Settings2D::Processing::Color::Experimental::Mode > Descendants
Definition Settings2D.h:1877
std::string toString() const
Get the value as string.
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:2009
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:1998
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:1965
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition Settings2D.h:2067
double ValueType
The type of the underlying value.
Definition Settings2D.h:2086
static constexpr Range< double > validRange()
The range of valid values for Gamma.
Definition Settings2D.h:2089
bool operator>(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2136
bool operator==(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2118
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:2154
bool operator!=(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2124
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:2130
void reset()
Reset the node to unset state.
bool operator>=(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2148
constexpr Gamma(double value)
Constructor.
Definition Settings2D.h:2098
Gamma()=default
Default constructor.
bool operator<=(const Gamma &other) const
Comparison operator.
Definition Settings2D.h:2142
double value() const
Get the value.
Color settings.
Definition Settings2D.h:1091
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:2249
Color & set(const Balance::Green &value)
Set Balance::Green.
Definition Settings2D.h:2335
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:2349
std::string toString() const
Get the value as string.
const Balance & balance() const
Get Balance.
Definition Settings2D.h:2309
Color & set(const Balance::Blue &value)
Set Balance::Blue.
Definition Settings2D.h:2328
Balance & balance()
Get Balance.
Definition Settings2D.h:2315
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:2477
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:2503
Experimental & experimental()
Get Experimental.
Definition Settings2D.h:2355
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:2443
const Settings2D::Processing::Color::Gamma & get() const
Definition Settings2D.h:2452
Color & set(const Experimental::Mode &value)
Set Experimental::Mode.
Definition Settings2D.h:2368
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:2415
Gamma & gamma()
Get Gamma.
Definition Settings2D.h:2381
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:2424
const Settings2D::Processing::Color::Experimental & get() const
Definition Settings2D.h:2433
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:2288
const Settings2D::Processing::Color::Balance & get() const
Definition Settings2D.h:2397
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:2176
Color()
Default constructor.
const Gamma & gamma() const
Get Gamma.
Definition Settings2D.h:2375
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition Settings2D.h:2406
Color & set(const Balance &value)
Set Balance.
Definition Settings2D.h:2321
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:2486
Color & set(const Gamma &value)
Set Gamma.
Definition Settings2D.h:2387
Color & set(const Experimental &value)
Set Experimental.
Definition Settings2D.h:2361
Color & set(const Balance::Red &value)
Set Balance::Red.
Definition Settings2D.h:2342
2D processing settings.
Definition Settings2D.h:1073
const Settings2D::Processing::Color & get() const
Definition Settings2D.h:2727
Processing & set(const Color::Gamma &value)
Set Color::Gamma.
Definition Settings2D.h:2718
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:2669
Processing & set(const Color::Experimental &value)
Set Color::Experimental.
Definition Settings2D.h:2704
const Settings2D::Processing::Color::Balance & get() const
Definition Settings2D.h:2735
Processing & set(const Color::Experimental::Mode &value)
Set Color::Experimental::Mode.
Definition Settings2D.h:2711
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:2823
const Settings2D::Processing::Color::Experimental & get() const
Definition Settings2D.h:2771
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:2801
Color & color()
Get Color.
Definition Settings2D.h:2663
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:2598
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:2522
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue.
Definition Settings2D.h:2683
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:2780
Processing & set(const Color::Balance &value)
Set Color::Balance.
Definition Settings2D.h:2676
const Color & color() const
Get Color.
Definition Settings2D.h:2657
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red.
Definition Settings2D.h:2697
const Settings2D::Processing::Color::Gamma & get() const
Definition Settings2D.h:2788
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:2762
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:2637
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition Settings2D.h:2744
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:2753
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:2808
Processing()
Default constructor.
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green.
Definition Settings2D.h:2690
Choose how to sample colors for the 2D image. The rgb option gives an image with full colors....
Definition Settings2D.h:2869
ValueType
The type of the underlying value.
Definition Settings2D.h:2892
Color()=default
Default constructor.
void reset()
Reset the node to unset state.
static const Color grayscale
grayscale
Definition Settings2D.h:2897
static std::set< ValueType > validValues()
All valid values of Color.
Definition Settings2D.h:2900
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:2947
constexpr Color(ValueType value)
Constructor.
Definition Settings2D.h:2909
bool hasValue() const
Check if the value is set.
static const Color rgb
rgb
Definition Settings2D.h:2896
bool operator==(const Color &other) const
Comparison operator.
Definition Settings2D.h:2935
bool operator!=(const Color &other) const
Comparison operator.
Definition Settings2D.h:2941
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const Color::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings2D.h:2929
Set the pixel sampling to use for the 2D capture. This setting defines how the camera sensor is sampl...
Definition Settings2D.h:2976
static const Pixel redSubsample4x4
redSubsample4x4
Definition Settings2D.h:3009
static const Pixel by2x2
by2x2
Definition Settings2D.h:3010
Pixel()=default
Default constructor.
constexpr Pixel(ValueType value)
Constructor.
Definition Settings2D.h:3029
ValueType
The type of the underlying value.
Definition Settings2D.h:2996
static const Pixel by4x4
by4x4
Definition Settings2D.h:3011
bool operator!=(const Pixel &other) const
Comparison operator.
Definition Settings2D.h:3061
ValueType value() const
Get the value.
bool operator==(const Pixel &other) const
Comparison operator.
Definition Settings2D.h:3055
static const Pixel redSubsample2x2
redSubsample2x2
Definition Settings2D.h:3007
static const Pixel all
all
Definition Settings2D.h:3005
static std::set< ValueType > validValues()
All valid values of Pixel.
Definition Settings2D.h:3014
std::string toString() const
Get the value as string.
static const Pixel blueSubsample2x2
blueSubsample2x2
Definition Settings2D.h:3006
friend std::ostream & operator<<(std::ostream &stream, const Pixel::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings2D.h:3049
friend std::ostream & operator<<(std::ostream &stream, const Pixel &value)
Operator to serialize the value to a stream.
Definition Settings2D.h:3067
void reset()
Reset the node to unset state.
static const Pixel blueSubsample4x4
blueSubsample4x4
Definition Settings2D.h:3008
bool hasValue() const
Check if the value is set.
Sampling settings.
Definition Settings2D.h:2845
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:3277
bool operator==(const Sampling &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:3149
const Settings2D::Sampling::Pixel & get() const
Definition Settings2D.h:3250
Sampling & set(const Pixel &value)
Set Pixel.
Definition Settings2D.h:3233
const Pixel & pixel() const
Get Pixel.
Definition Settings2D.h:3221
Pixel & pixel()
Get Pixel.
Definition Settings2D.h:3227
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:3269
const Settings2D::Sampling::Color & get() const
Definition Settings2D.h:3242
friend std::ostream & operator<<(std::ostream &stream, const Sampling &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:3293
bool operator!=(const Sampling &other) const
Inequality operator.
const Color & color() const
Get Color.
Definition Settings2D.h:3202
Sampling & set(const Color &value)
Set Color.
Definition Settings2D.h:3214
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:3182
Color & color()
Get Color.
Definition Settings2D.h:3208
Sampling()
Default constructor.
std::tuple< Settings2D::Sampling::Color, Settings2D::Sampling::Pixel > Descendants
Definition Settings2D.h:3093
Settings used when capturing 2D images with a Zivid camera.
Definition Settings2D.h:79
Settings2D & set(const Processing &value)
Set Processing.
Definition Settings2D.h:3512
const Settings2D::Sampling::Pixel & get() const
Definition Settings2D.h:3703
const Settings2D::Processing::Color & get() const
Definition Settings2D.h:3622
Sampling & sampling()
Get Sampling.
Definition Settings2D.h:3581
const Settings2D::Sampling::Color & get() const
Definition Settings2D.h:3695
const Settings2D::Processing::Color::Balance::Red & get() const
Definition Settings2D.h:3656
const Settings2D::Processing::Color::Balance::Green & get() const
Definition Settings2D.h:3648
Settings2D & set(const Sampling::Color &value)
Set Sampling::Color.
Definition Settings2D.h:3594
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:3639
const Acquisitions & acquisitions() const
Get Acquisitions.
Definition Settings2D.h:3481
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings2D.h:3737
Settings2D & set(const Sampling &value)
Set Sampling.
Definition Settings2D.h:3587
Settings2D(Args &&...args)
Constructor taking variadic number of arguments.
Definition Settings2D.h:3379
const Settings2D::Acquisitions & get() const
Definition Settings2D.h:3608
Settings2D()
Default constructor.
const Settings2D::Processing::Color::Gamma & get() const
Definition Settings2D.h:3681
Settings2D & set(const Acquisitions &value)
Set Acquisitions.
Definition Settings2D.h:3493
Settings2D(const std::string &fileName)
Construct Settings2D by loading from file.
const Settings2D::Sampling & get() const
Definition Settings2D.h:3687
void load(const std::string &fileName)
Load from the given file.
const Settings2D::Processing::Color::Balance & get() const
Definition Settings2D.h:3630
Settings2D & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green.
Definition Settings2D.h:3540
bool operator!=(const Settings2D &other) const
Inequality operator.
Settings2D & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance.
Definition Settings2D.h:3526
const Settings2D::Processing::Color::Experimental & get() const
Definition Settings2D.h:3664
std::tuple< Settings2D::Acquisitions, 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::Pixel > Descendants
Definition Settings2D.h:3311
const Settings2D::Processing & get() const
Definition Settings2D.h:3614
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:3547
void set(Args &&...args)
Set multiple arguments.
Definition Settings2D.h:3418
Processing & processing()
Get Processing.
Definition Settings2D.h:3506
const Processing & processing() const
Get Processing.
Definition Settings2D.h:3500
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:3462
Settings2D & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue.
Definition Settings2D.h:3533
Settings2D & set(const Processing::Color::Experimental::Mode &value)
Set Processing::Color::Experimental::Mode.
Definition Settings2D.h:3561
Acquisitions & acquisitions()
Get Acquisitions.
Definition Settings2D.h:3487
std::string toString() const
Get the value as string.
Settings2D & set(const Processing::Color::Experimental &value)
Set Processing::Color::Experimental.
Definition Settings2D.h:3554
Settings2D & set(const Sampling::Pixel &value)
Set Sampling::Pixel.
Definition Settings2D.h:3601
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:3728
const Settings2D::Processing::Color::Experimental::Mode & get() const
Definition Settings2D.h:3673
bool operator==(const Settings2D &other) const
Equality operator.
const Sampling & sampling() const
Get Sampling.
Definition Settings2D.h:3575
friend std::ostream & operator<<(std::ostream &stream, const Settings2D &value)
Operator to send the value as string to a stream.
Definition Settings2D.h:3754
Settings2D & set(const Processing::Color &value)
Set Processing::Color.
Definition Settings2D.h:3519
Settings2D & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma.
Definition Settings2D.h:3568
NodeType
Definition NodeType.h:49
Definition EnvironmentInfo.h:74
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:84