IMP logo
IMP Reference Guide  develop.29b24c6ad6,2021/05/15
The Integrative Modeling Platform
IMP::algebra::DenseGrid3D< VT > Struct Template Reference

A dense grid of values. More...

#include <IMP/algebra/standard_grids.h>

+ Inheritance diagram for IMP::algebra::DenseGrid3D< VT >:

Detailed Description

template<class VT>
struct IMP::algebra::DenseGrid3D< VT >

A dense grid of values.

In Python DenseFloatGrid3D and DenseDoubleGrid3D are provided. See IMP_GRID3D_FOREACH_VOXEL() for a useful macro when operating on all voxels of the grid.

Definition at line 54 of file standard_grids.h.

Public Types

typedef GridD
< 3, DenseGridStorageD< 3, VT >
, VT, DefaultEmbeddingD< 3 > > 
P
 
- Public Types inherited from IMP::algebra::GridD< 3, DenseGridStorageD< 3, VT >, VT, DefaultEmbeddingD< 3 > >
typedef DefaultEmbeddingD< 3 > Embedding
 
typedef DenseGridStorageD< 3, VT > Storage
 
typedef VectorD< D > Vector
 
typedef
internal::GridIndexIterator
< ExtendedGridIndexD< D >
, internal::AllItHelp
< ExtendedGridIndexD< D >
, ExtendedGridIndexD< D > > > 
ExtendedIndexIterator
 
typedef boost::iterator_range
< typename
Storage::IndexIterator > 
Indexes
 
typedef boost::iterator_range
< typename
Storage::AllIndexIterator > 
AllIndexes
 
typedef boost::iterator_range
< ExtendedIndexIterator > 
ExtendedIndexes
 
- Public Types inherited from IMP::algebra::DenseGridStorageD< 3, VT >
typedef VT Value
 
typedef VT * AllVoxelIterator
 
typedef const VT * AllVoxelConstIterator
 
- Public Types inherited from IMP::algebra::BoundedGridRangeD< D >
typedef ExtendedGridIndexD< D > ExtendedIndex
 
typedef GridIndexD< D > Index
 

Public Member Functions

 DenseGrid3D (double side, const BoundingBoxD< 3 > &bb, VT def=VT())
 
- Public Member Functions inherited from IMP::algebra::GridD< 3, DenseGridStorageD< 3, VT >, VT, DefaultEmbeddingD< 3 > >
 GridD (const Ints counts, const BoundingBoxD< D > &bb, VTdefault_value=VT())
 
 GridD (double side, const BoundingBoxD< D > &bb, const VT &default_value=VT())
 
 GridD (const VectorD< D > &sides, const BoundingBoxD< D > &bb, const VT &default_value=VT())
 
 GridD (const Storage &storage, const Embedding &embed)
 
 GridD (double side, const VectorD< D > &origin, const VT &default_value=VT())
 
 GridD (const VectorD< D > &sides, const VectorD< D > &origin, const VT &default_value=VT())
 
 GridD ()
 An empty, undefined grid. More...
 
GridIndexD< D > add_voxel (const VectorD< D > &pt, const VT &vt)
 
const VT at (VectorD< D >) const
 
VT & at (VectorD< D >)
 
BoundingBoxD< D > get_bounding_box () const
 
ExtendedGridIndexD< D > get_extended_index (const GridIndexD< D > &index) const
 Convert an index back to an extended index. More...
 
VT & operator[] (VectorD< D >)
 
const VT operator[] (VectorD< D >) const
 
void set_bounding_box (const BoundingBoxD< D > &bb3)
 Change the bounding box but not the grid or contents. More...
 
void show (std::ostream &out=std::cout) const
 
VoxelIterator voxels_begin (const BoundingBoxD< D > &bb)
 
VoxelConstIterator voxels_begin (const BoundingBoxD< D > &bb) const
 
VoxelIterator voxels_end (const BoundingBoxD< D > &bb)
 
VoxelConstIterator voxels_end (const BoundingBoxD< D > &bb) const
 
Storage::IndexIterator indexes_begin (const BoundingBoxD< D > &bb) const
 
Storage::IndexIterator indexes_end (const BoundingBoxD< D > &) const
 
ExtendedIndexIterator extended_indexes_begin (const BoundingBoxD< D > &bb) const
 
ExtendedIndexIterator extended_indexes_end (const BoundingBoxD< D > &) const
 
