112# pragma warning(push)
113# pragma warning(disable : 4251)
126 static constexpr const char *path{
"" };
129 static constexpr const char *name{
"Settings2D" };
132 static constexpr const char *description{
133 R
"description(Settings used when capturing 2D images with a Zivid camera)description"
136 static constexpr size_t version{ 3 };
146 static constexpr std::array<uint8_t, 3> binaryId{
's',
't',
'2' };
158 static constexpr const char *path{
"Acquisition" };
161 static constexpr const char *name{
"Acquisition" };
164 static constexpr const char *description{ R
"description(Settings for a single acquisition)description" };
176 static constexpr const char *path{
"Acquisition/Aperture" };
179 static constexpr const char *name{
"Aperture" };
182 static constexpr const char *description{
183 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
184the effective aperture diameter).
194 return { 1.4, 32.0 };
202 : m_opt{ verifyValue(value) }
223 return m_opt == other.m_opt;
229 return m_opt != other.m_opt;
235 return m_opt < other.m_opt;
241 return m_opt > other.m_opt;
251 void setFromString(
const std::string &value);
253 constexpr ValueType
static verifyValue(
const ValueType &value)
257 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
262 Zivid::DataModel::Detail::Optional<double> m_opt;
264 friend struct DataModel::Detail::Befriend<
Aperture>;
287 static constexpr const char *path{
"Acquisition/Brightness" };
290 static constexpr const char *name{
"Brightness" };
293 static constexpr const char *description{
294 R
"description(Brightness controls the light output from the projector.
296Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
297or in case of high levels of ambient lighting. Brightness above 1.0 is supported on Zivid One
300When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
301can capture) will be reduced. For Zivid One Plus the duty cycle in boost mode is 50%. For Zivid
302Two the duty cycle is reduced linearly from 100% at brightness 1.0, to 50% at brightness 1.8.
303The duty cycle is calculated over a 10 second period. This limitation is enforced automatically
304by the camera. Calling capture when the duty cycle limit has been reached will cause the camera
305to first wait (sleep) for a duration of time to cool down, before capture will start.
323 : m_opt{ verifyValue(value) }
344 return m_opt == other.m_opt;
350 return m_opt != other.m_opt;
356 return m_opt < other.m_opt;
362 return m_opt > other.m_opt;
372 void setFromString(
const std::string &value);
374 constexpr ValueType
static verifyValue(
const ValueType &value)
378 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
379 +
" } is not in range [" + std::to_string(
validRange().min())
380 +
", " + std::to_string(
validRange().max()) +
"]" };
383 Zivid::DataModel::Detail::Optional<double> m_opt;
385 friend struct DataModel::Detail::Befriend<
Brightness>;
396 static constexpr const char *path{
"Acquisition/ExposureTime" };
399 static constexpr const char *name{
"ExposureTime" };
402 static constexpr const char *description{ R
"description(Exposure time for the image)description" };
410 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
418 : m_opt{ verifyValue(value) }
425 std::chrono::microseconds
value()
const;
439 return m_opt == other.m_opt;
445 return m_opt != other.m_opt;
451 return m_opt < other.m_opt;
457 return m_opt > other.m_opt;
467 void setFromString(
const std::string &value);
469 constexpr ValueType
static verifyValue(
const ValueType &value)
473 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
474 +
" } is not in range ["
475 + std::to_string(
validRange().min().count()) +
", "
476 + std::to_string(
validRange().max().count()) +
"]" };
479 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
481 friend struct DataModel::Detail::Befriend<
ExposureTime>;
492 static constexpr const char *path{
"Acquisition/Gain" };
495 static constexpr const char *name{
"Gain" };
498 static constexpr const char *description{ R
"description(Analog gain in the camera)description" };
513 explicit constexpr Gain(
double value)
514 : m_opt{ verifyValue(value) }
535 return m_opt == other.m_opt;
541 return m_opt != other.m_opt;
547 return m_opt < other.m_opt;
553 return m_opt > other.m_opt;
563 void setFromString(
const std::string &value);
565 constexpr ValueType
static verifyValue(
const ValueType &value)
569 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
574 Zivid::DataModel::Detail::Optional<double> m_opt;
576 friend struct DataModel::Detail::Befriend<
Gain>;
602 template<
typename... Args,
603 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
604 typename std::enable_if<
605 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
606 typename std::decay<Args>::type...>::value,
609 template<typename... Args>
613 using namespace Zivid::Detail::TypeTraits;
615 static_assert(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...>;
645 static_assert(AllArgsAreDescendantNodes::value,
646 "All arguments passed to set(...) must be descendant nodes.");
648 static_assert(AllArgsDecayedAreUnique<Args...>::value,
649 "Found duplicate types among the arguments passed to set(...). "
650 "Types should be listed at most once.");
652 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
670 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
672 template<typename... Args>
676 using namespace Zivid::Detail::TypeTraits;
678 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
679 static_assert(AllArgsAreDescendantNodes::value,
680 "All arguments passed to copyWith(...) must be descendant nodes.");
682 static_assert(AllArgsDecayedAreUnique<Args...>::value,
683 "Found duplicate types among the arguments passed to copyWith(...). "
684 "Types should be listed at most once.");
687 copy.
set(std::forward<Args>(args)...);
725 m_brightness = value;
732 return m_exposureTime;
738 return m_exposureTime;
744 m_exposureTime = value;
768 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Aperture>::value,
int>::type = 0>
776 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Brightness>::value,
int>::type = 0>
784 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::ExposureTime>::value,
int>::type = 0>
787 return m_exposureTime;
791 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Gain>::value,
int>::type = 0>
797 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
803 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
809 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
812 return m_exposureTime;
815 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
857 void setFromString(
const std::string &value);
859 void setFromString(
const std::string &fullPath,
const std::string &value);
861 std::string getString(
const std::string &fullPath)
const;
864 Brightness m_brightness;
865 ExposureTime m_exposureTime;
868 friend struct DataModel::Detail::Befriend<
Acquisition>;
879 static constexpr const char *path{
"Acquisitions" };
882 static constexpr const char *name{
"Acquisitions" };
885 static constexpr const char *description{
886 R
"description(List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mode.)description"
895 return { 0, std::numeric_limits<ValueType::size_type>::max() };
903 : m_value{ std::move(value) }
907 explicit Acquisitions(std::initializer_list<Settings2D::Acquisition> value)
912 const std::vector<Settings2D::Acquisition> &
value()
const;
918 std::size_t
size() const noexcept;
921 bool isEmpty() const noexcept;
928 template<typename... Args>
929 void emplaceBack(Args &&...args)
931 m_value.emplace_back(std::forward<Args>(args)...);
966 for(
auto &child : m_value)
976 for(
const auto &child : m_value)
985 return m_value == other.m_value;
991 return m_value != other.m_value;
1001 void setFromString(
const std::string &value);
1003 std::vector<Settings2D::Acquisition> m_value{};
1005 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1016 static constexpr const char *path{
"Processing" };
1019 static constexpr const char *name{
"Processing" };
1022 static constexpr const char *description{ R
"description(Processing related settings)description" };
1032 static constexpr const char *path{
"Processing/Color" };
1035 static constexpr const char *name{
"Color" };
1038 static constexpr const char *description{ R
"description(Color settings)description" };
1048 static constexpr const char *path{
"Processing/Color/Balance" };
1051 static constexpr const char *name{
"Balance" };
1054 static constexpr const char *description{ R
"description(Color balance settings)description" };
1064 static constexpr const char *path{
"Processing/Color/Balance/Blue" };
1067 static constexpr const char *name{
"Blue" };
1070 static constexpr const char *description{
1071 R
"description(Digital gain applied to blue channel)description"
1080 return { 1.0, 8.0 };
1087 explicit constexpr Blue(
double value)
1088 : m_opt{ verifyValue(value) }
1109 return m_opt == other.m_opt;
1115 return m_opt != other.m_opt;
1121 return m_opt < other.m_opt;
1127 return m_opt > other.m_opt;
1137 void setFromString(
const std::string &value);
1139 constexpr ValueType
static verifyValue(
const ValueType &value)
1143 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1144 +
" } is not in range ["
1146 + std::to_string(
validRange().max()) +
"]" };
1149 Zivid::DataModel::Detail::Optional<double> m_opt;
1151 friend struct DataModel::Detail::Befriend<
Blue>;
1162 static constexpr const char *path{
"Processing/Color/Balance/Green" };
1165 static constexpr const char *name{
"Green" };
1168 static constexpr const char *description{
1169 R
"description(Digital gain applied to green channel)description"
1178 return { 1.0, 8.0 };
1186 : m_opt{ verifyValue(value) }
1207 return m_opt == other.m_opt;
1213 return m_opt != other.m_opt;
1219 return m_opt < other.m_opt;
1225 return m_opt > other.m_opt;
1235 void setFromString(
const std::string &value);
1237 constexpr ValueType
static verifyValue(
const ValueType &value)
1241 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1242 +
" } is not in range ["
1244 + std::to_string(
validRange().max()) +
"]" };
1247 Zivid::DataModel::Detail::Optional<double> m_opt;
1249 friend struct DataModel::Detail::Befriend<
Green>;
1260 static constexpr const char *path{
"Processing/Color/Balance/Red" };
1263 static constexpr const char *name{
"Red" };
1266 static constexpr const char *description{
1267 R
"description(Digital gain applied to red channel)description"
1276 return { 1.0, 8.0 };
1283 explicit constexpr Red(
double value)
1284 : m_opt{ verifyValue(value) }
1305 return m_opt == other.m_opt;
1311 return m_opt != other.m_opt;
1317 return m_opt < other.m_opt;
1323 return m_opt > other.m_opt;
1333 void setFromString(
const std::string &value);
1335 constexpr ValueType
static verifyValue(
const ValueType &value)
1339 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1340 +
" } is not in range ["
1342 + std::to_string(
validRange().max()) +
"]" };
1345 Zivid::DataModel::Detail::Optional<double> m_opt;
1347 friend struct DataModel::Detail::Befriend<
Red>;
1371 template<
typename... Args,
1372 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1373 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
1375 typename std::decay<Args>::type...>::value,
1378 template<typename... Args>
1382 using namespace Zivid::Detail::TypeTraits;
1384 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1385 "Found duplicate types among the arguments passed to Balance(...). "
1386 "Types should be listed at most once.");
1388 set(std::forward<Args>(args)...);
1404 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1406 template<typename... Args>
1410 using namespace Zivid::Detail::TypeTraits;
1412 using AllArgsAreDescendantNodes =
1413 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1414 static_assert(AllArgsAreDescendantNodes::value,
1415 "All arguments passed to set(...) must be descendant nodes.");
1417 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1418 "Found duplicate types among the arguments passed to set(...). "
1419 "Types should be listed at most once.");
1421 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1438 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1440 template<typename... Args>
1444 using namespace Zivid::Detail::TypeTraits;
1446 using AllArgsAreDescendantNodes =
1447 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1448 static_assert(AllArgsAreDescendantNodes::value,
1449 "All arguments passed to copyWith(...) must be descendant nodes.");
1451 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1452 "Found duplicate types among the arguments passed to copyWith(...). "
1453 "Types should be listed at most once.");
1456 copy.
set(std::forward<Args>(args)...);
1519 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1528 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1537 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1544 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1550 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1556 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1563 template<
typename F>
1572 template<
typename F>
1596 void setFromString(
const std::string &value);
1598 void setFromString(
const std::string &fullPath,
const std::string &value);
1600 std::string getString(
const std::string &fullPath)
const;
1606 friend struct DataModel::Detail::Befriend<
Balance>;
1619 static constexpr const char *path{
"Processing/Color/Gamma" };
1622 static constexpr const char *name{
"Gamma" };
1625 static constexpr const char *description{
1626 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
1627greater than 1 makes the colors darker.
1637 return { 0.25, 1.5 };
1645 : m_opt{ verifyValue(value) }
1666 return m_opt == other.m_opt;
1672 return m_opt != other.m_opt;
1678 return m_opt < other.m_opt;
1684 return m_opt > other.m_opt;
1694 void setFromString(
const std::string &value);
1696 constexpr ValueType
static verifyValue(
const ValueType &value)
1700 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
1702 + std::to_string(
validRange().max()) +
"]" };
1705 Zivid::DataModel::Detail::Optional<double> m_opt;
1707 friend struct DataModel::Detail::Befriend<
Gamma>;
1735 template<
typename... Args,
1736 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1737 typename std::enable_if<
1738 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
1739 typename std::decay<Args>::type...>::value,
1742 template<typename... Args>
1746 using namespace Zivid::Detail::TypeTraits;
1748 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1749 "Found duplicate types among the arguments passed to Color(...). "
1750 "Types should be listed at most once.");
1752 set(std::forward<Args>(args)...);
1770 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1772 template<typename... Args>
1776 using namespace Zivid::Detail::TypeTraits;
1778 using AllArgsAreDescendantNodes =
1779 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1780 static_assert(AllArgsAreDescendantNodes::value,
1781 "All arguments passed to set(...) must be descendant nodes.");
1783 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1784 "Found duplicate types among the arguments passed to set(...). "
1785 "Types should be listed at most once.");
1787 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1806 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1808 template<typename... Args>
1812 using namespace Zivid::Detail::TypeTraits;
1814 using AllArgsAreDescendantNodes =
1815 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1816 static_assert(AllArgsAreDescendantNodes::value,
1817 "All arguments passed to copyWith(...) must be descendant nodes.");
1819 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1820 "Found duplicate types among the arguments passed to copyWith(...). "
1821 "Types should be listed at most once.");
1824 copy.
set(std::forward<Args>(args)...);
1850 m_balance.
set(value);
1857 m_balance.
set(value);
1864 m_balance.
set(value);
1887 template<
typename T,
1888 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
1895 template<
typename T,
1896 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1903 template<
typename T,
1904 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1911 template<
typename T,
1912 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1919 template<
typename T,
1920 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
1927 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1933 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1940 template<
typename F>
1948 template<
typename F>
1971 void setFromString(
const std::string &value);
1973 void setFromString(
const std::string &fullPath,
const std::string &value);
1975 std::string getString(
const std::string &fullPath)
const;
1980 friend struct DataModel::Detail::Befriend<
Color>;
2010 template<
typename... Args,
2011 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2012 typename std::enable_if<
2013 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
2014 typename std::decay<Args>::type...>::value,
2017 template<typename... Args>
2021 using namespace Zivid::Detail::TypeTraits;
2023 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2024 "Found duplicate types among the arguments passed to Processing(...). "
2025 "Types should be listed at most once.");
2027 set(std::forward<Args>(args)...);
2046 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2048 template<typename... Args>
2052 using namespace Zivid::Detail::TypeTraits;
2054 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2055 static_assert(AllArgsAreDescendantNodes::value,
2056 "All arguments passed to set(...) must be descendant nodes.");
2058 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2059 "Found duplicate types among the arguments passed to set(...). "
2060 "Types should be listed at most once.");
2062 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2082 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2084 template<typename... Args>
2088 using namespace Zivid::Detail::TypeTraits;
2090 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2091 static_assert(AllArgsAreDescendantNodes::value,
2092 "All arguments passed to copyWith(...) must be descendant nodes.");
2094 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2095 "Found duplicate types among the arguments passed to copyWith(...). "
2096 "Types should be listed at most once.");
2099 copy.
set(std::forward<Args>(args)...);
2157 template<
typename T,
2158 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2166 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2172 template<
typename T,
2173 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
2180 template<
typename T,
2181 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
2188 template<
typename T,
2189 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
2198 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2204 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2211 template<
typename F>
2218 template<
typename F>
2240 void setFromString(
const std::string &value);
2242 void setFromString(
const std::string &fullPath,
const std::string &value);
2244 std::string getString(
const std::string &fullPath)
const;
2248 friend struct DataModel::Detail::Befriend<
Processing>;
2287 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2288 typename std::enable_if<
2289 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
2292 template<typename... Args>
2296 using namespace Zivid::Detail::TypeTraits;
2298 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2299 "Found duplicate types among the arguments passed to Settings2D(...). "
2300 "Types should be listed at most once.");
2302 set(std::forward<Args>(args)...);
2323 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2325 template<typename... Args>
2329 using namespace Zivid::Detail::TypeTraits;
2331 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2332 static_assert(AllArgsAreDescendantNodes::value,
2333 "All arguments passed to set(...) must be descendant nodes.");
2335 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2336 "Found duplicate types among the arguments passed to set(...). "
2337 "Types should be listed at most once.");
2339 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2361 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2363 template<typename... Args>
2367 using namespace Zivid::Detail::TypeTraits;
2369 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2370 static_assert(AllArgsAreDescendantNodes::value,
2371 "All arguments passed to copyWith(...) must be descendant nodes.");
2373 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2374 "Found duplicate types among the arguments passed to copyWith(...). "
2375 "Types should be listed at most once.");
2378 copy.
set(std::forward<Args>(args)...);
2385 return m_acquisitions;
2391 return m_acquisitions;
2397 m_acquisitions = value;
2404 return m_processing;
2410 return m_processing;
2416 m_processing = value;
2423 m_processing.
set(value);
2430 m_processing.
set(value);
2437 m_processing.
set(value);
2444 m_processing.
set(value);
2451 m_processing.
set(value);
2458 m_processing.
set(value);
2462 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Acquisitions>::value,
int>::type = 0>
2465 return m_acquisitions;
2468 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Processing>::value,
int>::type = 0>
2471 return m_processing;
2474 template<
typename T,
2475 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2481 template<
typename T,
2482 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2488 template<
typename T,
2489 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
2496 template<
typename T,
2497 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
2506 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::type = 0>
2512 template<
typename T,
2513 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2519 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2522 return m_acquisitions;
2525 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2528 return m_processing;
2532 template<
typename F>
2540 template<
typename F>
2563 void save(
const std::string &fileName)
const;
2566 void load(
const std::string &fileName);
2569 void setFromString(
const std::string &value);
2571 void setFromString(
const std::string &fullPath,
const std::string &value);
2573 std::string getString(
const std::string &fullPath)
const;
2578 friend struct DataModel::Detail::Befriend<
Settings2D>;
2583 struct Settings2D::Version<3>
2592# pragma warning(pop)
2596# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
2600 struct tuple_size<
Zivid::Settings2D::Processing> : integral_constant<size_t, 1>
2604 struct tuple_element<i,
Zivid::Settings2D::Processing>
2606 static_assert(i < tuple_size<Zivid::Settings2D::Processing>::value,
"Index must be less than 1");
2609 =
decltype(declval<Zivid::Settings2D::Processing>().get<i>());
2613 struct tuple_size<
Zivid::Settings2D::Processing::Color> : integral_constant<size_t, 2>
2617 struct tuple_element<i,
Zivid::Settings2D::Processing::Color>
2619 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color>::value,
"Index must be less than 2");
2622 =
decltype(declval<Zivid::Settings2D::Processing::Color>().get<i>());
2626 struct tuple_size<
Zivid::Settings2D::Processing::Color::Balance> : integral_constant<size_t, 3>
2630 struct tuple_element<i,
Zivid::Settings2D::Processing::Color::Balance>
2632 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color::Balance>::value,
2633 "Index must be less than 3");
2636 =
decltype(declval<Zivid::Settings2D::Processing::Color::Balance>().get<i>());
2640 struct tuple_size<
Zivid::Settings2D> : integral_constant<size_t, 2>
2644 struct tuple_element<i,
Zivid::Settings2D>
2646 static_assert(i < tuple_size<Zivid::Settings2D>::value,
"Index must be less than 2");
2649 =
decltype(declval<Zivid::Settings2D>().get<i>());
#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:170
void reset()
Reset the node to unset state
bool operator!=(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:227
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:245
bool operator<(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:233
constexpr Aperture(double value)
Constructor
Definition: Settings2D.h:201
static constexpr Range< double > validRange()
The range of valid values for Aperture
Definition: Settings2D.h:192
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:239
Aperture()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings2D.h:189
bool operator==(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:221
bool hasValue() const
Check if the value is set
Brightness controls the light output from the projector.
Definition: Settings2D.h:281
bool operator==(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:342
bool operator>(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:360
bool operator<(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:354
static constexpr Range< double > validRange()
The range of valid values for Brightness
Definition: Settings2D.h:313
constexpr Brightness(double value)
Constructor
Definition: Settings2D.h:322
std::string toString() const
Get the value as string
bool operator!=(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:348
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:366
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:310
Exposure time for the image
Definition: Settings2D.h:390
bool operator>(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:455
std::chrono::microseconds ValueType
The type of the underlying value
Definition: Settings2D.h:405
void reset()
Reset the node to unset state
constexpr ExposureTime(std::chrono::microseconds value)
Constructor
Definition: Settings2D.h:417
std::chrono::microseconds value() const
Get the value
bool operator<(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:449
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime
Definition: Settings2D.h:408
bool operator!=(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:443
std::string toString() const
Get the value as string
ExposureTime()=default
Default constructor
bool operator==(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:437
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:461
bool hasValue() const
Check if the value is set
Analog gain in the camera
Definition: Settings2D.h:486
bool operator>(const Gain &other) const
Comparison operator
Definition: Settings2D.h:551
bool operator!=(const Gain &other) const
Comparison operator
Definition: Settings2D.h:539
bool operator==(const Gain &other) const
Comparison operator
Definition: Settings2D.h:533
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:557
double ValueType
The type of the underlying value
Definition: Settings2D.h:501
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:513
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:504
bool operator<(const Gain &other) const
Comparison operator
Definition: Settings2D.h:545
Settings for a single acquisition
Definition: Settings2D.h:152
const Settings2D::Acquisition::Gain & get() const
Definition: Settings2D.h:792
std::tuple< Settings2D::Acquisition::Aperture, Settings2D::Acquisition::Brightness, Settings2D::Acquisition::ExposureTime, Settings2D::Acquisition::Gain > Descendants
Definition: Settings2D.h:582
const ExposureTime & exposureTime() const
Get ExposureTime
Definition: Settings2D.h:730
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:823
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:833
const Settings2D::Acquisition::Aperture & get() const
Definition: Settings2D.h:769
ExposureTime & exposureTime()
Get ExposureTime
Definition: Settings2D.h:736
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:851
bool operator!=(const Acquisition &other) const
Inequality operator
Acquisition & set(const Gain &value)
Set Gain
Definition: Settings2D.h:761
std::string toString() const
Get the value as string
Acquisition & set(const Aperture &value)
Set Aperture
Definition: Settings2D.h:704
Gain & gain()
Get Gain
Definition: Settings2D.h:755
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:674
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:640
const Settings2D::Acquisition::ExposureTime & get() const
Definition: Settings2D.h:785
Acquisition()
Default constructor
Aperture & aperture()
Get Aperture
Definition: Settings2D.h:698
Acquisition(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:611
const Aperture & aperture() const
Get Aperture
Definition: Settings2D.h:692
Acquisition & set(const Brightness &value)
Set Brightness
Definition: Settings2D.h:723
const Brightness & brightness() const
Get Brightness
Definition: Settings2D.h:711
Brightness & brightness()
Get Brightness
Definition: Settings2D.h:717
const Gain & gain() const
Get Gain
Definition: Settings2D.h:749
const Settings2D::Acquisition::Brightness & get() const
Definition: Settings2D.h:777
Acquisition & set(const ExposureTime &value)
Set ExposureTime
Definition: Settings2D.h:742
List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mo...
Definition: Settings2D.h:873
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:893
Acquisitions(std::initializer_list< Settings2D::Acquisition > value)
Constructor
Definition: Settings2D.h:907
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:902
void forEach(const F &f)
Run the given function on each element in the list
Definition: Settings2D.h:964
bool operator==(const Acquisitions &other) const
Comparison operator
Definition: Settings2D.h:983
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:974
std::vector< Settings2D::Acquisition > ValueType
The type of the underlying value
Definition: Settings2D.h:890
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:995
std::size_t size() const noexcept
Get the size of the list
bool operator!=(const Acquisitions &other) const
Comparison operator
Definition: Settings2D.h:989
Acquisitions()=default
Default constructor
const std::vector< Settings2D::Acquisition > & value() const
Get the value
Digital gain applied to blue channel
Definition: Settings2D.h:1058
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:1131
bool operator==(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1107
void reset()
Reset the node to unset state
double ValueType
The type of the underlying value
Definition: Settings2D.h:1075
bool operator>(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1125
std::string toString() const
Get the value as string
constexpr Blue(double value)
Constructor
Definition: Settings2D.h:1087
bool operator!=(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1113
bool hasValue() const
Check if the value is set
static constexpr Range< double > validRange()
The range of valid values for Blue
Definition: Settings2D.h:1078
bool operator<(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1119
Blue()=default
Default constructor
Digital gain applied to green channel
Definition: Settings2D.h:1156
double ValueType
The type of the underlying value
Definition: Settings2D.h:1173
static constexpr Range< double > validRange()
The range of valid values for Green
Definition: Settings2D.h:1176
bool operator==(const Green &other) const
Comparison operator
Definition: Settings2D.h:1205
std::string toString() const
Get the value as string
constexpr Green(double value)
Constructor
Definition: Settings2D.h:1185
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1229
bool operator<(const Green &other) const
Comparison operator
Definition: Settings2D.h:1217
bool hasValue() const
Check if the value is set
Green()=default
Default constructor
bool operator!=(const Green &other) const
Comparison operator
Definition: Settings2D.h:1211
bool operator>(const Green &other) const
Comparison operator
Definition: Settings2D.h:1223
double value() const
Get the value
void reset()
Reset the node to unset state
Digital gain applied to red channel
Definition: Settings2D.h:1254
double ValueType
The type of the underlying value
Definition: Settings2D.h:1271
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1327
Red()=default
Default constructor
bool operator<(const Red &other) const
Comparison operator
Definition: Settings2D.h:1315
std::string toString() const
Get the value as string
static constexpr Range< double > validRange()
The range of valid values for Red
Definition: Settings2D.h:1274
bool hasValue() const
Check if the value is set
bool operator!=(const Red &other) const
Comparison operator
Definition: Settings2D.h:1309
double value() const
Get the value
constexpr Red(double value)
Constructor
Definition: Settings2D.h:1283
bool operator==(const Red &other) const
Comparison operator
Definition: Settings2D.h:1303
void reset()
Reset the node to unset state
bool operator>(const Red &other) const
Comparison operator
Definition: Settings2D.h:1321
Color balance settings
Definition: Settings2D.h:1042
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:1539
Balance(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1380
Blue & blue()
Get Blue
Definition: Settings2D.h:1467
bool operator!=(const Balance &other) const
Inequality operator
std::tuple< Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red > Descendants
Definition: Settings2D.h:1352
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:1573
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:1564
const Blue & blue() const
Get Blue
Definition: Settings2D.h:1461
bool operator==(const Balance &other) const
Equality operator
Balance & set(const Blue &value)
Set Blue
Definition: Settings2D.h:1473
Red & red()
Get Red
Definition: Settings2D.h:1505
Green & green()
Get Green
Definition: Settings2D.h:1486
Balance & set(const Green &value)
Set Green
Definition: Settings2D.h:1492
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:1442
const Green & green() const
Get Green
Definition: Settings2D.h:1480
Balance()
Default constructor
Balance & set(const Red &value)
Set Red
Definition: Settings2D.h:1511
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:1530
const Red & red() const
Get Red
Definition: Settings2D.h:1499
std::string toString() const
Get the value as string
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1408
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:1590
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:1521
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition: Settings2D.h:1613
double ValueType
The type of the underlying value
Definition: Settings2D.h:1632
static constexpr Range< double > validRange()
The range of valid values for Gamma
Definition: Settings2D.h:1635
bool operator>(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1682
bool operator==(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1664
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1688
bool operator!=(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1670
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:1676
void reset()
Reset the node to unset state
constexpr Gamma(double value)
Constructor
Definition: Settings2D.h:1644
Gamma()=default
Default constructor
double value() const
Get the value
Color settings
Definition: Settings2D.h:1026
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1774
Color & set(const Balance::Green &value)
Set Balance::Green
Definition: Settings2D.h:1855
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:1829
Color & set(const Balance::Blue &value)
Set Balance::Blue
Definition: Settings2D.h:1848
Balance & balance()
Get Balance
Definition: Settings2D.h:1835
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:1941
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:1965
Color(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1744
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:1922
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:1906
Gamma & gamma()
Get Gamma
Definition: Settings2D.h:1875
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:1914
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:1714
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:1810
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:1890
Color()
Default constructor
const Gamma & gamma() const
Get Gamma
Definition: Settings2D.h:1869
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:1898
Color & set(const Balance &value)
Set Balance
Definition: Settings2D.h:1841
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:1949
Color & set(const Gamma &value)
Set Gamma
Definition: Settings2D.h:1881
Color & set(const Balance::Red &value)
Set Balance::Red
Definition: Settings2D.h:1862
Processing related settings
Definition: Settings2D.h:1010
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2159
Processing & set(const Color::Gamma &value)
Set Color::Gamma
Definition: Settings2D.h:2151
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:2116
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:2167
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:2234
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:2212
Color & color()
Get Color
Definition: Settings2D.h:2110
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2050
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue
Definition: Settings2D.h:2130
Processing & set(const Color::Balance &value)
Set Color::Balance
Definition: Settings2D.h:2123
const Color & color() const
Get Color
Definition: Settings2D.h:2104
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red
Definition: Settings2D.h:2144
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2199
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2191
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:2086
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2175
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2183
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:2219
Processing()
Default constructor
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:1988
Processing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:2019
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green
Definition: Settings2D.h:2137
Settings used when capturing 2D images with a Zivid camera
Definition: Settings2D.h:120
Settings2D & set(const Processing &value)
Set Processing
Definition: Settings2D.h:2414
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2476
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:2258
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2507
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2499
void save(const std::string &fileName) const
Save to the given file
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2491
const Acquisitions & acquisitions() const
Get Acquisitions
Definition: Settings2D.h:2383
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:2541
Settings2D(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:2294
const Settings2D::Acquisitions & get() const
Definition: Settings2D.h:2463
Settings2D()
Default constructor
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2514
Settings2D & set(const Acquisitions &value)
Set Acquisitions
Definition: Settings2D.h:2395
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:2483
Settings2D & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green
Definition: Settings2D.h:2442
bool operator!=(const Settings2D &other) const
Inequality operator
Settings2D & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance
Definition: Settings2D.h:2428
const Settings2D::Processing & get() const
Definition: Settings2D.h:2469
Settings2D & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red
Definition: Settings2D.h:2449
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2327
Processing & processing()
Get Processing
Definition: Settings2D.h:2408
const Processing & processing() const
Get Processing
Definition: Settings2D.h:2402
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:2365
Settings2D & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue
Definition: Settings2D.h:2435
Acquisitions & acquisitions()
Get Acquisitions
Definition: Settings2D.h:2389
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:2533
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:2557
Settings2D & set(const Processing::Color &value)
Set Processing::Color
Definition: Settings2D.h:2421
Settings2D & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma
Definition: Settings2D.h:2456
NodeType
Definition: NodeType.h:100
Ret validRange(const CameraInfo &cameraInfo)
Definition: SettingsInfo.h:201
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99