00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00028 #ifndef __CCP4_UNITCELL
00029 #define __CCP4_UNITCELL
00030
00031 #ifdef __cplusplus
00032 namespace CCP4uc {
00033 extern "C" {
00034 #endif
00035
00036 #include <math.h>
00037
00046 double ccp4uc_frac_orth_mat(const double cell[6], const int ncode,
00047 double ro[3][3], double rf[3][3]);
00048
00054 double ccp4uc_calc_rcell(const double cell[6], double rcell[6]);
00055
00064 void ccp4uc_orth_to_frac(const double rf[3][3], const double xo[3], double xf[3]);
00065
00072 void ccp4uc_frac_to_orth(const double ro[3][3], const double xf[3], double xo[3]);
00073
00080 void ccp4uc_orthu_to_fracu(const double rf[3][3], const double uo[6], double uf[6]);
00081
00088 void ccp4uc_fracu_to_orthu(const double ro[3][3], const double uf[6], double uo[6]);
00089
00094 double ccp4uc_calc_cell_volume(const double cell[6]);
00095
00102 int ccp4uc_cells_differ(const double cell1[6], const double cell2[6], const double tolerance);
00103
00109 int ccp4uc_is_rhombohedral(const float cell[6], const float tolerance);
00110
00116 int ccp4uc_is_hexagonal(const float cell[6], const float tolerance);
00117
00118 #ifdef __cplusplus
00119 } }
00120 #endif
00121
00122 #endif