|
UnitCell * | cell_new (void) |
|
UnitCell * | cell_new_from_cell (const UnitCell *orig) |
|
void | cell_free (UnitCell *cell) |
|
UnitCell * | cell_new_from_parameters (double a, double b, double c, double alpha, double beta, double gamma) |
|
UnitCell * | cell_new_from_reciprocal_axes (struct rvec as, struct rvec bs, struct rvec cs) |
|
UnitCell * | cell_new_from_direct_axes (struct rvec as, struct rvec bs, struct rvec cs) |
|
int | cell_has_parameters (const UnitCell *cell) |
|
void | cell_set_cartesian (UnitCell *cell, double ax, double ay, double az, double bx, double by, double bz, double cx, double cy, double cz) |
|
void | cell_set_parameters (UnitCell *cell, double a, double b, double c, double alpha, double beta, double gamma) |
|
int | cell_get_parameters (UnitCell *cell, double *a, double *b, double *c, double *alpha, double *beta, double *gamma) |
|
int | cell_get_cartesian (UnitCell *cell, double *ax, double *ay, double *az, double *bx, double *by, double *bz, double *cx, double *cy, double *cz) |
|
int | cell_get_reciprocal (UnitCell *cell, double *asx, double *asy, double *asz, double *bsx, double *bsy, double *bsz, double *csx, double *csy, double *csz) |
|
void | cell_set_reciprocal (UnitCell *cell, double asx, double asy, double asz, double bsx, double bsy, double bsz, double csx, double csy, double csz) |
|
LatticeType | cell_get_lattice_type (const UnitCell *cell) |
|
void | cell_set_lattice_type (UnitCell *cell, LatticeType lattice_type) |
|
struct g6 | cell_get_G6 (UnitCell *cell) |
|
char | cell_get_centering (const UnitCell *cell) |
|
void | cell_set_centering (UnitCell *cell, char centering) |
|
char | cell_get_unique_axis (const UnitCell *cell) |
|
void | cell_set_unique_axis (UnitCell *cell, char unique_axis) |
|
UnitCell * | cell_transform_gsl_direct (UnitCell *in, gsl_matrix *m) |
|
UnitCell * | cell_rotate_gsl_direct (UnitCell *in, gsl_matrix *m) |
|
UnitCell * | cell_transform_rational (UnitCell *cell, RationalMatrix *m) |
|
UnitCell * | cell_transform_rational_inverse (UnitCell *cell, RationalMatrix *m) |
|
UnitCell * | cell_transform_intmat (UnitCell *cell, IntegerMatrix *m) |
|
UnitCell * | cell_transform_intmat_inverse (UnitCell *cell, IntegerMatrix *m) |
|
- Parameters
-
in | A UnitCell |
m | A GSL matrix |
Transforms in
by altering the cartesian axes according to m
. Note that this is not the same as cell_transform_gsl_direct(), because that routine transforms the crystallographic axes whereas this one transforms the cartesian axes - the order of matrix multiplication is opposite.
This routine has its name because the usual application of this type of transformation is to rotate a unit cell in 3D space. Other types of transformation, e.g. including a stretch or shear of space, are possible but don't make much crystallographic sense.
- Returns
- a newly-allocated transformed UnitCell.