IMP logo
Public Types | Public Member Functions
IMP::algebra::DenseGrid3D< VT > Struct Template Reference

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.

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

List of all members.

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 VectorD< D > Vector
- 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())
 DenseGrid3D (int xd, int yd, int zd, 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 DenseGridStorageD< 3, VT > &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.
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
DenseGridStorageD< 3, VT >
::IndexIterator 
indexes_begin (const BoundingBoxD< D > &bb) const
DenseGridStorageD< 3, VT >
::IndexIterator 
indexes_end (const BoundingBoxD< D > &) 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 * 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
base::Vector< VT > get_all_voxels () const
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.
bool get_has_index (const ExtendedGridIndexD< D > &v) const
 Return true if the ExtendedIndex is also a normal index value.
GridIndexD< D > get_index (const ExtendedGridIndexD< D > &v) const
 Convert a ExtendedIndex into a real Index if possible.
ExtendedGridIndexD< D > get_maximum_extended_index () const
 Return the index of the maximumal cell.
ExtendedGridIndexD< D > get_minimum_extended_index () const
 Return the ExtendedGridIndexD of all zeros.
unsigned int get_number_of_voxels (unsigned int i) const
 Return the number of voxels in a certain direction.
unsigned int get_number_of_voxels () const
AllIndexIterator all_indexes_begin () const
AllIndexIterator all_indexes_end () const
base::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
base::Vector< GridIndexD< D > > get_indexes (const ExtendedGridIndexD< D > &lb, const ExtendedGridIndexD< D > &ub) const
base::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.
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.
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:

Generated on Tue May 22 2012 23:33:24 for IMP by doxygen 1.8.1