IMP logo
IMP Reference Guide  develop.d97d4ead1f,2024/11/22
The Integrative Modeling Platform
IMP::algebra::SparseGrid3D< VT > Struct Template Reference

A sparse grid of values. More...

#include <IMP/algebra/standard_grids.h>

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

Detailed Description

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

A sparse grid of values.

In Python SparseIntGrid3D is provided.

Definition at line 78 of file standard_grids.h.

Public Types

typedef GridD
< 3, SparseGridStorageD< 3, VT,
BoundedGridRangeD< 3 > >, VT,
DefaultEmbeddingD< 3 > > 
P
 
- Public Types inherited from IMP::algebra::GridD< 3, SparseGridStorageD< 3, VT, BoundedGridRangeD< 3 > >, VT, DefaultEmbeddingD< 3 > >
typedef DefaultEmbeddingD< 3 > Embedding
 
typedef SparseGridStorageD
< 3, VT, BoundedGridRangeD< 3 > > 
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::SparseGridStorageD< 3, VT, BoundedGridRangeD< 3 > >
typedef VT Value
 
typedef Data::const_iterator AllConstIterator
 
typedef
boost::transform_iterator
< GetIndex, AllConstIterator > 
AllIndexIterator
 
- Public Types inherited from IMP::algebra::BoundedGridRangeD< 3 >
typedef ExtendedGridIndexD< D > ExtendedIndex
 
typedef GridIndexD< D > Index
 

Public Member Functions

 SparseGrid3D (double side, const BoundingBoxD< 3 > &bb, VT def=VT())
 
 SparseGrid3D (int xd, int yd, int zd, const BoundingBoxD< 3 > &bb, VT def=VT())
 
- Public Member Functions inherited from IMP::algebra::GridD< 3, SparseGridStorageD< 3, VT, BoundedGridRangeD< 3 > >, 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::SparseGridStorageD< 3, VT, BoundedGridRangeD< 3 > >
 SparseGridStorageD (const Ints &counts, const VT &default_value)
 
GridIndexD< D > add_voxel (const ExtendedGridIndexD< D > &i, const VT &gi)
 Add a voxel to the storage, this voxel will now have a GridIndex3D. More...
 
Functor apply (const Grid &g, Functor f) const
 
bool get_has_index (const ExtendedGridIndexD< D > &i) const
 Return true if the voxel has been added. More...
 
GridIndexD< D > get_index (const ExtendedGridIndexD< D > &i) const
 requires get_has_index(i) is true. More...
 
unsigned int get_number_of_voxels () const
 
void remove_voxel (const GridIndexD< D > &gi)
 
void show (std::ostream &out=std::cout) const
 
AllConstIterator all_begin () const
 
AllConstIterator all_end () const
 
AllIndexIterator all_indexes_begin () const
 
AllIndexIterator all_indexes_end () const
 
const VT at (GridIndexD< D >) const
 
VT & at (GridIndexD< D >)
 
const VT operator[] (GridIndexD< D >) const
 
VT & operator[] (GridIndexD< D >)
 
IndexIterator indexes_begin (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
IndexIterator indexes_end (const ExtendedGridIndexD< D > &, const ExtendedGridIndexD< D > &) const
 
Vector< GridIndexD< D > > get_indexes (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
- Public Member Functions inherited from IMP::algebra::BoundedGridRangeD< 3 >
 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: