Rosetta
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
numeric::VoxelArray< _Float, _Value > Class Template Reference

#include <VoxelArray.hh>

Public Types

typedef VoxelArray< _Float, _Value > THIS
 
typedef _Float Float
 
typedef _Value Value
 
typedef std::array< Size, DIMIndices
 
typedef std::array< Float, DIMBounds
 
typedef std::vector< Value >::reference data_reference_type
 
typedef std::vector< Value >::const_reference const_data_reference_type
 

Public Member Functions

std::vector< Value > & data ()
 
std::vector< Value > const & data () const
 
Size num_elements () const
 
Indices const & shape () const
 
 VoxelArray ()
 
template<class F1 , class F2 , class F3 >
 VoxelArray (F1 const &lb, F2 const &ub, F3 const &cs)
 
template<class Floats >
Indices floats_to_index (Floats const &f) const
 
Bounds indices_to_center (Indices const &idx) const
 
template<class Floats >
const_data_reference_type operator[] (Floats const &floats) const
 
template<class Floats >
data_reference_type operator[] (Floats const &floats)
 
Value at (Float f, Float g, Float h) const
 
template<class V >
Value at (V const &v) const
 
bool operator== (THIS const &o) const
 
template<class Archive >
void save (Archive &ar, const unsigned int) const
 
template<class Archive >
void load (Archive &ar, const unsigned int)
 
void save (std::ostream &out) const
 
void load (std::istream &in)
 

Static Public Attributes

static size_t const DIM = 3
 

Private Member Functions

void resize (Indices const &indices)
 
data_reference_type operator() (Indices const &indices)
 
const_data_reference_type operator() (Indices const &indices) const
 

Private Attributes

Bounds lb_
 
Bounds ub_
 
Bounds cs_
 
std::vector< Valuedata_
 
Indices shape_
 

Member Typedef Documentation

◆ Bounds

template<class _Float , class _Value >
typedef std::array< Float, DIM > numeric::VoxelArray< _Float, _Value >::Bounds

◆ const_data_reference_type

template<class _Float , class _Value >
typedef std::vector<Value>::const_reference numeric::VoxelArray< _Float, _Value >::const_data_reference_type

◆ data_reference_type

template<class _Float , class _Value >
typedef std::vector<Value>::reference numeric::VoxelArray< _Float, _Value >::data_reference_type

◆ Float

template<class _Float , class _Value >
typedef _Float numeric::VoxelArray< _Float, _Value >::Float

◆ Indices

template<class _Float , class _Value >
typedef std::array< Size, DIM > numeric::VoxelArray< _Float, _Value >::Indices

◆ THIS

template<class _Float , class _Value >
typedef VoxelArray<_Float,_Value> numeric::VoxelArray< _Float, _Value >::THIS

◆ Value

template<class _Float , class _Value >
typedef _Value numeric::VoxelArray< _Float, _Value >::Value

Constructor & Destructor Documentation

◆ VoxelArray() [1/2]

template<class _Float , class _Value >
numeric::VoxelArray< _Float, _Value >::VoxelArray ( )
inline

◆ VoxelArray() [2/2]

template<class _Float , class _Value >
template<class F1 , class F2 , class F3 >
numeric::VoxelArray< _Float, _Value >::VoxelArray ( F1 const &  lb,
F2 const &  ub,
F3 const &  cs 
)
inline

Member Function Documentation

◆ at() [1/2]

template<class _Float , class _Value >
Value numeric::VoxelArray< _Float, _Value >::at ( Float  f,
Float  g,
Float  h 
) const
inline

◆ at() [2/2]

template<class _Float , class _Value >
template<class V >
Value numeric::VoxelArray< _Float, _Value >::at ( V const &  v) const
inline

◆ data() [1/2]

template<class _Float , class _Value >
std::vector<Value>& numeric::VoxelArray< _Float, _Value >::data ( )
inline

◆ data() [2/2]

template<class _Float , class _Value >
std::vector<Value> const& numeric::VoxelArray< _Float, _Value >::data ( ) const
inline

◆ floats_to_index()

template<class _Float , class _Value >
template<class Floats >
Indices numeric::VoxelArray< _Float, _Value >::floats_to_index ( Floats const &  f) const
inline

◆ indices_to_center()

template<class _Float , class _Value >
Bounds numeric::VoxelArray< _Float, _Value >::indices_to_center ( Indices const &  idx) const
inline

◆ load() [1/2]

template<class _Float , class _Value >
template<class Archive >
void numeric::VoxelArray< _Float, _Value >::load ( Archive &  ar,
const unsigned int   
)
inline

◆ load() [2/2]

template<class _Float , class _Value >
void numeric::VoxelArray< _Float, _Value >::load ( std::istream &  in)
inline

◆ num_elements()

template<class _Float , class _Value >
Size numeric::VoxelArray< _Float, _Value >::num_elements ( ) const
inline

◆ operator()() [1/2]

template<class _Float , class _Value >
data_reference_type numeric::VoxelArray< _Float, _Value >::operator() ( Indices const &  indices)
inlineprivate

◆ operator()() [2/2]

template<class _Float , class _Value >
const_data_reference_type numeric::VoxelArray< _Float, _Value >::operator() ( Indices const &  indices) const
inlineprivate

◆ operator==()

template<class _Float , class _Value >
bool numeric::VoxelArray< _Float, _Value >::operator== ( THIS const &  o) const
inline

◆ operator[]() [1/2]

template<class _Float , class _Value >
template<class Floats >
data_reference_type numeric::VoxelArray< _Float, _Value >::operator[] ( Floats const &  floats)
inline

◆ operator[]() [2/2]

template<class _Float , class _Value >
template<class Floats >
const_data_reference_type numeric::VoxelArray< _Float, _Value >::operator[] ( Floats const &  floats) const
inline

◆ resize()

template<class _Float , class _Value >
void numeric::VoxelArray< _Float, _Value >::resize ( Indices const &  indices)
inlineprivate

◆ save() [1/2]

template<class _Float , class _Value >
template<class Archive >
void numeric::VoxelArray< _Float, _Value >::save ( Archive &  ar,
const unsigned int   
) const
inline

◆ save() [2/2]

template<class _Float , class _Value >
void numeric::VoxelArray< _Float, _Value >::save ( std::ostream &  out) const
inline

◆ shape()

template<class _Float , class _Value >
Indices const& numeric::VoxelArray< _Float, _Value >::shape ( ) const
inline

Member Data Documentation

◆ cs_

template<class _Float , class _Value >
Bounds numeric::VoxelArray< _Float, _Value >::cs_
private

◆ data_

template<class _Float , class _Value >
std::vector<Value> numeric::VoxelArray< _Float, _Value >::data_
private

◆ DIM

template<class _Float , class _Value >
size_t const numeric::VoxelArray< _Float, _Value >::DIM = 3
static

◆ lb_

template<class _Float , class _Value >
Bounds numeric::VoxelArray< _Float, _Value >::lb_
private

◆ shape_

template<class _Float , class _Value >
Indices numeric::VoxelArray< _Float, _Value >::shape_
private

◆ ub_

template<class _Float , class _Value >
Bounds numeric::VoxelArray< _Float, _Value >::ub_
private

The documentation for this class was generated from the following files: