Clipper
|
NXmap_base: base for non-crystallographic map class. More...
#include <nxmap.h>
Classes | |
class | Map_reference_base |
Map reference base class. More... | |
class | Map_reference_coord |
Map reference with coordinate-like behaviour. More... | |
class | Map_reference_index |
Map reference with index-like behaviour. More... | |
Public Member Functions | |
bool | is_null () const |
test if object has been initialised | |
const Grid & | grid () const |
return the grid dimensions for this map | |
const RTop & | operator_orth_grid () const |
return the orthogonal-to-grid coordinate operator | |
const RTop & | operator_grid_orth () const |
return the grid-to-orthogonal coordinate operator | |
Coord_orth | coord_orth (const Coord_map &cm) const |
convert map coordinate to orthogonal | |
Coord_map | coord_map (const Coord_orth &co) const |
convert orthogonal coordinate to map | |
bool | in_map (const Coord_grid &pos) const |
is the given coord available in the map? | |
template<class I > | |
bool | in_map (const Coord_map &cm) const |
is the given coord available in the map using the given interpolant? | |
int | multiplicity (const Coord_grid &) const |
get multiplicity of a map grid point (always 1 for NXmap) | |
Map_reference_index | first () const |
return a basic Map_reference_index for this map | |
Map_reference_coord | first_coord () const |
return a coord Map_reference_index for this map | |
Protected Member Functions | |
NXmap_base () | |
Null constructor, for later initialisation. | |
void | init (const Grid &grid, const RTop<> &rt) |
initialiser: takes grid and orthogonal->grid coordinate operator | |
void | init (const Cell &cell, const Grid_sampling &grid, const Grid_range &grid_extent) |
initialiser: takes grid, cell, and fraction limits | |
Protected Attributes | |
Grid | grid_ |
grid for the map | |
RTop | rt_orth_grid |
orth->grid operator | |
RTop | rt_grid_orth |
grid->orth operator | |
int | du |
int | dv |
int | dw |
steps for shifts along u,v,w | |
Friends | |
class | NXmap_base::Map_reference_base |
class | NXmap_base::Map_reference_index |
class | NXmap_base::Map_reference_coord |
NXmap_base: base for non-crystallographic map class.
The non-crystallographic map class stores a map of arbitrary data type. Unlike an Xmap it is finite in extent and has no symmetry. An RT operator provides mapping onto an arbitrary orthogonal coordinate frame. Iterators provide efficient access to data.
This base contains everything except the data, which is templated in the derived type clipper::NXmap<T>.
clipper::NXmap_base::NXmap_base | ( | ) | [protected] |
Null constructor, for later initialisation.
For later initialisation: see init()
References clipper::Message::message(), and rt_orth_grid.
bool clipper::NXmap_base::is_null | ( | ) | const |
test if object has been initialised
References clipper::RTop< T >::is_null(), and rt_orth_grid.
Referenced by clipper::CNXmap_operator< T >::init().
Coord_orth clipper::NXmap_base::coord_orth | ( | const Coord_map & | cm | ) | const [inline] |
convert map coordinate to orthogonal
cm | The grid coordinate to be converted. |
Reimplemented in clipper::NXmap< T >.
References rt_grid_orth.
Referenced by clipper::NXmap_base::Map_reference_coord::coord_orth(), and clipper::NXmap_base::Map_reference_index::coord_orth().
Coord_map clipper::NXmap_base::coord_map | ( | const Coord_orth & | co | ) | const [inline] |
convert orthogonal coordinate to map
co | The orthogonal coordinate to be converted. |
Reimplemented in clipper::NXmap< T >.
References rt_orth_grid.
Referenced by clipper::NXmap_base::Map_reference_coord::coord_orth(), and clipper::NXmap_base::Map_reference_index::coord_orth().
bool clipper::NXmap_base::in_map | ( | const Coord_map & | cm | ) | const |
is the given coord available in the map using the given interpolant?
Note that the higher the order of the interpolant, the more of the boundary of the map becomes inaccessible.
cm | The coord_map to test. |
initialiser: takes grid and orthogonal->grid coordinate operator
Initialise an NXmap to some rhomboid chosen from within a crystal coordinate space, specified by the grid and a transformation from orthogonal to grid coordinates.
grid | The grid dimensions of the desired map. |
rt | The rotation translation op from orthogonal to grid coordinates. |
Reimplemented in clipper::NXmap< T >.
References dw, grid(), grid_, clipper::Grid::index(), clipper::RTop< T >::inverse(), rt_grid_orth, and rt_orth_grid.
Referenced by clipper::NXmap< T >::init(), and init().
void clipper::NXmap_base::init | ( | const Cell & | cell, |
const Grid_sampling & | grid, | ||
const Grid_range & | grid_extent | ||
) | [protected] |
initialiser: takes grid, cell, and fraction limits
Initialise an NXmap to some rhomboid chosen from within a crystal grid coordinate space, specified by a cell, sampling and box within that grid. This is useful for creating an NXmap which exactly matches some subregion of a crystallographic map.
cell | Unit cell defining the crystal space. |
grid | The grid sampling of the given unit cell. |
grid_extent | The map extent within that cell. |
Reimplemented in clipper::NXmap< T >.
References init(), clipper::Cell::matrix_frac(), clipper::Grid_sampling::matrix_frac_grid(), and clipper::Grid_range::min().