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
00038 double ccp4uc_frac_orth_mat(const double cell[6], const int ncode,
00039 double ro[3][3], double rf[3][3]);
00040
00041 double ccp4uc_calc_rcell(const double cell[6], double rcell[6]);
00042
00043 void ccp4uc_orth_to_frac(const double rf[3][3], const double xo[3], double xf[3]);
00044
00045 void ccp4uc_frac_to_orth(const double ro[3][3], const double xf[3], double xo[3]);
00046
00047 void ccp4uc_orthu_to_fracu(const double rf[3][3], const double uo[6], double uf[6]);
00048
00049 void ccp4uc_fracu_to_orthu(const double ro[3][3], const double uf[6], double uo[6]);
00050
00051 double ccp4uc_calc_cell_volume(const double cell[6]);
00052
00053 int ccp4uc_cells_differ(const double cell1[6], const double cell2[6], const double tolerance);
00054
00055 int ccp4uc_is_rhombohedral(const float cell[6], const float tolerance);
00056
00057 int ccp4uc_is_hexagonal(const float cell[6], const float tolerance);
00058
00059 #ifdef __cplusplus
00060 } }
00061 #endif
00062
00063 #endif
00065
00066
00067
00068
00069