IMP  2.0.0
The Integrative Modeling Platform
IMP::algebra::SparseUnboundedGrid3D< VT > Struct Template Reference

#include <IMP/algebra/standard_grids.h>

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

Public Types

typedef GridD
< 3, SparseGridStorageD< 3, VT,
UnboundedGridRangeD< 3 > >, VT,
DefaultEmbeddingD< 3 > > 
P
 
- Public Types inherited from IMP::algebra::GridD< 3, SparseGridStorageD< 3, VT, UnboundedGridRangeD< 3 > >, VT, DefaultEmbeddingD< 3 > >
typedef DefaultEmbeddingD< 3 > Embedding
 
typedef VectorD< D > Vector
 
- Public Types inherited from IMP::algebra::SparseGridStorageD< 3, VT, UnboundedGridRangeD< 3 > >
typedef VT Value
 
typedef Data::const_iterator AllConstIterator
 
- Public Types inherited from IMP::algebra::UnboundedGridRangeD< 3 >
typedef ExtendedGridIndexD< D > ExtendedIndex
 
typedef GridIndexD< D > Index
 

Public Member Functions

 SparseUnboundedGrid3D (double side, const Vector3D &origin, VT def=VT())
 
- Public Member Functions inherited from IMP::algebra::GridD< 3, SparseGridStorageD< 3, VT, UnboundedGridRangeD< 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 SparseGridStorageD< 3, VT, UnboundedGridRangeD< 3 > > &storage, const Embedding &embed)
 
 GridD (double side, const VectorD< D > &origin, const VT &default_value=VT())
 
 GridD ()
 An empty, undefined grid.
 
GridIndexD< D > add_voxel (const VectorD< D > &pt, const VT &vt)
 
BoundingBoxD< D > get_bounding_box () const
 
ExtendedGridIndexD< D > get_extended_index (const GridIndexD< D > &index) const
 Convert an index back to an extended index.
 
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...
 
GridIndexD< D > get_nearest_index (const VectorD< D > &pt) const
 
ExtendedGridIndexD< D > get_nearest_extended_index (const VectorD< D > &pt) 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
 
SparseGridStorageD< 3, VT,
UnboundedGridRangeD
< 3 > >::IndexIterator 
indexes_begin (const BoundingBoxD< D > &bb) const
 
SparseGridStorageD< 3, VT,
UnboundedGridRangeD
< 3 > >::IndexIterator 
indexes_end (const BoundingBoxD< D > &) const
 
Functor apply (const Functor &f) const
 
- Public Member Functions inherited from IMP::algebra::SparseGridStorageD< 3, VT, UnboundedGridRangeD< 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.
 
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.
 
GridIndexD< D > get_index (const ExtendedGridIndexD< D > &i) const
 requires get_has_index(i) is true.
 
ExtendedGridIndexD< D > get_maximum_extended_index () const
 Return the index that has no higher index in each coordinate.
 
ExtendedGridIndexD< D > get_minimum_extended_index () const
 Return the index which has no lower index in each coordinate.
 
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
 
base::Vector< GridIndexD< D > > get_all_indexes () const
 
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
 
base::Vector< GridIndexD< D > > get_indexes (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
- Public Member Functions inherited from IMP::algebra::UnboundedGridRangeD< 3 >
ExtendedIndexIterator extended_indexes_begin (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
ExtendedIndexIterator extended_indexes_end (const ExtendedGridIndexD< D > &, const ExtendedGridIndexD< D > &) const
 
base::Vector
< ExtendedGridIndexD< D > > 
get_extended_indexes (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
 
bool get_has_index (const ExtendedGridIndexD< D > &) const
 
void show (std::ostream &out=std::cout) 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
 

Detailed Description

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

A sparse, infinite grid of values. In python SparseUnboundedIntGrid3D is provided.

Definition at line 82 of file standard_grids.h.


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