1 /* pointgroup.h */ 2 /* Copyright (C) 2008 Atsushi Togo */ 3 4 #ifndef __pointgroup_H__ 5 #define __pointgroup_H__ 6 7 #include "symmetry.h" 8 9 typedef enum { 10 NONE, 11 TRICLI, 12 MONOCLI, 13 ORTHO, 14 TETRA, 15 RHOMB, 16 TRIGO, 17 HEXA, 18 CUBIC, 19 } Holohedry; 20 21 typedef enum { 22 LAUE1, 23 LAUE2M, 24 LAUEMMM, 25 LAUE4M, 26 LAUE4MMM, 27 LAUE3, 28 LAUE3M, 29 LAUE6M, 30 LAUE6MMM, 31 LAUEM3, 32 LAUEM3M, 33 } Laue; 34 35 typedef struct { 36 char symbol[6]; 37 Holohedry holohedry; 38 Laue laue; 39 int transform_mat[3][3]; 40 } Pointgroup; 41 42 int ptg_get_pointgroup_number( const Symmetry * symmetry ); 43 Pointgroup ptg_get_pointgroup( const int pointgroup_number ); 44 void ptg_get_transformation_matrix( Pointgroup * pointgroup, 45 const Symmetry * symmetry ); 46 #endif 47