112# pragma warning(push)
113# pragma warning(disable : 4251)
127 static constexpr const char *path{
"" };
130 static constexpr const char *name{
"Settings2D" };
133 static constexpr const char *description{
134 R
"description(Settings used when capturing 2D images with a Zivid camera)description"
137 static constexpr size_t version{ 3 };
147 static constexpr std::array<uint8_t, 3> binaryId{
's',
't',
'2' };
159 static constexpr const char *path{
"Acquisition" };
162 static constexpr const char *name{
"Acquisition" };
165 static constexpr const char *description{ R
"description(Settings for a single acquisition)description" };
177 static constexpr const char *path{
"Acquisition/Aperture" };
180 static constexpr const char *name{
"Aperture" };
183 static constexpr const char *description{
184 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
185the effective aperture diameter).
195 return { 1.4, 32.0 };
203 : m_opt{ verifyValue(value) }
224 return m_opt == other.m_opt;
230 return m_opt != other.m_opt;
236 return m_opt < other.m_opt;
242 return m_opt > other.m_opt;
252 void setFromString(
const std::string &value);
254 constexpr ValueType
static verifyValue(
const ValueType &value)
258 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
263 Zivid::DataModel::Detail::Optional<double> m_opt;
265 friend struct DataModel::Detail::Befriend<
Aperture>;
286 static constexpr const char *path{
"Acquisition/Brightness" };
289 static constexpr const char *name{
"Brightness" };
292 static constexpr const char *description{
293 R
"description(Brightness controls the light output from the projector.
295Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
296or in case of high levels of ambient lighting.
298When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
299can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated
300over a 10 second period. This limitation is enforced automatically by the camera. Calling capture
301when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a
302duration of time to cool down, before capture will start.
320 : m_opt{ verifyValue(value) }
341 return m_opt == other.m_opt;
347 return m_opt != other.m_opt;
353 return m_opt < other.m_opt;
359 return m_opt > other.m_opt;
369 void setFromString(
const std::string &value);
371 constexpr ValueType
static verifyValue(
const ValueType &value)
375 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
376 +
" } is not in range [" + std::to_string(
validRange().min())
377 +
", " + std::to_string(
validRange().max()) +
"]" };
380 Zivid::DataModel::Detail::Optional<double> m_opt;
382 friend struct DataModel::Detail::Befriend<
Brightness>;
393 static constexpr const char *path{
"Acquisition/ExposureTime" };
396 static constexpr const char *name{
"ExposureTime" };
399 static constexpr const char *description{ R
"description(Exposure time for the image)description" };
407 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
415 : m_opt{ verifyValue(value) }
422 std::chrono::microseconds
value()
const;
436 return m_opt == other.m_opt;
442 return m_opt != other.m_opt;
448 return m_opt < other.m_opt;
454 return m_opt > other.m_opt;
464 void setFromString(
const std::string &value);
466 constexpr ValueType
static verifyValue(
const ValueType &value)
470 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
471 +
" } is not in range ["
472 + std::to_string(
validRange().min().count()) +
", "
473 + std::to_string(
validRange().max().count()) +
"]" };
476 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
478 friend struct DataModel::Detail::Befriend<
ExposureTime>;
489 static constexpr const char *path{
"Acquisition/Gain" };
492 static constexpr const char *name{
"Gain" };
495 static constexpr const char *description{ R
"description(Analog gain in the camera)description" };
510 explicit constexpr Gain(
double value)
511 : m_opt{ verifyValue(value) }
532 return m_opt == other.m_opt;
538 return m_opt != other.m_opt;
544 return m_opt < other.m_opt;
550 return m_opt > other.m_opt;
560 void setFromString(
const std::string &value);
562 constexpr ValueType
static verifyValue(
const ValueType &value)
566 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
571 Zivid::DataModel::Detail::Optional<double> m_opt;
573 friend struct DataModel::Detail::Befriend<
Gain>;
602 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
603 typename std::enable_if<
604 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
608 template<typename... Args>
612 using namespace Zivid::Detail::TypeTraits;
615 AllArgsDecayedAreUnique<Args...>::value,
616 "Found duplicate types among the arguments passed to Acquisition(...). "
617 "Types should be listed at most once.");
619 set(std::forward<Args>(args)...);
636 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
638 template<typename... Args>
642 using namespace Zivid::Detail::TypeTraits;
644 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
646 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
649 AllArgsDecayedAreUnique<Args...>::value,
650 "Found duplicate types among the arguments passed to set(...). "
651 "Types should be listed at most once.");
653 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
671 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
673 template<typename... Args>
677 using namespace Zivid::Detail::TypeTraits;
679 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
681 AllArgsAreDescendantNodes::value,
682 "All arguments passed to copyWith(...) must be descendant nodes.");
685 AllArgsDecayedAreUnique<Args...>::value,
686 "Found duplicate types among the arguments passed to copyWith(...). "
687 "Types should be listed at most once.");
690 copy.
set(std::forward<Args>(args)...);
728 m_brightness = value;
735 return m_exposureTime;
741 return m_exposureTime;
747 m_exposureTime = value;
772 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Aperture>::value,
int>::type = 0>
780 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Brightness>::value,
int>::type = 0>
788 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::ExposureTime>::value,
int>::type = 0>
791 return m_exposureTime;
796 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Gain>::value,
int>::type = 0>
802 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
808 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
814 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
817 return m_exposureTime;
820 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
862 void setFromString(
const std::string &value);
864 void setFromString(
const std::string &fullPath,
const std::string &value);
866 std::string getString(
const std::string &fullPath)
const;
869 Brightness m_brightness;
870 ExposureTime m_exposureTime;
873 friend struct DataModel::Detail::Befriend<
Acquisition>;
884 static constexpr const char *path{
"Acquisitions" };
887 static constexpr const char *name{
"Acquisitions" };
890 static constexpr const char *description{
891 R
"description(List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mode.)description"
900 return { 0, std::numeric_limits<ValueType::size_type>::max() };
908 : m_value{ std::move(value) }
912 explicit Acquisitions(std::initializer_list<Settings2D::Acquisition> value)
917 const std::vector<Settings2D::Acquisition> &
value()
const;
923 std::size_t
size() const noexcept;
926 bool isEmpty() const noexcept;
933 template<typename... Args>
934 void emplaceBack(Args &&...args)
936 m_value.emplace_back(std::forward<Args>(args)...);
971 for(
auto &child : m_value)
981 for(
const auto &child : m_value)
990 return m_value == other.m_value;
996 return m_value != other.m_value;
1006 void setFromString(
const std::string &value);
1008 std::vector<Settings2D::Acquisition> m_value{};
1010 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1021 static constexpr const char *path{
"Processing" };
1024 static constexpr const char *name{
"Processing" };
1027 static constexpr const char *description{ R
"description(Processing related settings)description" };
1037 static constexpr const char *path{
"Processing/Color" };
1040 static constexpr const char *name{
"Color" };
1043 static constexpr const char *description{ R
"description(Color settings)description" };
1053 static constexpr const char *path{
"Processing/Color/Balance" };
1056 static constexpr const char *name{
"Balance" };
1059 static constexpr const char *description{ R
"description(Color balance settings)description" };
1069 static constexpr const char *path{
"Processing/Color/Balance/Blue" };
1072 static constexpr const char *name{
"Blue" };
1075 static constexpr const char *description{
1076 R
"description(Digital gain applied to blue channel)description"
1085 return { 1.0, 8.0 };
1092 explicit constexpr Blue(
double value)
1093 : m_opt{ verifyValue(value) }
1114 return m_opt == other.m_opt;
1120 return m_opt != other.m_opt;
1126 return m_opt < other.m_opt;
1132 return m_opt > other.m_opt;
1142 void setFromString(
const std::string &value);
1144 constexpr ValueType
static verifyValue(
const ValueType &value)
1148 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1149 +
" } is not in range ["
1151 + std::to_string(
validRange().max()) +
"]" };
1154 Zivid::DataModel::Detail::Optional<double> m_opt;
1156 friend struct DataModel::Detail::Befriend<
Blue>;
1167 static constexpr const char *path{
"Processing/Color/Balance/Green" };
1170 static constexpr const char *name{
"Green" };
1173 static constexpr const char *description{
1174 R
"description(Digital gain applied to green channel)description"
1183 return { 1.0, 8.0 };
1191 : m_opt{ verifyValue(value) }
1212 return m_opt == other.m_opt;
1218 return m_opt != other.m_opt;
1224 return m_opt < other.m_opt;
1230 return m_opt > other.m_opt;
1240 void setFromString(
const std::string &value);
1242 constexpr ValueType
static verifyValue(
const ValueType &value)
1246 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1247 +
" } is not in range ["
1249 + std::to_string(
validRange().max()) +
"]" };
1252 Zivid::DataModel::Detail::Optional<double> m_opt;
1254 friend struct DataModel::Detail::Befriend<
Green>;
1265 static constexpr const char *path{
"Processing/Color/Balance/Red" };
1268 static constexpr const char *name{
"Red" };
1271 static constexpr const char *description{
1272 R
"description(Digital gain applied to red channel)description"
1281 return { 1.0, 8.0 };
1288 explicit constexpr Red(
double value)
1289 : m_opt{ verifyValue(value) }
1310 return m_opt == other.m_opt;
1316 return m_opt != other.m_opt;
1322 return m_opt < other.m_opt;
1328 return m_opt > other.m_opt;
1338 void setFromString(
const std::string &value);
1340 constexpr ValueType
static verifyValue(
const ValueType &value)
1344 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1345 +
" } is not in range ["
1347 + std::to_string(
validRange().max()) +
"]" };
1350 Zivid::DataModel::Detail::Optional<double> m_opt;
1352 friend struct DataModel::Detail::Befriend<
Red>;
1379 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1380 typename std::enable_if<
1381 Zivid::Detail::TypeTraits::
1382 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1385 template<typename... Args>
1389 using namespace Zivid::Detail::TypeTraits;
1392 AllArgsDecayedAreUnique<Args...>::value,
1393 "Found duplicate types among the arguments passed to Balance(...). "
1394 "Types should be listed at most once.");
1396 set(std::forward<Args>(args)...);
1412 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1414 template<typename... Args>
1418 using namespace Zivid::Detail::TypeTraits;
1420 using AllArgsAreDescendantNodes =
1421 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1423 AllArgsAreDescendantNodes::value,
1424 "All arguments passed to set(...) must be descendant nodes.");
1427 AllArgsDecayedAreUnique<Args...>::value,
1428 "Found duplicate types among the arguments passed to set(...). "
1429 "Types should be listed at most once.");
1431 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1448 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1450 template<typename... Args>
1454 using namespace Zivid::Detail::TypeTraits;
1456 using AllArgsAreDescendantNodes =
1457 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1459 AllArgsAreDescendantNodes::value,
1460 "All arguments passed to copyWith(...) must be descendant nodes.");
1463 AllArgsDecayedAreUnique<Args...>::value,
1464 "Found duplicate types among the arguments passed to copyWith(...). "
1465 "Types should be listed at most once.");
1468 copy.
set(std::forward<Args>(args)...);
1531 typename std::enable_if<
1532 std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1541 typename std::enable_if<
1542 std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1551 typename std::enable_if<
1552 std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1559 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1565 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1571 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1578 template<
typename F>
1587 template<
typename F>
1611 void setFromString(
const std::string &value);
1613 void setFromString(
const std::string &fullPath,
const std::string &value);
1615 std::string getString(
const std::string &fullPath)
const;
1621 friend struct DataModel::Detail::Befriend<
Balance>;
1634 static constexpr const char *path{
"Processing/Color/Gamma" };
1637 static constexpr const char *name{
"Gamma" };
1640 static constexpr const char *description{
1641 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
1642greater than 1 makes the colors darker.
1652 return { 0.25, 1.5 };
1660 : m_opt{ verifyValue(value) }
1681 return m_opt == other.m_opt;
1687 return m_opt != other.m_opt;
1693 return m_opt < other.m_opt;
1699 return m_opt > other.m_opt;
1709 void setFromString(
const std::string &value);
1711 constexpr ValueType
static verifyValue(
const ValueType &value)
1715 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
1717 + std::to_string(
validRange().max()) +
"]" };
1720 Zivid::DataModel::Detail::Optional<double> m_opt;
1722 friend struct DataModel::Detail::Befriend<
Gamma>;
1753 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1754 typename std::enable_if<
1755 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1759 template<typename... Args>
1763 using namespace Zivid::Detail::TypeTraits;
1766 AllArgsDecayedAreUnique<Args...>::value,
1767 "Found duplicate types among the arguments passed to Color(...). "
1768 "Types should be listed at most once.");
1770 set(std::forward<Args>(args)...);
1788 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1790 template<typename... Args>
1794 using namespace Zivid::Detail::TypeTraits;
1796 using AllArgsAreDescendantNodes =
1797 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1799 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1802 AllArgsDecayedAreUnique<Args...>::value,
1803 "Found duplicate types among the arguments passed to set(...). "
1804 "Types should be listed at most once.");
1806 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1825 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1827 template<typename... Args>
1831 using namespace Zivid::Detail::TypeTraits;
1833 using AllArgsAreDescendantNodes =
1834 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1836 AllArgsAreDescendantNodes::value,
1837 "All arguments passed to copyWith(...) must be descendant nodes.");
1840 AllArgsDecayedAreUnique<Args...>::value,
1841 "Found duplicate types among the arguments passed to copyWith(...). "
1842 "Types should be listed at most once.");
1845 copy.
set(std::forward<Args>(args)...);
1871 m_balance.
set(value);
1878 m_balance.
set(value);
1885 m_balance.
set(value);
1910 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type =
1919 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
1929 enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type = 0>
1937 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
1946 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type =
1953 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1959 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1966 template<
typename F>
1974 template<
typename F>
1997 void setFromString(
const std::string &value);
1999 void setFromString(
const std::string &fullPath,
const std::string &value);
2001 std::string getString(
const std::string &fullPath)
const;
2006 friend struct DataModel::Detail::Befriend<
Color>;
2039 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2040 typename std::enable_if<
2041 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2045 template<typename... Args>
2049 using namespace Zivid::Detail::TypeTraits;
2052 AllArgsDecayedAreUnique<Args...>::value,
2053 "Found duplicate types among the arguments passed to Processing(...). "
2054 "Types should be listed at most once.");
2056 set(std::forward<Args>(args)...);
2075 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2077 template<typename... Args>
2081 using namespace Zivid::Detail::TypeTraits;
2083 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2085 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2088 AllArgsDecayedAreUnique<Args...>::value,
2089 "Found duplicate types among the arguments passed to set(...). "
2090 "Types should be listed at most once.");
2092 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2112 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2114 template<typename... Args>
2118 using namespace Zivid::Detail::TypeTraits;
2120 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2122 AllArgsAreDescendantNodes::value,
2123 "All arguments passed to copyWith(...) must be descendant nodes.");
2126 AllArgsDecayedAreUnique<Args...>::value,
2127 "Found duplicate types among the arguments passed to copyWith(...). "
2128 "Types should be listed at most once.");
2131 copy.
set(std::forward<Args>(args)...);
2191 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2199 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2207 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
2216 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::
2225 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
2234 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2240 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2247 template<
typename F>
2254 template<
typename F>
2276 void setFromString(
const std::string &value);
2278 void setFromString(
const std::string &fullPath,
const std::string &value);
2280 std::string getString(
const std::string &fullPath)
const;
2284 friend struct DataModel::Detail::Befriend<
Processing>;
2324 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2325 typename std::enable_if<
2326 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
2329 template<typename... Args>
2333 using namespace Zivid::Detail::TypeTraits;
2336 AllArgsDecayedAreUnique<Args...>::value,
2337 "Found duplicate types among the arguments passed to Settings2D(...). "
2338 "Types should be listed at most once.");
2340 set(std::forward<Args>(args)...);
2361 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2363 template<typename... Args>
2367 using namespace Zivid::Detail::TypeTraits;
2369 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2371 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2374 AllArgsDecayedAreUnique<Args...>::value,
2375 "Found duplicate types among the arguments passed to set(...). "
2376 "Types should be listed at most once.");
2378 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2400 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2402 template<typename... Args>
2406 using namespace Zivid::Detail::TypeTraits;
2408 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2410 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
2413 AllArgsDecayedAreUnique<Args...>::value,
2414 "Found duplicate types among the arguments passed to copyWith(...). "
2415 "Types should be listed at most once.");
2418 copy.
set(std::forward<Args>(args)...);
2425 return m_acquisitions;
2431 return m_acquisitions;
2437 m_acquisitions = value;
2444 return m_processing;
2450 return m_processing;
2456 m_processing = value;
2463 m_processing.
set(value);
2470 m_processing.
set(value);
2477 m_processing.
set(value);
2484 m_processing.
set(value);
2491 m_processing.
set(value);
2498 m_processing.
set(value);
2502 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Acquisitions>::value,
int>::type = 0>
2505 return m_acquisitions;
2508 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Processing>::value,
int>::type = 0>
2511 return m_processing;
2516 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2524 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2532 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::type =
2541 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type =
2550 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::type = 0>
2558 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2564 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2567 return m_acquisitions;
2570 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2573 return m_processing;
2577 template<
typename F>
2585 template<
typename F>
2608 void save(
const std::string &fileName)
const;
2611 void load(
const std::string &fileName);
2614 void setFromString(
const std::string &value);
2616 void setFromString(
const std::string &fullPath,
const std::string &value);
2618 std::string getString(
const std::string &fullPath)
const;
2623 friend struct DataModel::Detail::Befriend<
Settings2D>;
2628 struct Settings2D::Version<3>
2637# pragma warning(pop)
2641# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
2646 struct tuple_size<
Zivid::Settings2D::Processing> : integral_constant<size_t, 1>
2650 struct tuple_element<i,
Zivid::Settings2D::Processing>
2652 static_assert(i < tuple_size<Zivid::Settings2D::Processing>::value,
"Index must be less than 1");
2655 =
decltype(declval<Zivid::Settings2D::Processing>().get<i>());
2659 struct tuple_size<
Zivid::Settings2D::Processing::Color> : integral_constant<size_t, 2>
2663 struct tuple_element<i,
Zivid::Settings2D::Processing::Color>
2665 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color>::value,
"Index must be less than 2");
2668 =
decltype(declval<Zivid::Settings2D::Processing::Color>().get<i>());
2672 struct tuple_size<
Zivid::Settings2D::Processing::Color::Balance> : integral_constant<size_t, 3>
2676 struct tuple_element<i,
Zivid::Settings2D::Processing::Color::Balance>
2679 i < tuple_size<Zivid::Settings2D::Processing::Color::Balance>::value,
2680 "Index must be less than 3");
2683 =
decltype(declval<Zivid::Settings2D::Processing::Color::Balance>().get<i>());
2687 struct tuple_size<
Zivid::Settings2D> : integral_constant<size_t, 2>
2691 struct tuple_element<i,
Zivid::Settings2D>
2693 static_assert(i < tuple_size<Zivid::Settings2D>::value,
"Index must be less than 2");
2696 =
decltype(declval<Zivid::Settings2D>().get<i>());
2705#if defined(__has_include) && !defined(NO_DOC)
2706# if __has_include("Zivid/Settings2DInternal.h") && __has_include("Zivid/DataModelSerializationMetaData.h")
2707# include "Zivid/Settings2DInternal.h"
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
Class describing a range of values for a given type T
Definition: Range.h:102
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition: Settings2D.h:171
void reset()
Reset the node to unset state
bool operator!=(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:228
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:246
bool operator<(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:234
constexpr Aperture(double value)
Constructor
Definition: Settings2D.h:202
static constexpr Range< double > validRange()
The range of valid values for Aperture
Definition: Settings2D.h:193
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:240
Aperture()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings2D.h:190
bool operator==(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:222
bool hasValue() const
Check if the value is set
Brightness controls the light output from the projector.
Definition: Settings2D.h:280
bool operator==(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:339
bool operator>(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:357
bool operator<(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:351
static constexpr Range< double > validRange()
The range of valid values for Brightness
Definition: Settings2D.h:310
constexpr Brightness(double value)
Constructor
Definition: Settings2D.h:319
std::string toString() const
Get the value as string
bool operator!=(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:345
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:363
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:307
Exposure time for the image
Definition: Settings2D.h:387
bool operator>(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:452
std::chrono::microseconds ValueType
The type of the underlying value
Definition: Settings2D.h:402
void reset()
Reset the node to unset state
constexpr ExposureTime(std::chrono::microseconds value)
Constructor
Definition: Settings2D.h:414
std::chrono::microseconds value() const
Get the value
bool operator<(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:446
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime
Definition: Settings2D.h:405
bool operator!=(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:440
std::string toString() const
Get the value as string
ExposureTime()=default
Default constructor
bool operator==(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:434
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:458
bool hasValue() const
Check if the value is set
Analog gain in the camera
Definition: Settings2D.h:483
bool operator>(const Gain &other) const
Comparison operator
Definition: Settings2D.h:548
bool operator!=(const Gain &other) const
Comparison operator
Definition: Settings2D.h:536
bool operator==(const Gain &other) const
Comparison operator
Definition: Settings2D.h:530
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:554
double ValueType
The type of the underlying value
Definition: Settings2D.h:498
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:510
double value() const
Get the value
bool hasValue() const
Check if the value is set
static constexpr Range< double > validRange()
The range of valid values for Gain
Definition: Settings2D.h:501
bool operator<(const Gain &other) const
Comparison operator
Definition: Settings2D.h:542
Settings for a single acquisition
Definition: Settings2D.h:153
const Settings2D::Acquisition::Gain & get() const
Definition: Settings2D.h:797
const ExposureTime & exposureTime() const
Get ExposureTime
Definition: Settings2D.h:733
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:828
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:838
const Settings2D::Acquisition::Aperture & get() const
Definition: Settings2D.h:773
ExposureTime & exposureTime()
Get ExposureTime
Definition: Settings2D.h:739
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:856
bool operator!=(const Acquisition &other) const
Inequality operator
Acquisition & set(const Gain &value)
Set Gain
Definition: Settings2D.h:764
std::string toString() const
Get the value as string
Acquisition & set(const Aperture &value)
Set Aperture
Definition: Settings2D.h:707
std::tuple< Settings2D::Acquisition::Aperture, Settings2D::Acquisition::Brightness, Settings2D::Acquisition::ExposureTime, Settings2D::Acquisition::Gain > Descendants
Definition: Settings2D.h:580
Gain & gain()
Get Gain
Definition: Settings2D.h:758
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:675
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:640
const Settings2D::Acquisition::ExposureTime & get() const
Definition: Settings2D.h:789
Acquisition()
Default constructor
Aperture & aperture()
Get Aperture
Definition: Settings2D.h:701
Acquisition(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:610
const Aperture & aperture() const
Get Aperture
Definition: Settings2D.h:695
Acquisition & set(const Brightness &value)
Set Brightness
Definition: Settings2D.h:726
const Brightness & brightness() const
Get Brightness
Definition: Settings2D.h:714
Brightness & brightness()
Get Brightness
Definition: Settings2D.h:720
const Gain & gain() const
Get Gain
Definition: Settings2D.h:752
const Settings2D::Acquisition::Brightness & get() const
Definition: Settings2D.h:781
Acquisition & set(const ExposureTime &value)
Set ExposureTime
Definition: Settings2D.h:745
List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mo...
Definition: Settings2D.h:878
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:898
Acquisitions(std::initializer_list< Settings2D::Acquisition > value)
Constructor
Definition: Settings2D.h:912
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:907
void forEach(const F &f)
Run the given function on each element in the list
Definition: Settings2D.h:969
bool operator==(const Acquisitions &other) const
Comparison operator
Definition: Settings2D.h:988
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:979
std::vector< Settings2D::Acquisition > ValueType
The type of the underlying value
Definition: Settings2D.h:895
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:1000
std::size_t size() const noexcept
Get the size of the list
bool operator!=(const Acquisitions &other) const
Comparison operator
Definition: Settings2D.h:994
Acquisitions()=default
Default constructor
const std::vector< Settings2D::Acquisition > & value() const
Get the value
Digital gain applied to blue channel
Definition: Settings2D.h:1063
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:1136
bool operator==(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1112
void reset()
Reset the node to unset state
double ValueType
The type of the underlying value
Definition: Settings2D.h:1080
bool operator>(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1130
std::string toString() const
Get the value as string
constexpr Blue(double value)
Constructor
Definition: Settings2D.h:1092
bool operator!=(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1118
bool hasValue() const
Check if the value is set
static constexpr Range< double > validRange()
The range of valid values for Blue
Definition: Settings2D.h:1083
bool operator<(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1124
Blue()=default
Default constructor
Digital gain applied to green channel
Definition: Settings2D.h:1161
double ValueType
The type of the underlying value
Definition: Settings2D.h:1178
static constexpr Range< double > validRange()
The range of valid values for Green
Definition: Settings2D.h:1181
bool operator==(const Green &other) const
Comparison operator
Definition: Settings2D.h:1210
std::string toString() const
Get the value as string
constexpr Green(double value)
Constructor
Definition: Settings2D.h:1190
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1234
bool operator<(const Green &other) const
Comparison operator
Definition: Settings2D.h:1222
bool hasValue() const
Check if the value is set
Green()=default
Default constructor
bool operator!=(const Green &other) const
Comparison operator
Definition: Settings2D.h:1216
bool operator>(const Green &other) const
Comparison operator
Definition: Settings2D.h:1228
double value() const
Get the value
void reset()
Reset the node to unset state
Digital gain applied to red channel
Definition: Settings2D.h:1259
double ValueType
The type of the underlying value
Definition: Settings2D.h:1276
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1332
Red()=default
Default constructor
bool operator<(const Red &other) const
Comparison operator
Definition: Settings2D.h:1320
std::string toString() const
Get the value as string
static constexpr Range< double > validRange()
The range of valid values for Red
Definition: Settings2D.h:1279
bool hasValue() const
Check if the value is set
bool operator!=(const Red &other) const
Comparison operator
Definition: Settings2D.h:1314
double value() const
Get the value
constexpr Red(double value)
Constructor
Definition: Settings2D.h:1288
bool operator==(const Red &other) const
Comparison operator
Definition: Settings2D.h:1308
void reset()
Reset the node to unset state
bool operator>(const Red &other) const
Comparison operator
Definition: Settings2D.h:1326
Color balance settings
Definition: Settings2D.h:1047
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:1554
Balance(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1387
Blue & blue()
Get Blue
Definition: Settings2D.h:1479
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:1588
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:1579
const Blue & blue() const
Get Blue
Definition: Settings2D.h:1473
bool operator==(const Balance &other) const
Equality operator
Balance & set(const Blue &value)
Set Blue
Definition: Settings2D.h:1485
Red & red()
Get Red
Definition: Settings2D.h:1517
Green & green()
Get Green
Definition: Settings2D.h:1498
Balance & set(const Green &value)
Set Green
Definition: Settings2D.h:1504
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:1452
const Green & green() const
Get Green
Definition: Settings2D.h:1492
Balance()
Default constructor
Balance & set(const Red &value)
Set Red
Definition: Settings2D.h:1523
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:1544
const Red & red() const
Get Red
Definition: Settings2D.h:1511
std::string toString() const
Get the value as string
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1416
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:1605
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:1534
std::tuple< Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red > Descendants
Definition: Settings2D.h:1358
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition: Settings2D.h:1628
double ValueType
The type of the underlying value
Definition: Settings2D.h:1647
static constexpr Range< double > validRange()
The range of valid values for Gamma
Definition: Settings2D.h:1650
bool operator>(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1697
bool operator==(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1679
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1703
bool operator!=(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1685
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:1691
void reset()
Reset the node to unset state
constexpr Gamma(double value)
Constructor
Definition: Settings2D.h:1659
Gamma()=default
Default constructor
double value() const
Get the value
Color settings
Definition: Settings2D.h:1031
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1792
Color & set(const Balance::Green &value)
Set Balance::Green
Definition: Settings2D.h:1876
bool operator!=(const Color &other) const
Inequality operator
bool operator==(const Color &other) const
Equality operator
std::string toString() const
Get the value as string
const Balance & balance() const
Get Balance
Definition: Settings2D.h:1850
Color & set(const Balance::Blue &value)
Set Balance::Blue
Definition: Settings2D.h:1869
Balance & balance()
Get Balance
Definition: Settings2D.h:1856
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:1967
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:1991
Color(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1761
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:1948
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:1930
Gamma & gamma()
Get Gamma
Definition: Settings2D.h:1896
std::tuple< Settings2D::Processing::Color::Balance, Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red, Settings2D::Processing::Color::Gamma > Descendants
Definition: Settings2D.h:1730
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:1939
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:1829
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:1912
Color()
Default constructor
const Gamma & gamma() const
Get Gamma
Definition: Settings2D.h:1890
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:1921
Color & set(const Balance &value)
Set Balance
Definition: Settings2D.h:1862
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:1975
Color & set(const Gamma &value)
Set Gamma
Definition: Settings2D.h:1902
Color & set(const Balance::Red &value)
Set Balance::Red
Definition: Settings2D.h:1883
Processing related settings
Definition: Settings2D.h:1015
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2192
Processing & set(const Color::Gamma &value)
Set Color::Gamma
Definition: Settings2D.h:2183
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:2148
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:2200
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:2270
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:2248
Color & color()
Get Color
Definition: Settings2D.h:2142
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2079
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue
Definition: Settings2D.h:2162
Processing & set(const Color::Balance &value)
Set Color::Balance
Definition: Settings2D.h:2155
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::Gamma > Descendants
Definition: Settings2D.h:2015
const Color & color() const
Get Color
Definition: Settings2D.h:2136
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red
Definition: Settings2D.h:2176
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2235
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2227
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:2116
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2209
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2218
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:2255
Processing()
Default constructor
Processing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:2047
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green
Definition: Settings2D.h:2169
Settings used when capturing 2D images with a Zivid camera
Definition: Settings2D.h:121
Settings2D & set(const Processing &value)
Set Processing
Definition: Settings2D.h:2454
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2517
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2551
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2543
void save(const std::string &fileName) const
Save to the given file
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2534
const Acquisitions & acquisitions() const
Get Acquisitions
Definition: Settings2D.h:2423
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:2586
Settings2D(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:2331
const Settings2D::Acquisitions & get() const
Definition: Settings2D.h:2503
Settings2D()
Default constructor
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2559
Settings2D & set(const Acquisitions &value)
Set Acquisitions
Definition: Settings2D.h:2435
Settings2D(const std::string &fileName)
Construct Settings2D by loading from file
void load(const std::string &fileName)
Load from the given file
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:2525
Settings2D & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green
Definition: Settings2D.h:2482
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::Gamma > Descendants
Definition: Settings2D.h:2295
bool operator!=(const Settings2D &other) const
Inequality operator
Settings2D & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance
Definition: Settings2D.h:2468
const Settings2D::Processing & get() const
Definition: Settings2D.h:2509
Settings2D & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red
Definition: Settings2D.h:2489
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2365
Processing & processing()
Get Processing
Definition: Settings2D.h:2448
const Processing & processing() const
Get Processing
Definition: Settings2D.h:2442
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:2404
Settings2D & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue
Definition: Settings2D.h:2475
Acquisitions & acquisitions()
Get Acquisitions
Definition: Settings2D.h:2429
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:2578
bool operator==(const Settings2D &other) const
Equality operator
friend std::ostream & operator<<(std::ostream &stream, const Settings2D &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:2602
Settings2D & set(const Processing::Color &value)
Set Processing::Color
Definition: Settings2D.h:2461
Settings2D & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma
Definition: Settings2D.h:2496
NodeType
Definition: NodeType.h:100
Ret validRange(const CameraInfo &cameraInfo)
Definition: SettingsInfo.h:206
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99