MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::VoxelsVolumeMinMax< T > Struct Template Reference

#include <MRVoxelsVolume.h>

+ Inheritance diagram for MR::VoxelsVolumeMinMax< T >:

Additional Inherited Members

- Public Types inherited from MR::VoxelsVolume< T >
using ValueType = typename VoxelTraits<T>::ValueType
 
- Public Types inherited from MR::Box< V >
using VTraits = VectorTraits<V>
 
using T = typename VTraits::BaseType
 
using Vb = typename VTraits::template ChangeBaseType<bool>
 
using VbTraits = VectorTraits<Vb>
 
- Public Member Functions inherited from MR::VoxelsVolume< T >
size_t heapBytes () const
 
- Public Member Functions inherited from MR::Box< V >
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
 
center () const
 computes center of the box
 
corner (const Vb &c) const
 
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
 
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
 
Boxintersect (const Box &b)
 
T getDistanceSq (const Box &b) const
 
T getDistanceSq (const V &pt) const
 
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 Public Member Functions inherited from MR::Box< V >
static Box fromMinAndSize (const V &min, const V &size)
 
static Vb getMinBoxCorner (const V &n)
 
static Vb getMaxBoxCorner (const V &n)
 
- Public Attributes inherited from MR::VoxelsVolume< T >
data
 
Vector3i dims
 
Vector3f voxelSize { 1.f, 1.f, 1.f }
 
- Public Attributes inherited from MR::Box< V >
min
 
max
 
- Static Public Attributes inherited from MR::Box< V >
static constexpr int elements = VTraits::size
 

Detailed Description

template<typename T>
struct MR::VoxelsVolumeMinMax< T >

represents a box in 3D space subdivided on voxels stored in T; and stores minimum and maximum values among all valid voxels


The documentation for this struct was generated from the following file: