Clipper
Public Member Functions | Friends | List of all members
clipper::Coord_grid Class Reference

Grid coordinate. More...

#include <coords.h>

Inheritance diagram for clipper::Coord_grid:
clipper::Vec3< int >

Public Member Functions

 Coord_grid ()
 null constructor
 
 Coord_grid (const Vec3< int > v)
 constructor: copy/convert
 
 Coord_grid (const int &u, const int &v, const int &w)
 constructor: from u,v,w
 
 Coord_grid (const Grid &g, const int &index)
 constructor: from a grid and an index in that grid
 
const int & u () const
 get u
 
const int & v () const
 get v
 
const int & w () const
 get w
 
int & u ()
 set u
 
int & v ()
 set v
 
int & w ()
 set w
 
Coord_map coord_map () const
 convert to Coord_map More...
 
Coord_frac coord_frac (const Grid_sampling &g) const
 convert to Coord_frac using given Grid_sampling More...
 
Coord_grid transform (const Isymop &op) const
 return transformed coordinate
 
Coord_grid unit (const Grid_sampling &g) const
 reduce to unit box: (0..nu-1, 0..nv-1, 0..nw-1) More...
 
const Coord_gridnext (const Grid &g)
 increment in storage order (see index()) More...
 
const Coord_gridnext (const Grid_range &g)
 increment in storage order (see index()) More...
 
bool last (const Grid &g) const
 test if done in storage order (see index()) More...
 
bool last (const Grid_range &g) const
 test if done in storage order (see index()) More...
 
int index (const Grid &g) const
 grid indexing operator More...
 
void deindex (const Grid &g, const int &index)
 grid deindexing operator More...
 
String format () const
 return formatted String representation More...
 
- Public Member Functions inherited from clipper::Vec3< int >
 Vec3 ()
 null constructor
 
 Vec3 (const int &v0, const int &v1, const int &v2)
 constructor: from individual values
 
 Vec3 (const Vec3< TT > &v)
 constructor: copy/convert
 
bool equals (const Vec3< int > &v, const int &tol) const
 test equality
 
const int & operator[] (const int &i) const
 get element
 
int & operator[] (const int &i)
 set element
 
Vec3< int > unit () const
 return unit vector with same direction as this vector
 
bool is_null () const
 test for null vector
 
String format () const
 return formatted String representation
 
const Vec3< int > & operator+= (const Vec3< int > &v)
 add another vector to this one
 
const Vec3< int > & operator-= (const Vec3< int > &v)
 subtract another vector from this one
 

Friends

Coord_grid operator- (const Coord_grid &r1)
 
Coord_grid operator+ (const Coord_grid &r1, const Coord_grid &r2)
 
Coord_grid operator- (const Coord_grid &r1, const Coord_grid &r2)
 
Coord_grid operator* (const int &s, const Coord_grid &r1)
 
int operator== (const Coord_grid &r1, const Coord_grid &r2)
 
int operator!= (const Coord_grid &r1, const Coord_grid &r2)
 
Coord_grid operator* (const Isymop &op, const Coord_grid &r1)
 

Additional Inherited Members

- Static Public Member Functions inherited from clipper::Vec3< int >
static Vec3< int > zero ()
 return zero vector
 
static Vec3< int > null ()
 return null vector (only valid for floating point types)
 
static int dot (const Vec3< int > &v1, const Vec3< int > &v2)
 Vector dot product (equivalent to *)
 
static Vec3< int > cross (const Vec3< int > &v1, const Vec3< int > &v2)
 Vector cross product.
 

Detailed Description

Grid coordinate.

Member Function Documentation

Coord_map clipper::Coord_grid::coord_map ( ) const
inline

convert to Coord_map

Returns
The non-integer coordinate.
Coord_frac clipper::Coord_grid::coord_frac ( const Grid_sampling g) const
inline

convert to Coord_frac using given Grid_sampling

Fractional coordinate is not normalised onto range 0..1

Parameters
gThe grid concerned
Returns
The fractional coordinate
Coord_grid clipper::Coord_grid::unit ( const Grid_sampling g) const
inline

reduce to unit box: (0..nu-1, 0..nv-1, 0..nw-1)

Parameters
gThe grid concerned
Returns
The transformed coordinate.
const Coord_grid & clipper::Coord_grid::next ( const Grid g)
inline

increment in storage order (see index())

guaranteed to increment index(g) by 1

The grid coordinate is incremented efficiently in a manner which is exaclty equivalent to increasing index() by 1 in a zero based grid.

Parameters
gThe grid with which this increment is synchronised.
const Coord_grid & clipper::Coord_grid::next ( const Grid_range g)
inline

increment in storage order (see index())

guaranteed to increment index(g) by 1

The grid coordinate is incremented efficiently in a manner which is exaclty equivalent to increasing index() by 1 in a non-zero based grid.

Parameters
gThe grid with which this increment is synchronised.
bool clipper::Coord_grid::last ( const Grid g) const
inline

test if done in storage order (see index())

Test whether this coordinate has been incremented using next() beyond the end of the specified zero based grid.

Parameters
gThe grid concerned.
bool clipper::Coord_grid::last ( const Grid_range g) const
inline

test if done in storage order (see index())

Test whether this coordinate has been incremented using next() beyond the end of the specified non-zero based grid.

Parameters
gThe grid concerned.
int clipper::Coord_grid::index ( const Grid g) const
inline

grid indexing operator

Return the index in a 1-d array corresponding to this coordinate for a zero based grid.

Parameters
gThe grid concerned.
Returns
The corresponding index.
void clipper::Coord_grid::deindex ( const Grid g,
const int &  index 
)
inline

grid deindexing operator

Return the coordinate corresponding to a given index in a zero based grid.

Parameters
gThe grid concerned.
Returns
The corresponding coordinate.
String clipper::Coord_grid::format ( ) const

return formatted String representation

Returns
The formatted text string

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