|
| Box () |
| Default constructor.
|
|
template<typename... Args> |
| Box (Args &&...args) |
| Constructor taking variadic number of arguments.
|
|
template<typename... Args> |
void | set (Args &&...args) |
| Set multiple arguments.
|
|
template<typename... Args> |
Box | copyWith (Args &&...args) const |
| Returns a copy of this object with the given argument(s) set to the new value(s)
|
|
const Enabled & | isEnabled () const |
| Get Enabled.
|
|
Enabled & | isEnabled () |
| Get Enabled.
|
|
Box & | set (const Enabled &value) |
| Set Enabled.
|
|
const Extents & | extents () const |
| Get Extents.
|
|
Extents & | extents () |
| Get Extents.
|
|
Box & | set (const Extents &value) |
| Set Extents.
|
|
const PointA & | pointA () const |
| Get PointA.
|
|
PointA & | pointA () |
| Get PointA.
|
|
Box & | set (const PointA &value) |
| Set PointA.
|
|
const PointB & | pointB () const |
| Get PointB.
|
|
PointB & | pointB () |
| Get PointB.
|
|
Box & | set (const PointB &value) |
| Set PointB.
|
|
const PointO & | pointO () const |
| Get PointO.
|
|
PointO & | pointO () |
| Get PointO.
|
|
Box & | set (const PointO &value) |
| Set PointO.
|
|
template<typename T , typename std::enable_if< std::is_same< T, Settings::RegionOfInterest::Box::Enabled >::value, int >::type = 0> |
const Settings::RegionOfInterest::Box::Enabled & | get () const |
|
template<typename T , typename std::enable_if< std::is_same< T, Settings::RegionOfInterest::Box::Extents >::value, int >::type = 0> |
const Settings::RegionOfInterest::Box::Extents & | get () const |
|
template<typename T , typename std::enable_if< std::is_same< T, Settings::RegionOfInterest::Box::PointA >::value, int >::type = 0> |
const Settings::RegionOfInterest::Box::PointA & | get () const |
|
template<typename T , typename std::enable_if< std::is_same< T, Settings::RegionOfInterest::Box::PointB >::value, int >::type = 0> |
const Settings::RegionOfInterest::Box::PointB & | get () const |
|
template<typename T , typename std::enable_if< std::is_same< T, Settings::RegionOfInterest::Box::PointO >::value, int >::type = 0> |
const Settings::RegionOfInterest::Box::PointO & | get () const |
|
template<size_t i, typename std::enable_if< i==0, int >::type = 0> |
const Settings::RegionOfInterest::Box::Enabled & | get () const |
|
template<size_t i, typename std::enable_if< i==1, int >::type = 0> |
const Settings::RegionOfInterest::Box::Extents & | get () const |
|
template<size_t i, typename std::enable_if< i==2, int >::type = 0> |
const Settings::RegionOfInterest::Box::PointA & | get () const |
|
template<size_t i, typename std::enable_if< i==3, int >::type = 0> |
const Settings::RegionOfInterest::Box::PointB & | get () const |
|
template<size_t i, typename std::enable_if< i==4, int >::type = 0> |
const Settings::RegionOfInterest::Box::PointO & | get () const |
|
template<typename F > |
void | forEach (const F &f) const |
| Run the given function on each direct member with the value of the member as parameter.
|
|
template<typename F > |
void | forEach (const F &f) |
| Run the given function on each direct member with the value of the member as parameter.
|
|
bool | operator== (const Box &other) const |
| Equality operator.
|
|
bool | operator!= (const Box &other) const |
| Inequality operator.
|
|
std::string | toString () const |
| Get the value as string.
|
|
Removes points outside the given three-dimensional box.
Using this feature may significantly speed up acquisition and processing time, because one can avoid acquiring and processing data that is guaranteed to fall outside of the region of interest. The degree of speed-up depends on the size and shape of the box. Generally, a smaller box yields a greater speed-up.
The box is defined by three points: O, A and B. These points define two vectors, OA that goes from PointO to PointA, and OB that goes from PointO to PointB. This gives 4 points O, A, B and (O + OA + OB), that together form a parallelogram in 3D.
Two extents can be provided, to extrude the parallelogram along the surface normal vector of the parallelogram plane. This creates a 3D volume (parallelepiped). The surface normal vector is defined by the cross product OA x OB.