68 # pragma warning(push)
69 # pragma warning(disable : 4251)
82 static constexpr
const char *path{
"" };
85 static constexpr
const char *name{
"Settings2D" };
88 static constexpr
const char *description{
89 R
"description(Settings used when capturing 2D images with a Zivid camera)description"
92 static constexpr
size_t version{ 3 };
102 static constexpr std::array<uint8_t, 3> binaryId{
's',
't',
'2' };
114 static constexpr
const char *path{
"Acquisition" };
117 static constexpr
const char *name{
"Acquisition" };
120 static constexpr
const char *description{ R
"description(Settings for a single acquisition)description" };
132 static constexpr
const char *path{
"Acquisition/Aperture" };
135 static constexpr
const char *name{
"Aperture" };
138 static constexpr
const char *description{
139 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
140 the effective aperture diameter).
150 return { 1.4, 32.0 };
158 : m_opt{ verifyValue(value) }
179 return m_opt == other.m_opt;
185 return m_opt != other.m_opt;
191 return m_opt < other.m_opt;
197 return m_opt > other.m_opt;
207 void setFromString(
const std::string &value);
209 constexpr ValueType verifyValue(
const ValueType &value)
const
213 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
218 Zivid::DataModel::Detail::Optional<double> m_opt;
220 friend struct DataModel::Detail::Befriend<
Aperture>;
243 static constexpr
const char *path{
"Acquisition/Brightness" };
246 static constexpr
const char *name{
"Brightness" };
249 static constexpr
const char *description{
250 R
"description(Brightness controls the light output from the projector.
252 Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
253 or in case of high levels of ambient lighting. Brightness above 1.0 is supported on Zivid One
256 When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
257 can capture) will be reduced. For Zivid One Plus the duty cycle in boost mode is 50%. For Zivid
258 Two the duty cycle is reduced linearly from 100% at brightness 1.0, to 50% at brightness 1.8.
259 The duty cycle is calculated over a 10 second period. This limitation is enforced automatically
260 by the camera. Calling capture when the duty cycle limit has been reached will cause the camera
261 to first wait (sleep) for a duration of time to cool down, before capture will start.
279 : m_opt{ verifyValue(value) }
300 return m_opt == other.m_opt;
306 return m_opt != other.m_opt;
312 return m_opt < other.m_opt;
318 return m_opt > other.m_opt;
328 void setFromString(
const std::string &value);
330 constexpr ValueType verifyValue(
const ValueType &value)
const
334 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
335 +
" } is not in range [" + std::to_string(
validRange().min())
336 +
", " + std::to_string(
validRange().max()) +
"]" };
339 Zivid::DataModel::Detail::Optional<double> m_opt;
341 friend struct DataModel::Detail::Befriend<
Brightness>;
352 static constexpr
const char *path{
"Acquisition/ExposureTime" };
355 static constexpr
const char *name{
"ExposureTime" };
358 static constexpr
const char *description{ R
"description(Exposure time for the image)description" };
366 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
374 : m_opt{ verifyValue(value) }
381 std::chrono::microseconds
value()
const;
395 return m_opt == other.m_opt;
401 return m_opt != other.m_opt;
407 return m_opt < other.m_opt;
413 return m_opt > other.m_opt;
423 void setFromString(
const std::string &value);
425 constexpr ValueType verifyValue(
const ValueType &value)
const
429 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
430 +
" } is not in range ["
431 + std::to_string(
validRange().min().count()) +
", "
432 + std::to_string(
validRange().max().count()) +
"]" };
435 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
437 friend struct DataModel::Detail::Befriend<
ExposureTime>;
448 static constexpr
const char *path{
"Acquisition/Gain" };
451 static constexpr
const char *name{
"Gain" };
454 static constexpr
const char *description{ R
"description(Analog gain in the camera)description" };
469 explicit constexpr
Gain(
double value)
470 : m_opt{ verifyValue(value) }
491 return m_opt == other.m_opt;
497 return m_opt != other.m_opt;
503 return m_opt < other.m_opt;
509 return m_opt > other.m_opt;
519 void setFromString(
const std::string &value);
521 constexpr ValueType verifyValue(
const ValueType &value)
const
525 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
530 Zivid::DataModel::Detail::Optional<double> m_opt;
532 friend struct DataModel::Detail::Befriend<
Gain>;
558 template<
typename... Args,
559 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
560 typename std::enable_if<
561 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
562 typename std::decay<Args>::type...>::value,
565 template<typename... Args>
569 using namespace Zivid::Detail::TypeTraits;
571 static_assert(AllArgsDecayedAreUnique<Args...>::value,
572 "Found duplicate types among the arguments passed to Acquisition(...). "
573 "Types should be listed at most once.");
575 set(std::forward<Args>(args)...);
592 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
594 template<typename... Args>
598 using namespace Zivid::Detail::TypeTraits;
600 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
601 static_assert(AllArgsAreDescendantNodes::value,
602 "All arguments passed to set(...) must be descendant nodes.");
604 static_assert(AllArgsDecayedAreUnique<Args...>::value,
605 "Found duplicate types among the arguments passed to set(...). "
606 "Types should be listed at most once.");
608 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
626 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
628 template<typename... Args>
632 using namespace Zivid::Detail::TypeTraits;
634 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
635 static_assert(AllArgsAreDescendantNodes::value,
636 "All arguments passed to copyWith(...) must be descendant nodes.");
638 static_assert(AllArgsDecayedAreUnique<Args...>::value,
639 "Found duplicate types among the arguments passed to copyWith(...). "
640 "Types should be listed at most once.");
643 copy.set(std::forward<Args>(args)...);
681 m_brightness = value;
688 return m_exposureTime;
694 return m_exposureTime;
700 m_exposureTime = value;
724 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Aperture>::value,
int>::type = 0>
732 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Brightness>::value,
int>::type = 0>
740 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::ExposureTime>::value,
int>::type = 0>
743 return m_exposureTime;
747 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Gain>::value,
int>::type = 0>
753 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
759 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
765 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
768 return m_exposureTime;
771 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
813 void setFromString(
const std::string &value);
815 void setFromString(
const std::string &fullPath,
const std::string &value);
817 std::string getString(
const std::string &fullPath)
const;
820 Brightness m_brightness;
821 ExposureTime m_exposureTime;
824 friend struct DataModel::Detail::Befriend<
Acquisition>;
835 static constexpr
const char *path{
"Acquisitions" };
838 static constexpr
const char *name{
"Acquisitions" };
841 static constexpr
const char *description{
842 R
"description(List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mode.)description"
851 return { 0, std::numeric_limits<ValueType::size_type>::max() };
859 : m_value{ std::move(value) }
863 explicit Acquisitions(std::initializer_list<Settings2D::Acquisition> value)
868 const std::vector<Settings2D::Acquisition> &
value()
const;
874 std::size_t
size() const noexcept;
877 bool isEmpty() const noexcept;
884 template<typename... Args>
885 void emplaceBack(Args &&...args)
887 m_value.emplace_back(std::forward<Args>(args)...);
922 for(
auto &child : m_value)
932 for(
const auto &child : m_value)
941 return m_value == other.m_value;
947 return m_value != other.m_value;
957 void setFromString(
const std::string &value);
959 std::vector<Settings2D::Acquisition> m_value{};
961 friend struct DataModel::Detail::Befriend<
Acquisitions>;
972 static constexpr
const char *path{
"Processing" };
975 static constexpr
const char *name{
"Processing" };
978 static constexpr
const char *description{ R
"description(Processing related settings)description" };
988 static constexpr
const char *path{
"Processing/Color" };
991 static constexpr
const char *name{
"Color" };
994 static constexpr
const char *description{ R
"description(Color settings)description" };
1004 static constexpr
const char *path{
"Processing/Color/Balance" };
1007 static constexpr
const char *name{
"Balance" };
1010 static constexpr
const char *description{ R
"description(Color balance settings)description" };
1020 static constexpr
const char *path{
"Processing/Color/Balance/Blue" };
1023 static constexpr
const char *name{
"Blue" };
1026 static constexpr
const char *description{
1027 R
"description(Digital gain applied to blue channel)description"
1036 return { 1.0, 8.0 };
1043 explicit constexpr
Blue(
double value)
1044 : m_opt{ verifyValue(value) }
1065 return m_opt == other.m_opt;
1071 return m_opt != other.m_opt;
1077 return m_opt < other.m_opt;
1083 return m_opt > other.m_opt;
1093 void setFromString(
const std::string &value);
1095 constexpr ValueType verifyValue(
const ValueType &value)
const
1099 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1100 +
" } is not in range ["
1102 + std::to_string(
validRange().max()) +
"]" };
1105 Zivid::DataModel::Detail::Optional<double> m_opt;
1107 friend struct DataModel::Detail::Befriend<
Blue>;
1118 static constexpr
const char *path{
"Processing/Color/Balance/Green" };
1121 static constexpr
const char *name{
"Green" };
1124 static constexpr
const char *description{
1125 R
"description(Digital gain applied to green channel)description"
1134 return { 1.0, 8.0 };
1142 : m_opt{ verifyValue(value) }
1163 return m_opt == other.m_opt;
1169 return m_opt != other.m_opt;
1175 return m_opt < other.m_opt;
1181 return m_opt > other.m_opt;
1191 void setFromString(
const std::string &value);
1193 constexpr ValueType verifyValue(
const ValueType &value)
const
1197 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1198 +
" } is not in range ["
1200 + std::to_string(
validRange().max()) +
"]" };
1203 Zivid::DataModel::Detail::Optional<double> m_opt;
1205 friend struct DataModel::Detail::Befriend<
Green>;
1216 static constexpr
const char *path{
"Processing/Color/Balance/Red" };
1219 static constexpr
const char *name{
"Red" };
1222 static constexpr
const char *description{
1223 R
"description(Digital gain applied to red channel)description"
1232 return { 1.0, 8.0 };
1239 explicit constexpr
Red(
double value)
1240 : m_opt{ verifyValue(value) }
1261 return m_opt == other.m_opt;
1267 return m_opt != other.m_opt;
1273 return m_opt < other.m_opt;
1279 return m_opt > other.m_opt;
1289 void setFromString(
const std::string &value);
1291 constexpr ValueType verifyValue(
const ValueType &value)
const
1295 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1296 +
" } is not in range ["
1298 + std::to_string(
validRange().max()) +
"]" };
1301 Zivid::DataModel::Detail::Optional<double> m_opt;
1303 friend struct DataModel::Detail::Befriend<
Red>;
1327 template<
typename... Args,
1328 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1329 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
1331 typename std::decay<Args>::type...>::value,
1334 template<typename... Args>
1338 using namespace Zivid::Detail::TypeTraits;
1340 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1341 "Found duplicate types among the arguments passed to Balance(...). "
1342 "Types should be listed at most once.");
1344 set(std::forward<Args>(args)...);
1360 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1362 template<typename... Args>
1366 using namespace Zivid::Detail::TypeTraits;
1368 using AllArgsAreDescendantNodes =
1369 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1370 static_assert(AllArgsAreDescendantNodes::value,
1371 "All arguments passed to set(...) must be descendant nodes.");
1373 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1374 "Found duplicate types among the arguments passed to set(...). "
1375 "Types should be listed at most once.");
1377 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1394 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1396 template<typename... Args>
1400 using namespace Zivid::Detail::TypeTraits;
1402 using AllArgsAreDescendantNodes =
1403 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1404 static_assert(AllArgsAreDescendantNodes::value,
1405 "All arguments passed to copyWith(...) must be descendant nodes.");
1407 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1408 "Found duplicate types among the arguments passed to copyWith(...). "
1409 "Types should be listed at most once.");
1412 copy.set(std::forward<Args>(args)...);
1475 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1484 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1493 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1500 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1506 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1512 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1519 template<
typename F>
1528 template<
typename F>
1552 void setFromString(
const std::string &value);
1554 void setFromString(
const std::string &fullPath,
const std::string &value);
1556 std::string getString(
const std::string &fullPath)
const;
1562 friend struct DataModel::Detail::Befriend<
Balance>;
1575 static constexpr
const char *path{
"Processing/Color/Gamma" };
1578 static constexpr
const char *name{
"Gamma" };
1581 static constexpr
const char *description{
1582 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
1583 greater than 1 makes the colors darker.
1593 return { 0.25, 1.5 };
1601 : m_opt{ verifyValue(value) }
1622 return m_opt == other.m_opt;
1628 return m_opt != other.m_opt;
1634 return m_opt < other.m_opt;
1640 return m_opt > other.m_opt;
1650 void setFromString(
const std::string &value);
1652 constexpr ValueType verifyValue(
const ValueType &value)
const
1656 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
1658 + std::to_string(
validRange().max()) +
"]" };
1661 Zivid::DataModel::Detail::Optional<double> m_opt;
1663 friend struct DataModel::Detail::Befriend<
Gamma>;
1691 template<
typename... Args,
1692 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1693 typename std::enable_if<
1694 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
1695 typename std::decay<Args>::type...>::value,
1698 template<typename... Args>
1702 using namespace Zivid::Detail::TypeTraits;
1704 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1705 "Found duplicate types among the arguments passed to Color(...). "
1706 "Types should be listed at most once.");
1708 set(std::forward<Args>(args)...);
1726 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1728 template<typename... Args>
1732 using namespace Zivid::Detail::TypeTraits;
1734 using AllArgsAreDescendantNodes =
1735 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1736 static_assert(AllArgsAreDescendantNodes::value,
1737 "All arguments passed to set(...) must be descendant nodes.");
1739 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1740 "Found duplicate types among the arguments passed to set(...). "
1741 "Types should be listed at most once.");
1743 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1762 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1764 template<typename... Args>
1768 using namespace Zivid::Detail::TypeTraits;
1770 using AllArgsAreDescendantNodes =
1771 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1772 static_assert(AllArgsAreDescendantNodes::value,
1773 "All arguments passed to copyWith(...) must be descendant nodes.");
1775 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1776 "Found duplicate types among the arguments passed to copyWith(...). "
1777 "Types should be listed at most once.");
1780 copy.set(std::forward<Args>(args)...);
1806 m_balance.
set(value);
1813 m_balance.
set(value);
1820 m_balance.
set(value);
1843 template<
typename T,
1844 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
1851 template<
typename T,
1852 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1859 template<
typename T,
1860 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1867 template<
typename T,
1868 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1875 template<
typename T,
1876 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
1883 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1889 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1896 template<
typename F>
1904 template<
typename F>
1927 void setFromString(
const std::string &value);
1929 void setFromString(
const std::string &fullPath,
const std::string &value);
1931 std::string getString(
const std::string &fullPath)
const;
1936 friend struct DataModel::Detail::Befriend<
Color>;
1966 template<
typename... Args,
1967 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1968 typename std::enable_if<
1969 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
1970 typename std::decay<Args>::type...>::value,
1973 template<typename... Args>
1977 using namespace Zivid::Detail::TypeTraits;
1979 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1980 "Found duplicate types among the arguments passed to Processing(...). "
1981 "Types should be listed at most once.");
1983 set(std::forward<Args>(args)...);
2002 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2004 template<typename... Args>
2008 using namespace Zivid::Detail::TypeTraits;
2010 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2011 static_assert(AllArgsAreDescendantNodes::value,
2012 "All arguments passed to set(...) must be descendant nodes.");
2014 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2015 "Found duplicate types among the arguments passed to set(...). "
2016 "Types should be listed at most once.");
2018 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2038 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2040 template<typename... Args>
2044 using namespace Zivid::Detail::TypeTraits;
2046 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2047 static_assert(AllArgsAreDescendantNodes::value,
2048 "All arguments passed to copyWith(...) must be descendant nodes.");
2050 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2051 "Found duplicate types among the arguments passed to copyWith(...). "
2052 "Types should be listed at most once.");
2055 copy.set(std::forward<Args>(args)...);
2113 template<
typename T,
2114 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2122 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2128 template<
typename T,
2129 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
2136 template<
typename T,
2137 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
2144 template<
typename T,
2145 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
2154 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2160 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2167 template<
typename F>
2174 template<
typename F>
2196 void setFromString(
const std::string &value);
2198 void setFromString(
const std::string &fullPath,
const std::string &value);
2200 std::string getString(
const std::string &fullPath)
const;
2204 friend struct DataModel::Detail::Befriend<
Processing>;
2243 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2244 typename std::enable_if<
2245 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
2248 template<typename... Args>
2252 using namespace Zivid::Detail::TypeTraits;
2254 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2255 "Found duplicate types among the arguments passed to Settings2D(...). "
2256 "Types should be listed at most once.");
2258 set(std::forward<Args>(args)...);
2279 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2281 template<typename... Args>
2285 using namespace Zivid::Detail::TypeTraits;
2287 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2288 static_assert(AllArgsAreDescendantNodes::value,
2289 "All arguments passed to set(...) must be descendant nodes.");
2291 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2292 "Found duplicate types among the arguments passed to set(...). "
2293 "Types should be listed at most once.");
2295 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2317 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2319 template<typename... Args>
2323 using namespace Zivid::Detail::TypeTraits;
2325 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2326 static_assert(AllArgsAreDescendantNodes::value,
2327 "All arguments passed to copyWith(...) must be descendant nodes.");
2329 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2330 "Found duplicate types among the arguments passed to copyWith(...). "
2331 "Types should be listed at most once.");
2334 copy.set(std::forward<Args>(args)...);
2341 return m_acquisitions;
2347 return m_acquisitions;
2353 m_acquisitions = value;
2360 return m_processing;
2366 return m_processing;
2372 m_processing = value;
2379 m_processing.
set(value);
2386 m_processing.
set(value);
2393 m_processing.
set(value);
2400 m_processing.
set(value);
2407 m_processing.
set(value);
2414 m_processing.
set(value);
2418 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Acquisitions>::value,
int>::type = 0>
2421 return m_acquisitions;
2424 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Processing>::value,
int>::type = 0>
2427 return m_processing;
2430 template<
typename T,
2431 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2437 template<
typename T,
2438 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2444 template<
typename T,
2445 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
2452 template<
typename T,
2453 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
2462 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::type = 0>
2468 template<
typename T,
2469 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2475 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2478 return m_acquisitions;
2481 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2484 return m_processing;
2488 template<
typename F>
2496 template<
typename F>
2519 void save(
const std::string &fileName)
const;
2522 void load(
const std::string &fileName);
2525 void setFromString(
const std::string &value);
2527 void setFromString(
const std::string &fullPath,
const std::string &value);
2529 std::string getString(
const std::string &fullPath)
const;
2534 friend struct DataModel::Detail::Befriend<
Settings2D>;
2539 struct Settings2D::Version<3>
2548 # pragma warning(pop)
2552 # if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
2556 struct tuple_size<
Zivid::Settings2D::Processing> : integral_constant<size_t, 1>
2560 struct tuple_element<i,
Zivid::Settings2D::Processing>
2562 static_assert(i < tuple_size<Zivid::Settings2D::Processing>::value,
"Index must be less than 1");
2565 = decltype(declval<Zivid::Settings2D::Processing>().get<i>());
2569 struct tuple_size<
Zivid::Settings2D::Processing::Color> : integral_constant<size_t, 2>
2573 struct tuple_element<i,
Zivid::Settings2D::Processing::Color>
2575 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color>::value,
"Index must be less than 2");
2578 = decltype(declval<Zivid::Settings2D::Processing::Color>().get<i>());
2582 struct tuple_size<
Zivid::Settings2D::Processing::Color::Balance> : integral_constant<size_t, 3>
2586 struct tuple_element<i,
Zivid::Settings2D::Processing::Color::Balance>
2588 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color::Balance>::value,
2589 "Index must be less than 3");
2592 = decltype(declval<Zivid::Settings2D::Processing::Color::Balance>().get<i>());
2596 struct tuple_size<
Zivid::Settings2D> : integral_constant<size_t, 2>
2600 struct tuple_element<i,
Zivid::Settings2D>
2602 static_assert(i < tuple_size<Zivid::Settings2D>::value,
"Index must be less than 2");
2605 = decltype(declval<Zivid::Settings2D>().get<i>());
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:57
Class describing a range of values for a given type T
Definition: Range.h:58
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition: Settings2D.h:126
void reset()
Reset the node to unset state
bool operator!=(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:183
bool operator<(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:189
constexpr Aperture(double value)
Constructor
Definition: Settings2D.h:157
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:195
Aperture()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings2D.h:145
bool operator==(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:177
static constexpr Range< double > validRange()
The range of valid values for Aperture
Definition: Settings2D.h:148
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:201
bool hasValue() const
Check if the value is set
Brightness controls the light output from the projector.
Definition: Settings2D.h:237
bool operator==(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:298
bool operator>(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:316
bool operator<(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:310
constexpr Brightness(double value)
Constructor
Definition: Settings2D.h:278
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:322
std::string toString() const
Get the value as string
static constexpr Range< double > validRange()
The range of valid values for Brightness
Definition: Settings2D.h:269
bool operator!=(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:304
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:266
Exposure time for the image
Definition: Settings2D.h:346
bool operator>(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:411
std::chrono::microseconds ValueType
The type of the underlying value
Definition: Settings2D.h:361
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime
Definition: Settings2D.h:364
void reset()
Reset the node to unset state
constexpr ExposureTime(std::chrono::microseconds value)
Constructor
Definition: Settings2D.h:373
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:417
std::chrono::microseconds value() const
Get the value
bool operator<(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:405
bool operator!=(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:399
std::string toString() const
Get the value as string
ExposureTime()=default
Default constructor
bool operator==(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:393
bool hasValue() const
Check if the value is set
Analog gain in the camera
Definition: Settings2D.h:442
bool operator>(const Gain &other) const
Comparison operator
Definition: Settings2D.h:507
bool operator!=(const Gain &other) const
Comparison operator
Definition: Settings2D.h:495
bool operator==(const Gain &other) const
Comparison operator
Definition: Settings2D.h:489
double ValueType
The type of the underlying value
Definition: Settings2D.h:457
Gain()=default
Default constructor
std::string toString() const
Get the value as string
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:513
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Gain
Definition: Settings2D.h:460
constexpr Gain(double value)
Constructor
Definition: Settings2D.h:469
double value() const
Get the value
bool hasValue() const
Check if the value is set
bool operator<(const Gain &other) const
Comparison operator
Definition: Settings2D.h:501
Settings for a single acquisition
Definition: Settings2D.h:108
const Settings2D::Acquisition::ExposureTime & get() const
Definition: Settings2D.h:741
std::tuple< Settings2D::Acquisition::Aperture, Settings2D::Acquisition::Brightness, Settings2D::Acquisition::ExposureTime, Settings2D::Acquisition::Gain > Descendants
Definition: Settings2D.h:538
Acquisition & set(const ExposureTime &value)
Set ExposureTime
Definition: Settings2D.h:698
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:779
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:789
Acquisition & set(const Gain &value)
Set Gain
Definition: Settings2D.h:717
bool operator!=(const Acquisition &other) const
Inequality operator
std::string toString() const
Get the value as string
bool operator==(const Acquisition &other) const
Equality operator
const Settings2D::Acquisition::Brightness & get() const
Definition: Settings2D.h:733
Acquisition & set(const Aperture &value)
Set Aperture
Definition: Settings2D.h:660
Gain & gain()
Get Gain
Definition: Settings2D.h:711
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:630
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:596
const Brightness & brightness() const
Get Brightness
Definition: Settings2D.h:667
Acquisition & set(const Brightness &value)
Set Brightness
Definition: Settings2D.h:679
Acquisition()
Default constructor
const Settings2D::Acquisition::Gain & get() const
Definition: Settings2D.h:748
Acquisition(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:567
ExposureTime & exposureTime()
Get ExposureTime
Definition: Settings2D.h:692
const Settings2D::Acquisition::Aperture & get() const
Definition: Settings2D.h:725
const Gain & gain() const
Get Gain
Definition: Settings2D.h:705
const ExposureTime & exposureTime() const
Get ExposureTime
Definition: Settings2D.h:686
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:807
Brightness & brightness()
Get Brightness
Definition: Settings2D.h:673
Aperture & aperture()
Get Aperture
Definition: Settings2D.h:654
const Aperture & aperture() const
Get Aperture
Definition: Settings2D.h:648
List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mo...
Definition: Settings2D.h:829
const Settings2D::Acquisition & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in the list
const std::vector< Settings2D::Acquisition > & value() const
Get the value
Settings2D::Acquisition & at(std::size_t pos)
Returns a reference to the element at position pos in the list
const Settings2D::Acquisition & at(std::size_t pos) const
Returns a const reference to the element at position pos in the list
Acquisitions(std::initializer_list< Settings2D::Acquisition > value)
Constructor
Definition: Settings2D.h:863
Acquisitions(std::vector< Settings2D::Acquisition > value)
Constructor
Definition: Settings2D.h:858
void forEach(const F &f)
Run the given function on each element in the list
Definition: Settings2D.h:920
bool operator==(const Acquisitions &other) const
Comparison operator
Definition: Settings2D.h:939
void forEach(const F &f) const
Run the given function on each element in the list
Definition: Settings2D.h:930
Settings2D::Acquisition & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list
std::vector< Settings2D::Acquisition > ValueType
The type of the underlying value
Definition: Settings2D.h:846
std::string toString() const
Get the value as string
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Acquisitions
Definition: Settings2D.h:849
std::size_t size() const noexcept
Get the size of the list
bool operator!=(const Acquisitions &other) const
Comparison operator
Definition: Settings2D.h:945
Acquisitions()=default
Default constructor
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:951
Digital gain applied to blue channel
Definition: Settings2D.h:1014
double value() const
Get the value
bool operator==(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1063
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Blue
Definition: Settings2D.h:1034
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1087
double ValueType
The type of the underlying value
Definition: Settings2D.h:1031
bool operator>(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1081
std::string toString() const
Get the value as string
constexpr Blue(double value)
Constructor
Definition: Settings2D.h:1043
bool operator!=(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1069
bool hasValue() const
Check if the value is set
bool operator<(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1075
Blue()=default
Default constructor
Digital gain applied to green channel
Definition: Settings2D.h:1112
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1185
double ValueType
The type of the underlying value
Definition: Settings2D.h:1129
static constexpr Range< double > validRange()
The range of valid values for Green
Definition: Settings2D.h:1132
bool operator==(const Green &other) const
Comparison operator
Definition: Settings2D.h:1161
std::string toString() const
Get the value as string
constexpr Green(double value)
Constructor
Definition: Settings2D.h:1141
bool operator<(const Green &other) const
Comparison operator
Definition: Settings2D.h:1173
bool hasValue() const
Check if the value is set
Green()=default
Default constructor
bool operator!=(const Green &other) const
Comparison operator
Definition: Settings2D.h:1167
bool operator>(const Green &other) const
Comparison operator
Definition: Settings2D.h:1179
double value() const
Get the value
void reset()
Reset the node to unset state
Digital gain applied to red channel
Definition: Settings2D.h:1210
double ValueType
The type of the underlying value
Definition: Settings2D.h:1227
static constexpr Range< double > validRange()
The range of valid values for Red
Definition: Settings2D.h:1230
Red()=default
Default constructor
bool operator<(const Red &other) const
Comparison operator
Definition: Settings2D.h:1271
std::string toString() const
Get the value as string
bool hasValue() const
Check if the value is set
bool operator!=(const Red &other) const
Comparison operator
Definition: Settings2D.h:1265
double value() const
Get the value
constexpr Red(double value)
Constructor
Definition: Settings2D.h:1239
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1283
bool operator==(const Red &other) const
Comparison operator
Definition: Settings2D.h:1259
void reset()
Reset the node to unset state
bool operator>(const Red &other) const
Comparison operator
Definition: Settings2D.h:1277
Color balance settings
Definition: Settings2D.h:998
Red & red()
Get Red
Definition: Settings2D.h:1461
Balance(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1336
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:1308
const Blue & blue() const
Get Blue
Definition: Settings2D.h:1417
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:1529
const Green & green() const
Get Green
Definition: Settings2D.h:1436
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:1520
bool operator==(const Balance &other) const
Equality operator
Balance & set(const Blue &value)
Set Blue
Definition: Settings2D.h:1429
Balance & set(const Green &value)
Set Green
Definition: Settings2D.h:1448
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:1398
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:1495
const Red & red() const
Get Red
Definition: Settings2D.h:1455
Balance()
Default constructor
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:1546
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:1477
Balance & set(const Red &value)
Set Red
Definition: Settings2D.h:1467
Blue & blue()
Get Blue
Definition: Settings2D.h:1423
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:1486
std::string toString() const
Get the value as string
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1364
Green & green()
Get Green
Definition: Settings2D.h:1442
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition: Settings2D.h:1569
double ValueType
The type of the underlying value
Definition: Settings2D.h:1588
bool operator>(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1638
bool operator==(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1620
bool operator!=(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1626
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:1632
static constexpr Range< double > validRange()
The range of valid values for Gamma
Definition: Settings2D.h:1591
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1644
void reset()
Reset the node to unset state
constexpr Gamma(double value)
Constructor
Definition: Settings2D.h:1600
Gamma()=default
Default constructor
double value() const
Get the value
Color settings
Definition: Settings2D.h:982
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1730
bool operator!=(const Color &other) const
Inequality operator
const Balance & balance() const
Get Balance
Definition: Settings2D.h:1785
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:1862
bool operator==(const Color &other) const
Equality operator
Gamma & gamma()
Get Gamma
Definition: Settings2D.h:1831
std::string toString() const
Get the value as string
Color & set(const Balance::Green &value)
Set Balance::Green
Definition: Settings2D.h:1811
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:1870
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:1897
Color(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1700
Color & set(const Gamma &value)
Set Gamma
Definition: Settings2D.h:1837
Color & set(const Balance::Blue &value)
Set Balance::Blue
Definition: Settings2D.h:1804
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:1670
Color & set(const Balance::Red &value)
Set Balance::Red
Definition: Settings2D.h:1818
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:1921
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:1766
Color()
Default constructor
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:1878
const Gamma & gamma() const
Get Gamma
Definition: Settings2D.h:1825
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:1905
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:1846
Balance & balance()
Get Balance
Definition: Settings2D.h:1791
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:1854
Color & set(const Balance &value)
Set Balance
Definition: Settings2D.h:1797
Processing related settings
Definition: Settings2D.h:966
bool operator!=(const Processing &other) const
Inequality operator
bool operator==(const Processing &other) const
Equality operator
Processing & set(const Color::Balance &value)
Set Color::Balance
Definition: Settings2D.h:2079
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:2123
Processing & set(const Color &value)
Set Color
Definition: Settings2D.h:2072
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:2168
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2139
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2006
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red
Definition: Settings2D.h:2100
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue
Definition: Settings2D.h:2086
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2115
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:2190
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:2042
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2147
std::string toString() const
Get the value as string
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green
Definition: Settings2D.h:2093
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:2175
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:1944
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2155
const Color & color() const
Get Color
Definition: Settings2D.h:2060
Processing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1975
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2131
Color & color()
Get Color
Definition: Settings2D.h:2066
Processing & set(const Color::Gamma &value)
Set Color::Gamma
Definition: Settings2D.h:2107
Settings used when capturing 2D images with a Zivid camera
Definition: Settings2D.h:76
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:2214
Acquisitions & acquisitions()
Get Acquisitions
Definition: Settings2D.h:2345
void save(const std::string &fileName) const
Save to the given file
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2470
const Acquisitions & acquisitions() const
Get Acquisitions
Definition: Settings2D.h:2339
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:2497
Settings2D(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:2250
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2455
Settings2D()
Default constructor
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2463
Settings2D(const std::string &fileName)
Construct Settings2D by loading from file
void load(const std::string &fileName)
Load from the given file
bool operator!=(const Settings2D &other) const
Inequality operator
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2432
Settings2D & set(const Processing &value)
Set Processing
Definition: Settings2D.h:2370
const Settings2D::Acquisitions & get() const
Definition: Settings2D.h:2419
Settings2D & set(const Processing::Color &value)
Set Processing::Color
Definition: Settings2D.h:2377
Settings2D & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma
Definition: Settings2D.h:2412
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2283
Processing & processing()
Get Processing
Definition: Settings2D.h:2364
friend std::ostream & operator<<(std::ostream &stream, const Settings2D &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:2513
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:2321
const Processing & processing() const
Get Processing
Definition: Settings2D.h:2358
Settings2D & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green
Definition: Settings2D.h:2398
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2447
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:2489
bool operator==(const Settings2D &other) const
Equality operator
Settings2D & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue
Definition: Settings2D.h:2391
const Settings2D::Processing & get() const
Definition: Settings2D.h:2425
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:2439
Settings2D & set(const Acquisitions &value)
Set Acquisitions
Definition: Settings2D.h:2351
Settings2D & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red
Definition: Settings2D.h:2405
Settings2D & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance
Definition: Settings2D.h:2384
NodeType
Definition: NodeType.h:56
Ret validRange(const CameraInfo &cameraInfo)
Definition: SettingsInfo.h:158
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:55