IMP logo
IMP Reference Guide  develop.ba5ef9f91e,2024/02/26
The Integrative Modeling Platform
IMP::algebra::LogEmbeddingD< D > Class Template Reference

#include <IMP/algebra/grid_embeddings.h>

+ Inheritance diagram for IMP::algebra::LogEmbeddingD< D >:

Detailed Description

template<int D>
class IMP::algebra::LogEmbeddingD< D >

Embedding of a grid as log-evenly spaced axis aligned grid.

Definition at line 186 of file grid_embeddings.h.

Public Member Functions

 LogEmbeddingD (const VectorD< D > &origin, const VectorD< D > &cell, const VectorD< D > &base)
 
 LogEmbeddingD (const BoundingBoxD< D > &bb, const VectorD< D > &bases, const Ints &counts, bool bound_centers=false)
 
 LogEmbeddingD (const VectorD< D > &, const VectorD< D > &)
 
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, const VectorD< D > &base)
 
void set_unit_cell (const VectorD< D > &o)
 
void show (std::ostream &out=std::cout) const
 

Center

Return the coordinates of the center of the voxel.

VectorD< D > get_center (const ExtendedGridIndexD< D > &ei) const
 
VectorD< D > get_center (const GridIndexD< D > &ei) const
 

Bounding box

Return the bounding box of the voxel.

BoundingBoxD< D > get_bounding_box (const ExtendedGridIndexD< D > &ei) const
 
BoundingBoxD< D > get_bounding_box (const GridIndexD< D > &ei) const
 

Constructor & Destructor Documentation

template<int D>
IMP::algebra::LogEmbeddingD< D >::LogEmbeddingD ( const BoundingBoxD< D > &  bb,
const VectorD< D > &  bases,
const Ints counts,
bool  bound_centers = false 
)

Embedding of a grid as a log-evenly distributed axis-aligned grid over the bounding box bb.

Parameters
bbthe bounding box in which the grid is embedded
basesbases[i] is a positive log base used for the grid spacing in dimension i. Set base[i] to 1 in order to create a standard evenly spaced grid along dimension i.
countscounts[i] is the number of discrete points in dimension i
bound_centersif true, then the bounding box tightly bounds the centers of the voxels, not their extents.

Definition at line 250 of file grid_embeddings.h.

Member Function Documentation

template<int D>
ExtendedGridIndexD<D> IMP::algebra::LogEmbeddingD< D >::get_extended_index ( const VectorD< D > &  o) const

Return the index that would contain the voxel if the grid extended there.

For example vectors below the "lower left" corner of the grid have indexes with all negative components. This operation will always succeed.

Definition at line 319 of file grid_embeddings.h.

template<int D>
const VectorD<D>& IMP::algebra::LogEmbeddingD< D >::get_unit_cell ( ) const

Return the unit cell, relative to the origin.

That is, the unit cell is

BoundingBoxD<D>(get_zeros_vector_d<D>(),get_unit_cell());

Definition at line 313 of file grid_embeddings.h.


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