112# pragma warning(push)
113# pragma warning(disable : 4251)
129 static constexpr const char *path{
"" };
132 static constexpr const char *name{
"Settings2D" };
135 static constexpr const char *description{
136 R
"description(Settings used when capturing 2D images with a Zivid camera)description"
139 static constexpr size_t version{ 3 };
149 static constexpr std::array<uint8_t, 3> binaryId{
's',
't',
'2' };
163 static constexpr const char *path{
"Acquisition" };
166 static constexpr const char *name{
"Acquisition" };
169 static constexpr const char *description{ R
"description(Settings for a single acquisition)description" };
183 static constexpr const char *path{
"Acquisition/Aperture" };
186 static constexpr const char *name{
"Aperture" };
189 static constexpr const char *description{
190 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
191the effective aperture diameter).
201 return { 1.4, 32.0 };
209 : m_opt{ verifyValue(value) }
230 return m_opt == other.m_opt;
236 return m_opt != other.m_opt;
242 return m_opt < other.m_opt;
248 return m_opt > other.m_opt;
254 return m_opt <= other.m_opt;
260 return m_opt >= other.m_opt;
270 void setFromString(
const std::string &value);
272 constexpr ValueType
static verifyValue(
const ValueType &value)
276 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
281 Zivid::DataModel::Detail::Optional<double> m_opt;
283 friend struct DataModel::Detail::Befriend<
Aperture>;
306 static constexpr const char *path{
"Acquisition/Brightness" };
309 static constexpr const char *name{
"Brightness" };
312 static constexpr const char *description{
313 R
"description(Brightness controls the light output from the projector.
315Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
316or in case of high levels of ambient lighting.
318When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
319can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated
320over a 10 second period. This limitation is enforced automatically by the camera. Calling capture
321when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a
322duration of time to cool down, before capture will start.
340 : m_opt{ verifyValue(value) }
361 return m_opt == other.m_opt;
367 return m_opt != other.m_opt;
373 return m_opt < other.m_opt;
379 return m_opt > other.m_opt;
385 return m_opt <= other.m_opt;
391 return m_opt >= other.m_opt;
401 void setFromString(
const std::string &value);
403 constexpr ValueType
static verifyValue(
const ValueType &value)
407 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
408 +
" } is not in range [" + std::to_string(
validRange().min())
409 +
", " + std::to_string(
validRange().max()) +
"]" };
412 Zivid::DataModel::Detail::Optional<double> m_opt;
414 friend struct DataModel::Detail::Befriend<
Brightness>;
427 static constexpr const char *path{
"Acquisition/ExposureTime" };
430 static constexpr const char *name{
"ExposureTime" };
433 static constexpr const char *description{ R
"description(Exposure time for the image)description" };
441 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
449 : m_opt{ verifyValue(value) }
456 std::chrono::microseconds
value()
const;
470 return m_opt == other.m_opt;
476 return m_opt != other.m_opt;
482 return m_opt < other.m_opt;
488 return m_opt > other.m_opt;
494 return m_opt <= other.m_opt;
500 return m_opt >= other.m_opt;
510 void setFromString(
const std::string &value);
512 constexpr ValueType
static verifyValue(
const ValueType &value)
516 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
517 +
" } is not in range ["
518 + std::to_string(
validRange().min().count()) +
", "
519 + std::to_string(
validRange().max().count()) +
"]" };
522 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
524 friend struct DataModel::Detail::Befriend<
ExposureTime>;
537 static constexpr const char *path{
"Acquisition/Gain" };
540 static constexpr const char *name{
"Gain" };
543 static constexpr const char *description{ R
"description(Analog gain in the camera)description" };
558 explicit constexpr Gain(
double value)
559 : m_opt{ verifyValue(value) }
580 return m_opt == other.m_opt;
586 return m_opt != other.m_opt;
592 return m_opt < other.m_opt;
598 return m_opt > other.m_opt;
604 return m_opt <= other.m_opt;
610 return m_opt >= other.m_opt;
620 void setFromString(
const std::string &value);
622 constexpr ValueType
static verifyValue(
const ValueType &value)
626 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
631 Zivid::DataModel::Detail::Optional<double> m_opt;
633 friend struct DataModel::Detail::Befriend<
Gain>;
662 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
663 typename std::enable_if<
664 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
668 template<typename... Args>
672 using namespace Zivid::Detail::TypeTraits;
675 AllArgsDecayedAreUnique<Args...>::value,
676 "Found duplicate types among the arguments passed to Acquisition(...). "
677 "Types should be listed at most once.");
679 set(std::forward<Args>(args)...);
696 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
698 template<typename... Args>
702 using namespace Zivid::Detail::TypeTraits;
704 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
706 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
709 AllArgsDecayedAreUnique<Args...>::value,
710 "Found duplicate types among the arguments passed to set(...). "
711 "Types should be listed at most once.");
713 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
731 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
733 template<typename... Args>
737 using namespace Zivid::Detail::TypeTraits;
739 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
741 AllArgsAreDescendantNodes::value,
742 "All arguments passed to copyWith(...) must be descendant nodes.");
745 AllArgsDecayedAreUnique<Args...>::value,
746 "Found duplicate types among the arguments passed to copyWith(...). "
747 "Types should be listed at most once.");
750 copy.
set(std::forward<Args>(args)...);
788 m_brightness = value;
795 return m_exposureTime;
801 return m_exposureTime;
807 m_exposureTime = value;
832 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Aperture>::value,
int>::type = 0>
840 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Brightness>::value,
int>::type = 0>
848 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::ExposureTime>::value,
int>::type = 0>
851 return m_exposureTime;
856 typename std::enable_if<std::is_same<T, Settings2D::Acquisition::Gain>::value,
int>::type = 0>
862 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
868 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
874 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
877 return m_exposureTime;
880 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
922 void setFromString(
const std::string &value);
924 void setFromString(
const std::string &fullPath,
const std::string &value);
926 std::string getString(
const std::string &fullPath)
const;
929 Brightness m_brightness;
930 ExposureTime m_exposureTime;
933 friend struct DataModel::Detail::Befriend<
Acquisition>;
946 static constexpr const char *path{
"Acquisitions" };
949 static constexpr const char *name{
"Acquisitions" };
952 static constexpr const char *description{
953 R
"description(List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mode.)description"
962 return { 0, std::numeric_limits<ValueType::size_type>::max() };
970 : m_value{ std::move(value) }
974 explicit Acquisitions(std::initializer_list<Settings2D::Acquisition> value)
979 const std::vector<Settings2D::Acquisition> &
value()
const;
985 std::size_t
size() const noexcept;
988 bool isEmpty() const noexcept;
995 template<typename... Args>
996 void emplaceBack(Args &&...args)
998 m_value.emplace_back(std::forward<Args>(args)...);
1030 template<
typename F>
1033 for(
auto &child : m_value)
1040 template<
typename F>
1043 for(
const auto &child : m_value)
1050 using Iterator = std::vector<Settings2D::Acquisition>::iterator;
1076 return m_value == other.m_value;
1082 return m_value != other.m_value;
1092 void setFromString(
const std::string &value);
1094 std::vector<Settings2D::Acquisition> m_value{};
1096 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1109 static constexpr const char *path{
"Processing" };
1112 static constexpr const char *name{
"Processing" };
1115 static constexpr const char *description{ R
"description(Processing related settings)description" };
1127 static constexpr const char *path{
"Processing/Color" };
1130 static constexpr const char *name{
"Color" };
1133 static constexpr const char *description{ R
"description(Color settings)description" };
1145 static constexpr const char *path{
"Processing/Color/Balance" };
1148 static constexpr const char *name{
"Balance" };
1151 static constexpr const char *description{ R
"description(Color balance settings)description" };
1163 static constexpr const char *path{
"Processing/Color/Balance/Blue" };
1166 static constexpr const char *name{
"Blue" };
1169 static constexpr const char *description{
1170 R
"description(Digital gain applied to blue channel)description"
1179 return { 1.0, 8.0 };
1186 explicit constexpr Blue(
double value)
1187 : m_opt{ verifyValue(value) }
1208 return m_opt == other.m_opt;
1214 return m_opt != other.m_opt;
1220 return m_opt < other.m_opt;
1226 return m_opt > other.m_opt;
1232 return m_opt <= other.m_opt;
1238 return m_opt >= other.m_opt;
1248 void setFromString(
const std::string &value);
1250 constexpr ValueType
static verifyValue(
const ValueType &value)
1254 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1255 +
" } is not in range ["
1257 + std::to_string(
validRange().max()) +
"]" };
1260 Zivid::DataModel::Detail::Optional<double> m_opt;
1262 friend struct DataModel::Detail::Befriend<
Blue>;
1275 static constexpr const char *path{
"Processing/Color/Balance/Green" };
1278 static constexpr const char *name{
"Green" };
1281 static constexpr const char *description{
1282 R
"description(Digital gain applied to green channel)description"
1291 return { 1.0, 8.0 };
1299 : m_opt{ verifyValue(value) }
1320 return m_opt == other.m_opt;
1326 return m_opt != other.m_opt;
1332 return m_opt < other.m_opt;
1338 return m_opt > other.m_opt;
1344 return m_opt <= other.m_opt;
1350 return m_opt >= other.m_opt;
1360 void setFromString(
const std::string &value);
1362 constexpr ValueType
static verifyValue(
const ValueType &value)
1366 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1367 +
" } is not in range ["
1369 + std::to_string(
validRange().max()) +
"]" };
1372 Zivid::DataModel::Detail::Optional<double> m_opt;
1374 friend struct DataModel::Detail::Befriend<
Green>;
1387 static constexpr const char *path{
"Processing/Color/Balance/Red" };
1390 static constexpr const char *name{
"Red" };
1393 static constexpr const char *description{
1394 R
"description(Digital gain applied to red channel)description"
1403 return { 1.0, 8.0 };
1410 explicit constexpr Red(
double value)
1411 : m_opt{ verifyValue(value) }
1432 return m_opt == other.m_opt;
1438 return m_opt != other.m_opt;
1444 return m_opt < other.m_opt;
1450 return m_opt > other.m_opt;
1456 return m_opt <= other.m_opt;
1462 return m_opt >= other.m_opt;
1472 void setFromString(
const std::string &value);
1474 constexpr ValueType
static verifyValue(
const ValueType &value)
1478 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1479 +
" } is not in range ["
1481 + std::to_string(
validRange().max()) +
"]" };
1484 Zivid::DataModel::Detail::Optional<double> m_opt;
1486 friend struct DataModel::Detail::Befriend<
Red>;
1513 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1514 typename std::enable_if<
1515 Zivid::Detail::TypeTraits::
1516 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1519 template<typename... Args>
1523 using namespace Zivid::Detail::TypeTraits;
1526 AllArgsDecayedAreUnique<Args...>::value,
1527 "Found duplicate types among the arguments passed to Balance(...). "
1528 "Types should be listed at most once.");
1530 set(std::forward<Args>(args)...);
1546 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1548 template<typename... Args>
1552 using namespace Zivid::Detail::TypeTraits;
1554 using AllArgsAreDescendantNodes =
1555 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1557 AllArgsAreDescendantNodes::value,
1558 "All arguments passed to set(...) must be descendant nodes.");
1561 AllArgsDecayedAreUnique<Args...>::value,
1562 "Found duplicate types among the arguments passed to set(...). "
1563 "Types should be listed at most once.");
1565 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1582 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1584 template<typename... Args>
1588 using namespace Zivid::Detail::TypeTraits;
1590 using AllArgsAreDescendantNodes =
1591 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1593 AllArgsAreDescendantNodes::value,
1594 "All arguments passed to copyWith(...) must be descendant nodes.");
1597 AllArgsDecayedAreUnique<Args...>::value,
1598 "Found duplicate types among the arguments passed to copyWith(...). "
1599 "Types should be listed at most once.");
1602 copy.
set(std::forward<Args>(args)...);
1665 typename std::enable_if<
1666 std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
1675 typename std::enable_if<
1676 std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
1685 typename std::enable_if<
1686 std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
1693 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1699 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1705 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1712 template<
typename F>
1721 template<
typename F>
1745 void setFromString(
const std::string &value);
1747 void setFromString(
const std::string &fullPath,
const std::string &value);
1749 std::string getString(
const std::string &fullPath)
const;
1755 friend struct DataModel::Detail::Befriend<
Balance>;
1770 static constexpr const char *path{
"Processing/Color/Gamma" };
1773 static constexpr const char *name{
"Gamma" };
1776 static constexpr const char *description{
1777 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
1778greater than 1 makes the colors darker.
1788 return { 0.25, 1.5 };
1796 : m_opt{ verifyValue(value) }
1817 return m_opt == other.m_opt;
1823 return m_opt != other.m_opt;
1829 return m_opt < other.m_opt;
1835 return m_opt > other.m_opt;
1841 return m_opt <= other.m_opt;
1847 return m_opt >= other.m_opt;
1857 void setFromString(
const std::string &value);
1859 constexpr ValueType
static verifyValue(
const ValueType &value)
1863 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
1865 + std::to_string(
validRange().max()) +
"]" };
1868 Zivid::DataModel::Detail::Optional<double> m_opt;
1870 friend struct DataModel::Detail::Befriend<
Gamma>;
1901 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1902 typename std::enable_if<
1903 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1907 template<typename... Args>
1911 using namespace Zivid::Detail::TypeTraits;
1914 AllArgsDecayedAreUnique<Args...>::value,
1915 "Found duplicate types among the arguments passed to Color(...). "
1916 "Types should be listed at most once.");
1918 set(std::forward<Args>(args)...);
1936 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1938 template<typename... Args>
1942 using namespace Zivid::Detail::TypeTraits;
1944 using AllArgsAreDescendantNodes =
1945 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1947 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1950 AllArgsDecayedAreUnique<Args...>::value,
1951 "Found duplicate types among the arguments passed to set(...). "
1952 "Types should be listed at most once.");
1954 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1973 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1975 template<typename... Args>
1979 using namespace Zivid::Detail::TypeTraits;
1981 using AllArgsAreDescendantNodes =
1982 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1984 AllArgsAreDescendantNodes::value,
1985 "All arguments passed to copyWith(...) must be descendant nodes.");
1988 AllArgsDecayedAreUnique<Args...>::value,
1989 "Found duplicate types among the arguments passed to copyWith(...). "
1990 "Types should be listed at most once.");
1993 copy.
set(std::forward<Args>(args)...);
2019 m_balance.
set(value);
2026 m_balance.
set(value);
2033 m_balance.
set(value);
2058 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type =
2067 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
2077 enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type = 0>
2085 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
2094 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type =
2101 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2107 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2114 template<
typename F>
2122 template<
typename F>
2145 void setFromString(
const std::string &value);
2147 void setFromString(
const std::string &fullPath,
const std::string &value);
2149 std::string getString(
const std::string &fullPath)
const;
2154 friend struct DataModel::Detail::Befriend<
Color>;
2187 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2188 typename std::enable_if<
2189 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2193 template<typename... Args>
2197 using namespace Zivid::Detail::TypeTraits;
2200 AllArgsDecayedAreUnique<Args...>::value,
2201 "Found duplicate types among the arguments passed to Processing(...). "
2202 "Types should be listed at most once.");
2204 set(std::forward<Args>(args)...);
2223 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2225 template<typename... Args>
2229 using namespace Zivid::Detail::TypeTraits;
2231 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2233 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2236 AllArgsDecayedAreUnique<Args...>::value,
2237 "Found duplicate types among the arguments passed to set(...). "
2238 "Types should be listed at most once.");
2240 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2260 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2262 template<typename... Args>
2266 using namespace Zivid::Detail::TypeTraits;
2268 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2270 AllArgsAreDescendantNodes::value,
2271 "All arguments passed to copyWith(...) must be descendant nodes.");
2274 AllArgsDecayedAreUnique<Args...>::value,
2275 "Found duplicate types among the arguments passed to copyWith(...). "
2276 "Types should be listed at most once.");
2279 copy.
set(std::forward<Args>(args)...);
2339 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2347 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2355 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::
2364 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::
2373 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::
2382 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2388 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2395 template<
typename F>
2402 template<
typename F>
2424 void setFromString(
const std::string &value);
2426 void setFromString(
const std::string &fullPath,
const std::string &value);
2428 std::string getString(
const std::string &fullPath)
const;
2432 friend struct DataModel::Detail::Befriend<
Processing>;
2472 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2473 typename std::enable_if<
2474 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
2477 template<typename... Args>
2481 using namespace Zivid::Detail::TypeTraits;
2484 AllArgsDecayedAreUnique<Args...>::value,
2485 "Found duplicate types among the arguments passed to Settings2D(...). "
2486 "Types should be listed at most once.");
2488 set(std::forward<Args>(args)...);
2509 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2511 template<typename... Args>
2515 using namespace Zivid::Detail::TypeTraits;
2517 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2519 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2522 AllArgsDecayedAreUnique<Args...>::value,
2523 "Found duplicate types among the arguments passed to set(...). "
2524 "Types should be listed at most once.");
2526 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2548 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2550 template<typename... Args>
2554 using namespace Zivid::Detail::TypeTraits;
2556 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2558 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
2561 AllArgsDecayedAreUnique<Args...>::value,
2562 "Found duplicate types among the arguments passed to copyWith(...). "
2563 "Types should be listed at most once.");
2566 copy.
set(std::forward<Args>(args)...);
2573 return m_acquisitions;
2579 return m_acquisitions;
2585 m_acquisitions = value;
2592 return m_processing;
2598 return m_processing;
2604 m_processing = value;
2611 m_processing.
set(value);
2618 m_processing.
set(value);
2625 m_processing.
set(value);
2632 m_processing.
set(value);
2639 m_processing.
set(value);
2646 m_processing.
set(value);
2650 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Acquisitions>::value,
int>::type = 0>
2653 return m_acquisitions;
2656 template<typename T, typename std::enable_if<std::is_same<T, Settings2D::Processing>::value,
int>::type = 0>
2659 return m_processing;
2664 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color>::value,
int>::type = 0>
2672 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance>::value,
int>::type = 0>
2680 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Blue>::value,
int>::type =
2689 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Green>::value,
int>::type =
2698 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Balance::Red>::value,
int>::type = 0>
2706 typename std::enable_if<std::is_same<T, Settings2D::Processing::Color::Gamma>::value,
int>::type = 0>
2712 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2715 return m_acquisitions;
2718 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2721 return m_processing;
2725 template<
typename F>
2733 template<
typename F>
2756 void save(
const std::string &fileName)
const;
2759 void load(
const std::string &fileName);
2762 void setFromString(
const std::string &value);
2764 void setFromString(
const std::string &fullPath,
const std::string &value);
2766 std::string getString(
const std::string &fullPath)
const;
2771 friend struct DataModel::Detail::Befriend<
Settings2D>;
2785 struct Settings2D::Version<3>
2794# pragma warning(pop)
2798# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
2803 struct tuple_size<
Zivid::Settings2D::Processing> : integral_constant<size_t, 1>
2807 struct tuple_element<i,
Zivid::Settings2D::Processing>
2809 static_assert(i < tuple_size<Zivid::Settings2D::Processing>::value,
"Index must be less than 1");
2812 =
decltype(declval<Zivid::Settings2D::Processing>().get<i>());
2816 struct tuple_size<
Zivid::Settings2D::Processing::Color> : integral_constant<size_t, 2>
2820 struct tuple_element<i,
Zivid::Settings2D::Processing::Color>
2822 static_assert(i < tuple_size<Zivid::Settings2D::Processing::Color>::value,
"Index must be less than 2");
2825 =
decltype(declval<Zivid::Settings2D::Processing::Color>().get<i>());
2829 struct tuple_size<
Zivid::Settings2D::Processing::Color::Balance> : integral_constant<size_t, 3>
2833 struct tuple_element<i,
Zivid::Settings2D::Processing::Color::Balance>
2836 i < tuple_size<Zivid::Settings2D::Processing::Color::Balance>::value,
2837 "Index must be less than 3");
2840 =
decltype(declval<Zivid::Settings2D::Processing::Color::Balance>().get<i>());
2844 struct tuple_size<
Zivid::Settings2D> : integral_constant<size_t, 2>
2848 struct tuple_element<i,
Zivid::Settings2D>
2850 static_assert(i < tuple_size<Zivid::Settings2D>::value,
"Index must be less than 2");
2853 =
decltype(declval<Zivid::Settings2D>().get<i>());
2862#if defined(__has_include) && !defined(NO_DOC)
2863# if __has_include("Zivid/Settings2DInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
2864# include "Zivid/Settings2DInternal.h"
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
Class describing a range of values for a given type T
Definition: Range.h:118
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition: Settings2D.h:177
void reset()
Reset the node to unset state
bool operator!=(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:234
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:264
bool operator<(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:240
constexpr Aperture(double value)
Constructor
Definition: Settings2D.h:208
static constexpr Range< double > validRange()
The range of valid values for Aperture
Definition: Settings2D.h:199
bool operator>=(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:258
bool operator<=(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:252
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:246
Aperture()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings2D.h:196
bool operator==(const Aperture &other) const
Comparison operator
Definition: Settings2D.h:228
bool hasValue() const
Check if the value is set
Brightness controls the light output from the projector.
Definition: Settings2D.h:300
bool operator==(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:359
bool operator<=(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:383
bool operator>(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:377
bool operator<(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:371
static constexpr Range< double > validRange()
The range of valid values for Brightness
Definition: Settings2D.h:330
constexpr Brightness(double value)
Constructor
Definition: Settings2D.h:339
std::string toString() const
Get the value as string
bool operator!=(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:365
bool operator>=(const Brightness &other) const
Comparison operator
Definition: Settings2D.h:389
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:395
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:327
Exposure time for the image
Definition: Settings2D.h:421
bool operator>(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:486
std::chrono::microseconds ValueType
The type of the underlying value
Definition: Settings2D.h:436
bool operator>=(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:498
void reset()
Reset the node to unset state
constexpr ExposureTime(std::chrono::microseconds value)
Constructor
Definition: Settings2D.h:448
std::chrono::microseconds value() const
Get the value
bool operator<(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:480
bool operator<=(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:492
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime
Definition: Settings2D.h:439
bool operator!=(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:474
std::string toString() const
Get the value as string
ExposureTime()=default
Default constructor
bool operator==(const ExposureTime &other) const
Comparison operator
Definition: Settings2D.h:468
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:504
bool hasValue() const
Check if the value is set
Analog gain in the camera
Definition: Settings2D.h:531
bool operator>(const Gain &other) const
Comparison operator
Definition: Settings2D.h:596
bool operator!=(const Gain &other) const
Comparison operator
Definition: Settings2D.h:584
bool operator==(const Gain &other) const
Comparison operator
Definition: Settings2D.h:578
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:614
double ValueType
The type of the underlying value
Definition: Settings2D.h:546
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:558
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:608
bool operator<=(const Gain &other) const
Comparison operator
Definition: Settings2D.h:602
static constexpr Range< double > validRange()
The range of valid values for Gain
Definition: Settings2D.h:549
bool operator<(const Gain &other) const
Comparison operator
Definition: Settings2D.h:590
Settings for a single acquisition
Definition: Settings2D.h:157
const Settings2D::Acquisition::Gain & get() const
Definition: Settings2D.h:857
const ExposureTime & exposureTime() const
Get ExposureTime
Definition: Settings2D.h:793
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:888
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:898
const Settings2D::Acquisition::Aperture & get() const
Definition: Settings2D.h:833
ExposureTime & exposureTime()
Get ExposureTime
Definition: Settings2D.h:799
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:916
bool operator!=(const Acquisition &other) const
Inequality operator
Acquisition & set(const Gain &value)
Set Gain
Definition: Settings2D.h:824
std::string toString() const
Get the value as string
Acquisition & set(const Aperture &value)
Set Aperture
Definition: Settings2D.h:767
std::tuple< Settings2D::Acquisition::Aperture, Settings2D::Acquisition::Brightness, Settings2D::Acquisition::ExposureTime, Settings2D::Acquisition::Gain > Descendants
Definition: Settings2D.h:640
Gain & gain()
Get Gain
Definition: Settings2D.h:818
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:735
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:700
const Settings2D::Acquisition::ExposureTime & get() const
Definition: Settings2D.h:849
Acquisition()
Default constructor
Aperture & aperture()
Get Aperture
Definition: Settings2D.h:761
Acquisition(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:670
const Aperture & aperture() const
Get Aperture
Definition: Settings2D.h:755
Acquisition & set(const Brightness &value)
Set Brightness
Definition: Settings2D.h:786
const Brightness & brightness() const
Get Brightness
Definition: Settings2D.h:774
Brightness & brightness()
Get Brightness
Definition: Settings2D.h:780
const Gain & gain() const
Get Gain
Definition: Settings2D.h:812
const Settings2D::Acquisition::Brightness & get() const
Definition: Settings2D.h:841
Acquisition & set(const ExposureTime &value)
Set ExposureTime
Definition: Settings2D.h:805
List of acquisitions. Note that the Zivid SDK only supports a single acquisition per capture in 2D mo...
Definition: Settings2D.h:940
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:960
Acquisitions(std::initializer_list< Settings2D::Acquisition > value)
Constructor
Definition: Settings2D.h:974
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:969
void forEach(const F &f)
Run the given function on each element in the list
Definition: Settings2D.h:1031
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:1041
std::vector< Settings2D::Acquisition > ValueType
The type of the underlying value
Definition: Settings2D.h:957
Iterator begin() noexcept
Returns an iterator to the first element of the list
std::string toString() const
Get the value as string
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1086
std::vector< Settings2D::Acquisition >::iterator Iterator
Iterator type for Acquisitions
Definition: Settings2D.h:1050
std::vector< Settings2D::Acquisition >::const_iterator ConstIterator
Constant iterator type for Acquisitions
Definition: Settings2D.h:1059
std::size_t size() const noexcept
Get the size of the list
bool operator!=(const Acquisitions &other) const
Comparison operator
Definition: Settings2D.h:1080
Acquisitions()=default
Default constructor
const std::vector< Settings2D::Acquisition > & value() const
Get the value
Digital gain applied to blue channel
Definition: Settings2D.h:1157
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:1242
bool operator<=(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1230
bool operator==(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1206
void reset()
Reset the node to unset state
double ValueType
The type of the underlying value
Definition: Settings2D.h:1174
bool operator>(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1224
std::string toString() const
Get the value as string
constexpr Blue(double value)
Constructor
Definition: Settings2D.h:1186
bool operator!=(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1212
bool hasValue() const
Check if the value is set
static constexpr Range< double > validRange()
The range of valid values for Blue
Definition: Settings2D.h:1177
bool operator<(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1218
bool operator>=(const Blue &other) const
Comparison operator
Definition: Settings2D.h:1236
Blue()=default
Default constructor
Digital gain applied to green channel
Definition: Settings2D.h:1269
double ValueType
The type of the underlying value
Definition: Settings2D.h:1286
static constexpr Range< double > validRange()
The range of valid values for Green
Definition: Settings2D.h:1289
bool operator==(const Green &other) const
Comparison operator
Definition: Settings2D.h:1318
std::string toString() const
Get the value as string
constexpr Green(double value)
Constructor
Definition: Settings2D.h:1298
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1354
bool operator<(const Green &other) const
Comparison operator
Definition: Settings2D.h:1330
bool hasValue() const
Check if the value is set
bool operator<=(const Green &other) const
Comparison operator
Definition: Settings2D.h:1342
Green()=default
Default constructor
bool operator>=(const Green &other) const
Comparison operator
Definition: Settings2D.h:1348
bool operator!=(const Green &other) const
Comparison operator
Definition: Settings2D.h:1324
bool operator>(const Green &other) const
Comparison operator
Definition: Settings2D.h:1336
double value() const
Get the value
void reset()
Reset the node to unset state
Digital gain applied to red channel
Definition: Settings2D.h:1381
double ValueType
The type of the underlying value
Definition: Settings2D.h:1398
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1466
bool operator>=(const Red &other) const
Comparison operator
Definition: Settings2D.h:1460
Red()=default
Default constructor
bool operator<(const Red &other) const
Comparison operator
Definition: Settings2D.h:1442
bool operator<=(const Red &other) const
Comparison operator
Definition: Settings2D.h:1454
std::string toString() const
Get the value as string
static constexpr Range< double > validRange()
The range of valid values for Red
Definition: Settings2D.h:1401
bool hasValue() const
Check if the value is set
bool operator!=(const Red &other) const
Comparison operator
Definition: Settings2D.h:1436
double value() const
Get the value
constexpr Red(double value)
Constructor
Definition: Settings2D.h:1410
bool operator==(const Red &other) const
Comparison operator
Definition: Settings2D.h:1430
void reset()
Reset the node to unset state
bool operator>(const Red &other) const
Comparison operator
Definition: Settings2D.h:1448
Color balance settings
Definition: Settings2D.h:1139
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:1688
Balance(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1521
Blue & blue()
Get Blue
Definition: Settings2D.h:1613
bool operator!=(const Balance &other) const
Inequality operator
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:1722
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:1713
const Blue & blue() const
Get Blue
Definition: Settings2D.h:1607
bool operator==(const Balance &other) const
Equality operator
Balance & set(const Blue &value)
Set Blue
Definition: Settings2D.h:1619
Red & red()
Get Red
Definition: Settings2D.h:1651
Green & green()
Get Green
Definition: Settings2D.h:1632
Balance & set(const Green &value)
Set Green
Definition: Settings2D.h:1638
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:1586
const Green & green() const
Get Green
Definition: Settings2D.h:1626
Balance()
Default constructor
Balance & set(const Red &value)
Set Red
Definition: Settings2D.h:1657
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:1678
const Red & red() const
Get Red
Definition: Settings2D.h:1645
std::string toString() const
Get the value as string
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1550
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:1739
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:1668
std::tuple< Settings2D::Processing::Color::Balance::Blue, Settings2D::Processing::Color::Balance::Green, Settings2D::Processing::Color::Balance::Red > Descendants
Definition: Settings2D.h:1492
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition: Settings2D.h:1764
double ValueType
The type of the underlying value
Definition: Settings2D.h:1783
static constexpr Range< double > validRange()
The range of valid values for Gamma
Definition: Settings2D.h:1786
bool operator>(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1833
bool operator==(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1815
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream
Definition: Settings2D.h:1851
bool operator!=(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1821
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:1827
void reset()
Reset the node to unset state
bool operator>=(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1845
constexpr Gamma(double value)
Constructor
Definition: Settings2D.h:1795
Gamma()=default
Default constructor
bool operator<=(const Gamma &other) const
Comparison operator
Definition: Settings2D.h:1839
double value() const
Get the value
Color settings
Definition: Settings2D.h:1121
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:1940
Color & set(const Balance::Green &value)
Set Balance::Green
Definition: Settings2D.h:2024
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:1998
Color & set(const Balance::Blue &value)
Set Balance::Blue
Definition: Settings2D.h:2017
Balance & balance()
Get Balance
Definition: Settings2D.h:2004
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:2115
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:2139
Color(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:1909
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2096
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2078
Gamma & gamma()
Get Gamma
Definition: Settings2D.h:2044
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:1878
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2087
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:1977
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:2060
Color()
Default constructor
const Gamma & gamma() const
Get Gamma
Definition: Settings2D.h:2038
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2069
Color & set(const Balance &value)
Set Balance
Definition: Settings2D.h:2010
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:2123
Color & set(const Gamma &value)
Set Gamma
Definition: Settings2D.h:2050
Color & set(const Balance::Red &value)
Set Balance::Red
Definition: Settings2D.h:2031
Processing related settings
Definition: Settings2D.h:1103
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2340
Processing & set(const Color::Gamma &value)
Set Color::Gamma
Definition: Settings2D.h:2331
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:2296
const Settings2D::Processing::Color::Balance & get() const
Definition: Settings2D.h:2348
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream
Definition: Settings2D.h:2418
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:2396
Color & color()
Get Color
Definition: Settings2D.h:2290
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2227
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue
Definition: Settings2D.h:2310
Processing & set(const Color::Balance &value)
Set Color::Balance
Definition: Settings2D.h:2303
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:2163
const Color & color() const
Get Color
Definition: Settings2D.h:2284
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red
Definition: Settings2D.h:2324
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2383
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2375
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:2264
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2357
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2366
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:2403
Processing()
Default constructor
Processing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:2195
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green
Definition: Settings2D.h:2317
Settings used when capturing 2D images with a Zivid camera
Definition: Settings2D.h:123
Settings2D & set(const Processing &value)
Set Processing
Definition: Settings2D.h:2602
const Settings2D::Processing::Color & get() const
Definition: Settings2D.h:2665
const Settings2D::Processing::Color::Balance::Red & get() const
Definition: Settings2D.h:2699
const Settings2D::Processing::Color::Balance::Green & get() const
Definition: Settings2D.h:2691
void save(const std::string &fileName) const
Save to the given file
const Settings2D::Processing::Color::Balance::Blue & get() const
Definition: Settings2D.h:2682
const Acquisitions & acquisitions() const
Get Acquisitions
Definition: Settings2D.h:2571
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings2D.h:2734
Settings2D(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings2D.h:2479
const Settings2D::Acquisitions & get() const
Definition: Settings2D.h:2651
Settings2D()
Default constructor
const Settings2D::Processing::Color::Gamma & get() const
Definition: Settings2D.h:2707
Settings2D & set(const Acquisitions &value)
Set Acquisitions
Definition: Settings2D.h:2583
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:2673
Settings2D & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green
Definition: Settings2D.h:2630
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:2443
bool operator!=(const Settings2D &other) const
Inequality operator
Settings2D & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance
Definition: Settings2D.h:2616
const Settings2D::Processing & get() const
Definition: Settings2D.h:2657
Settings2D & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red
Definition: Settings2D.h:2637
void set(Args &&...args)
Set multiple arguments
Definition: Settings2D.h:2513
Processing & processing()
Get Processing
Definition: Settings2D.h:2596
const Processing & processing() const
Get Processing
Definition: Settings2D.h:2590
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:2552
Settings2D & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue
Definition: Settings2D.h:2623
Acquisitions & acquisitions()
Get Acquisitions
Definition: Settings2D.h:2577
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:2726
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:2750
Settings2D & set(const Processing::Color &value)
Set Processing::Color
Definition: Settings2D.h:2609
Settings2D & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma
Definition: Settings2D.h:2644
NodeType
Definition: NodeType.h:100
Ret validRange(const CameraInfo &cameraInfo)
Definition: SettingsInfo.h:225
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99