00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef CRYSTAL_CLEAVAGE_H
00028 #define CRYSTAL_CLEAVAGE_H
00029
00030 #include <libxml/parser.h>
00031 #include <list>
00032
00033 namespace gcu
00034 {
00035
00041 class CrystalCleavage
00042 {
00043 public:
00044
00045
00046
00047 CrystalCleavage ();
00053 CrystalCleavage (CrystalCleavage& ccCleavage) ;
00054
00055
00056
00057 virtual ~CrystalCleavage ();
00058
00062 int& Planes () {return m_nPlanes ;}
00066 int& h () {return m_nh ;}
00070 int& k () {return m_nk ;}
00074 int & l () {return m_nl ;}
00080 CrystalCleavage& operator= (CrystalCleavage& ccCleavage) ;
00085 bool operator== (CrystalCleavage& ccCleavage) ;
00092 xmlNodePtr Save (xmlDocPtr xml);
00099 bool Load (xmlNodePtr node);
00100
00101 protected:
00105 int m_nh;
00109 int m_nk;
00113 int m_nl;
00117 int m_nPlanes ;
00118 };
00119
00123 typedef std::list<CrystalCleavage*> CrystalCleavageList;
00124
00125 }
00126
00127 #endif //CRYSTAL_CLEAVAGE_H