#include <gcu/crystaldoc.h>
Public Member Functions | |
CrystalDoc (Application *App) | |
virtual | ~CrystalDoc () |
void | ParseXMLTree (xmlNode *xml) |
void | Update () |
CrystalView * | GetView () |
void | Draw (Matrix const &m) const |
virtual CrystalView * | CreateNewView () |
virtual CrystalAtom * | CreateNewAtom () |
virtual CrystalLine * | CreateNewLine () |
virtual CrystalCleavage * | CreateNewCleavage () |
xmlDocPtr | BuildXMLTree () const |
virtual const char * | GetProgramId () const |
bool | SetProperty (unsigned property, char const *value) |
std::string | GetProperty (unsigned property) const |
bool | Loaded () throw (LoaderError) |
void | AddChild (Object *object) |
SpaceGroup const * | FindSpaceGroup () |
void | Reinit () |
std::string | GetNameCommon (void) const |
std::string | GetNameSystematic (void) const |
std::string | GetNameMineral (void) const |
std::string | GetNameStructure (void) const |
void | SetSpaceGroup (SpaceGroup const *val) |
SpaceGroup const * | GetSpaceGroup (void) const |
SpaceGroup const *& | GetRefSpaceGroup (void) |
void | SetAutoSpaceGroup (bool val) |
bool | GetAutoSpaceGroup (void) const |
bool & | GetRefAutoSpaceGroup (void) |
Protected Member Functions | |
void | Init () |
virtual bool | LoadNewView (xmlNodePtr node) |
Protected Attributes | |
gcLattices | m_lattice |
gdouble | m_a |
gdouble | m_b |
gdouble | m_c |
gdouble | m_alpha |
gdouble | m_beta |
gdouble | m_gamma |
gdouble | m_xmin |
gdouble | m_ymin |
gdouble | m_zmin |
gdouble | m_xmax |
gdouble | m_ymax |
gdouble | m_zmax |
gboolean | m_bFixedSize |
CrystalAtomList | AtomDef |
CrystalAtomList | Atoms |
CrystalLineList | LineDef |
CrystalLineList | Lines |
CrystalCleavageList | Cleavages |
std::list< CrystalView * > | m_Views |
Definition at line 85 of file crystaldoc.h.
gcu::CrystalDoc::CrystalDoc | ( | Application * | App | ) |
The constructor of CrystalDoc
virtual gcu::CrystalDoc::~CrystalDoc | ( | ) | [virtual] |
The destructor of CrystalDoc
void gcu::CrystalDoc::AddChild | ( | Object * | object | ) | [virtual] |
xmlDocPtr gcu::CrystalDoc::BuildXMLTree | ( | ) | const |
Builds the xmlDoc corresponding to the crystal structure.
virtual CrystalAtom* gcu::CrystalDoc::CreateNewAtom | ( | ) | [virtual] |
Creates a new atom. This method should be overrided by programs deriving a new atom class from CrystalAtom.
virtual CrystalCleavage* gcu::CrystalDoc::CreateNewCleavage | ( | ) | [virtual] |
Creates a new cleavage. This method should be overrided by programs deriving a new line class from CrystalCleavage
virtual CrystalLine* gcu::CrystalDoc::CreateNewLine | ( | ) | [virtual] |
Creates a new line. This method should be overrided by programs deriving a new view class from CrystalLine.
virtual CrystalView* gcu::CrystalDoc::CreateNewView | ( | ) | [virtual] |
Creates a view of the document. This method should be overrided by programs deriving a new view class from CrystalView.
void gcu::CrystalDoc::Draw | ( | Matrix const & | m | ) | const [virtual] |
m | the Matrix giving the current model orientation |
Implements gcu::GLDocument.
SpaceGroup const* gcu::CrystalDoc::FindSpaceGroup | ( | ) |
Attempts to infer the symmetry space group for the crystal.
gcu::CrystalDoc::GetAutoSpaceGroup | ( | void | ) | const [inline] |
Definition at line 337 of file crystaldoc.h.
gcu::CrystalDoc::GetNameCommon | ( | void | ) | const [inline] |
gcu::CrystalDoc::GetNameMineral | ( | void | ) | const [inline] |
gcu::CrystalDoc::GetNameStructure | ( | void | ) | const [inline] |
gcu::CrystalDoc::GetNameSystematic | ( | void | ) | const [inline] |
virtual const char* gcu::CrystalDoc::GetProgramId | ( | ) | const [virtual] |
std::string gcu::CrystalDoc::GetProperty | ( | unsigned | property | ) | const [virtual] |
property | the property id as defined in objprops.h |
Reimplemented from gcu::Object.
gcu::CrystalDoc::GetRefAutoSpaceGroup | ( | void | ) | [inline] |
Definition at line 337 of file crystaldoc.h.
gcu::CrystalDoc::GetRefSpaceGroup | ( | void | ) | [inline] |
Definition at line 324 of file crystaldoc.h.
gcu::CrystalDoc::GetSpaceGroup | ( | void | ) | const [inline] |
CrystalView* gcu::CrystalDoc::GetView | ( | ) |
Reimplemented from gcu::GLDocument.
void gcu::CrystalDoc::Init | ( | ) | [protected] |
Initialize a new CrystalDoc instance.
bool gcu::CrystalDoc::Loaded | ( | ) | throw (LoaderError) [virtual] |
Called by the application whe the document has been loaded to update the title and add some lines.
Reimplemented from gcu::Document.
virtual bool gcu::CrystalDoc::LoadNewView | ( | xmlNodePtr | node | ) | [protected, virtual] |
node,: | the xmlNode containing the serialized view. |
void gcu::CrystalDoc::ParseXMLTree | ( | xmlNode * | xml | ) |
xml,: | a pointer to the root xmlNode of the xmlDoc containing the definition of the crystal. |
CrystalDoc* crystal = new CrystalDoc(); xmlDocPtr doc = xmlParseFile(filename); crystal->ParseXMLTree(doc->children);
void gcu::CrystalDoc::Reinit | ( | ) |
Reinitialize a CrystalDoc instance. Used when loading a file in an already existing document.
gcu::CrystalDoc::SetAutoSpaceGroup | ( | bool | auto | ) | [inline] |
auto | wheteher the lattice SpaceGroup should be automatically searched for. |
Definition at line 337 of file crystaldoc.h.
bool gcu::CrystalDoc::SetProperty | ( | unsigned | property, | |
char const * | value | |||
) | [virtual] |
property | the property id as defined in objprops.h | |
value | the property value as a string |
Reimplemented from gcu::Object.
gcu::CrystalDoc::SetSpaceGroup | ( | SpaceGroup const * | group | ) | [inline] |
group | a SpaceGroup. Associates a the space group with the lattice. |
Definition at line 324 of file crystaldoc.h.
void gcu::CrystalDoc::Update | ( | ) |
This method must be called when a new document is loaded or when the definition of the crystal is changed. It recalculates everything and updates all the views.
CrystalAtomList gcu::CrystalDoc::AtomDef [protected] |
List of the atoms in the definition of the crystal
Definition at line 276 of file crystaldoc.h.
CrystalAtomList gcu::CrystalDoc::Atoms [protected] |
List of the atoms displayed.
Definition at line 280 of file crystaldoc.h.
CrystalCleavageList gcu::CrystalDoc::Cleavages [protected] |
List of the cleavages defined.
Definition at line 292 of file crystaldoc.h.
CrystalLineList gcu::CrystalDoc::LineDef [protected] |
List of the lines in the definition of the crystal
Definition at line 284 of file crystaldoc.h.
CrystalLineList gcu::CrystalDoc::Lines [protected] |
List of the lines displayed.
Definition at line 288 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_a [protected] |
The a parameter of the unit cell.
Definition at line 224 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_alpha [protected] |
The alpha angle of the unit cell.
Definition at line 236 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_b [protected] |
The b parameter of the unit cell.
Definition at line 228 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_beta [protected] |
The beta angle of the unit cell.
Definition at line 240 of file crystaldoc.h.
gboolean gcu::CrystalDoc::m_bFixedSize [protected] |
true if cleavages must not change positions in the view.
Definition at line 272 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_c [protected] |
The c parameter of the unit cell.
Definition at line 232 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_gamma [protected] |
The gamma angle of the unit cell.
Definition at line 244 of file crystaldoc.h.
gcLattices gcu::CrystalDoc::m_lattice [protected] |
The Bravais lattice of the crystal.
Definition at line 220 of file crystaldoc.h.
std::list<CrystalView *> gcu::CrystalDoc::m_Views [protected] |
List of the views of the document.
Definition at line 296 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_xmax [protected] |
The maximum x coordinate in the representation of the crystal structure.
Definition at line 260 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_xmin [protected] |
The minimum x coordinate in the representation of the crystal structure.
Definition at line 248 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_ymax [protected] |
The maximum y coordinate in the representation of the crystal structure.
Definition at line 264 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_ymin [protected] |
The minimum y coordinate in the representation of the crystal structure.
Definition at line 252 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_zmax [protected] |
The maximum z coordinate in the representation of the crystal structure.
Definition at line 268 of file crystaldoc.h.
gdouble gcu::CrystalDoc::m_zmin [protected] |
The minimum z coordinate in the representation of the crystal structure.
Definition at line 256 of file crystaldoc.h.