#include <MRVoxelsVolume.h>
Additional Inherited Members | |
![]() | |
using | ValueType = typename VoxelTraits<T>::ValueType |
![]() | |
using | VTraits = VectorTraits<V> |
using | T = typename VTraits::BaseType |
using | Vb = typename VTraits::template ChangeBaseType<bool> |
using | VbTraits = VectorTraits<Vb> |
![]() | |
size_t | heapBytes () const |
![]() | |
const V & | operator[] (int e) const |
min/max access by 0/1 index | |
V & | operator[] (int e) |
Box () | |
create invalid box by default | |
Box (const V &min, const V &max) | |
template<typename VV = V, typename std::enable_if_t< VectorTraits< VV >::supportNoInit, int > = 0> | |
Box (NoInit) | |
skip initialization of min/max | |
template<typename VV = V, typename std::enable_if_t<!VectorTraits< VV >::supportNoInit, int > = 0> | |
Box (NoInit) | |
template<typename U > | |
Box (const Box< U > &a) | |
bool | valid () const |
true if the box contains at least one point | |
V | center () const |
computes center of the box | |
V | corner (const Vb &c) const |
V | size () const |
computes size of the box in all dimensions | |
T | diagonal () const |
computes length from min to max | |
T | volume () const |
computes the volume of this box | |
void | include (const V &pt) |
minimally increases the box to include given point | |
void | include (const Box &b) |
minimally increases the box to include another box | |
bool | contains (const V &pt) const |
checks whether given point is inside (including the surface) of this box | |
bool | contains (const Box &otherbox) const |
checks whether given box is fully inside (the surfaces may touch) of this box | |
V | getBoxClosestPointTo (const V &pt) const |
returns closest point in the box to given point | |
bool | intersects (const Box &b) const |
checks whether this box intersects or touches given box | |
Box | intersection (const Box &b) const |
computes intersection between this and other box | |
Box & | intersect (const Box &b) |
T | getDistanceSq (const Box &b) const |
T | getDistanceSq (const V &pt) const |
V | getProjection (const V &pt) const |
Box | expanded (const V &expansion) const |
decreases min and increased max on given value | |
Box | insignificantlyExpanded () const |
decreases min and increases max to their closest representable value | |
bool | operator== (const Box &a) const |
bool | operator!= (const Box &a) const |
![]() | |
static Box | fromMinAndSize (const V &min, const V &size) |
static Vb | getMinBoxCorner (const V &n) |
static Vb | getMaxBoxCorner (const V &n) |
![]() | |
T | data |
Vector3i | dims |
Vector3f | voxelSize { 1.f, 1.f, 1.f } |
![]() | |
V | min |
V | max |
![]() | |
static constexpr int | elements = VTraits::size |
represents a box in 3D space subdivided on voxels stored in T; and stores minimum and maximum values among all valid voxels