Indexes get_indexes (const BoundingBoxD< D > &bb) const
 
AllIndexes get_all_indexes () const
 
ExtendedIndexes get_extended_indexes (const BoundingBoxD< D > &bb) const
 
GridIndexD< D > get_nearest_index (const VectorD< D > &pt) const
 
ExtendedGridIndexD< D > get_nearest_extended_index (const VectorD< D > &pt) const
 
Functor apply (const Functor &f) const
 
- Public Member Functions inherited from IMP::algebra::DenseGridStorageD< 3, VT >
 DenseGridStorageD (const DenseGridStorageD &o)
 
 DenseGridStorageD (const Ints &counts, const VT &default_value=VT())
 
Functor apply (const Grid &g, const Functor &fi) const
 
const VT at (GridIndexD< D >) const
 
VT & at (GridIndexD< D >)
 
const VT * get_raw_data () const
 
VT * get_raw_data ()
 
DenseGridStorageDoperator= (const DenseGridStorageD &o)
 
const VT operator[] (GridIndexD< D >) const
 
VT & operator[] (GridIndexD< D >)
 
void show (std::ostream &out=std::cout) const
 
AllVoxelIterator all_voxels_begin ()
 
AllVoxelConstIterator all_voxels_begin () const
 
AllVoxelIterator all_voxels_end ()
 
AllVoxelConstIterator all_voxels_end () const
 
Vector< VT > get_all_voxels () const
 
const VT at (unsigned int) const
 
VT & at (unsigned int)
 
const VT operator[] (unsigned int) const
 
VT & operator[] (unsigned int)
 
- Public Member Functions inherited from IMP::algebra::BoundedGridRangeD< D >
 BoundedGridRangeD (const Ints &counts)
 
ExtendedGridIndexD< D > get_end_index () const
 Get the past-end voxel. More...
 
bool get_has_index (const ExtendedGridIndexD< D > &v) const
 Return true if the ExtendedIndex is also a normal index value. More...
 
GridIndexD< D > get_index (const ExtendedGridIndexD< D > &v) const
 Convert a ExtendedIndex into a real Index if possible. More...
 
ExtendedGridIndexD< D > get_maximum_extended_index () const
 Return the index of the maximal cell. More...
 
ExtendedGridIndexD< D > get_minimum_extended_index () const
 Return the ExtendedGridIndexD of all zeros. More...
 
unsigned int get_number_of_voxels (unsigned int i) const
 Return the number of voxels in a certain direction. More...
 
unsigned int get_number_of_voxels () const
 
void show (std::ostream &out=std::cout) const
 
AllIndexIterator all_indexes_begin () const
 
AllIndexIterator all_indexes_end () const
 
Vector< GridIndexD< D > > get_all_indexes () const
 
IndexIterator indexes_begin (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
IndexIterator indexes_end (const ExtendedGridIndexD< D > &, const ExtendedGridIndexD< D > &) const
 
ExtendedIndexIterator extended_indexes_begin (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
ExtendedIndexIterator extended_indexes_end (const ExtendedGridIndexD< D > &, const ExtendedGridIndexD< D > &) const
 
Vector< GridIndexD< D > > get_indexes (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
Vector< ExtendedGridIndexD< D > > get_extended_indexes (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
- Public Member Functions inherited from IMP::algebra::DefaultEmbeddingD< 3 >
 DefaultEmbeddingD (const VectorD< D > &origin, const VectorD< D > &cell)
 
unsigned int get_dimension () const
 
ExtendedGridIndexD< D > get_extended_index (const VectorD< D > &o) const
 Return the index that would contain the voxel if the grid extended there. More...
 
GridIndexD< D > get_index (const VectorD< D > &o) const
 
const VectorD< D > get_origin () const
 
const VectorD< D > & get_unit_cell () const
 Return the unit cell, relative to the origin. More...
 
void set_origin (const VectorD< D > &o)
 
void set_unit_cell (const VectorD< D > &o)
 
void show (std::ostream &out=std::cout) const
 
VectorD< D > get_center (const ExtendedGridIndexD< D > &ei) const
 
VectorD< D > get_center (const GridIndexD< D > &ei) const
 
BoundingBoxD< D > get_bounding_box (const ExtendedGridIndexD< D > &ei) const
 
BoundingBoxD< D > get_bounding_box (const GridIndexD< D > &ei) const
 

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