The Gnome Chemistry Utils
0.12.11
|
#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) |
![]() | |
GLDocument (Application *App) | |
virtual | ~GLDocument () |
double | GetMaxDist (void) |
![]() | |
Document (Application *App=NULL) | |
virtual | ~Document () |
std::string & | GetTranslatedId (const char *id) |
void | EraseTranslationId (const char *Id) |
void | EmptyTranslationTable () |
virtual void | SetTitle (std::string &title) |
virtual void | SetTitle (char const *title) |
std::string & | GetTitle () |
void | NotifyDirty (Object *pObject) |
virtual void | Save () const |
virtual Residue * | CreateResidue (char const *name, char const *symbol, Molecule *molecule) |
virtual Residue const * | GetResidue (char const *symbol, bool *ambiguous=NULL) |
virtual GtkWindow * | GetGtkWindow () |
bool | SetTarget (char const *id, Object **target, Object *parent, Object *owner=NULL) throw (std::runtime_error) |
std::string | Name () |
Application * | GetApp (void) |
bool | GetEmpty (void) |
void | SetScale (double val) |
double | GetScale (void) const |
double & | GetRefScale (void) |
![]() | |
Object (TypeId Id=OtherType) | |
virtual | ~Object () |
TypeId | GetType () const |
void | SetId (gchar const *Id) |
gchar const * | GetId () const |
Object * | GetMolecule () const |
Object * | GetReaction () const |
Object * | GetGroup () const |
Document * | GetDocument () const |
Object * | GetParentOfType (TypeId Id) const |
Object * | GetChild (const gchar *Id) const |
Object * | GetFirstChild (std::map< std::string, Object * >::iterator &i) |
Object * | GetNextChild (std::map< std::string, Object * >::iterator &i) |
Object * | GetDescendant (const gchar *Id) const |
Object * | GetParent () const |
void | SetParent (Object *Parent) |
virtual xmlNodePtr | Save (xmlDocPtr xml) const |
virtual bool | Load (xmlNodePtr node) |
virtual void | Move (double x, double y, double z=0.) |
virtual void | Transform2D (Matrix2D &m, double x, double y) |
bool | SaveChildren (xmlDocPtr xml, xmlNodePtr node) const |
void | SaveId (xmlNodePtr node) const |
xmlNodePtr | GetNodeByProp (xmlNodePtr node, char const *Property, char const *Id) |
xmlNodePtr | GetNextNodeByProp (xmlNodePtr node, char const *Property, char const *Id) |
xmlNodePtr | GetNodeByName (xmlNodePtr node, char const *Name) |
xmlNodePtr | GetNextNodeByName (xmlNodePtr node, char const *Name) |
bool | HasChildren () const |
unsigned | GetChildrenNumber () const |
virtual Object * | GetAtomAt (double x, double y, double z=0.) |
virtual bool | Build (std::list< Object * > &Children) throw (std::invalid_argument) |
virtual double | GetYAlign () |
virtual bool | BuildContextualMenu (GtkUIManager *UIManager, Object *object, double x, double y) |
void | EmitSignal (SignalId Signal) |
virtual bool | OnSignal (SignalId Signal, Object *Child) |
void | Lock (bool state=true) |
bool | IsLocked () |
Object * | GetFirstLink (std::set< Object * >::iterator &i) |
Object * | GetNextLink (std::set< Object * >::iterator &i) |
void | Link (Object *object) |
void | Unlink (Object *object) |
virtual void | OnUnlink (Object *object) |
void | GetPossibleAncestorTypes (std::set< TypeId > &types) const |
virtual void | OnLoaded () |
void | SetDirty (bool dirty=true) |
virtual void | Clear () |
std::string | Identity () |
virtual char const * | HasPropertiesDialog () const |
void | ShowPropertiesDialog () |
bool | GetDirty (void) const |
![]() | |
DialogOwner () | |
virtual | ~DialogOwner () |
Dialog * | GetDialog (std::string name) |
void | ClearDialogs () |
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 |
![]() | |
double | m_MaxDist |
GLView * | m_View |
![]() | |
std::string | m_Title |
std::set< Object * > | m_DirtyObjects |
Application * | m_App |
bool | m_Empty |
The document containing the crystal structure.
Definition at line 85 of file crystaldoc.h.
gcu::CrystalDoc::CrystalDoc | ( | Application * | App | ) |
The constructor of CrystalDoc
|
virtual |
The destructor of CrystalDoc
|
virtual |
object | the Object instance to add as a child. |
Reimplemented from gcu::Object.
xmlDocPtr gcu::CrystalDoc::BuildXMLTree | ( | ) | const |
Builds the xmlDoc corresponding to the crystal structure.
|
virtual |
Creates a new atom. This method should be overrided by programs deriving a new atom class from CrystalAtom.
|
virtual |
Creates a new cleavage. This method should be overrided by programs deriving a new line class from CrystalCleavage
|
virtual |
Creates a new line. This method should be overrided by programs deriving a new view class from CrystalLine.
|
virtual |
Creates a view of the document. This method should be overrided by programs deriving a new view class from CrystalView.
|
virtual |
m | the Matrix giving the current model orientation |
Displays the molecule using OpenGL.
Implements gcu::GLDocument.
SpaceGroup const* gcu::CrystalDoc::FindSpaceGroup | ( | ) |
Attempts to infer the symmetry space group for the crystal.
|
inline |
Definition at line 337 of file crystaldoc.h.
|
inline |
Definition at line 301 of file crystaldoc.h.
|
inline |
Definition at line 309 of file crystaldoc.h.
|
inline |
Definition at line 313 of file crystaldoc.h.
|
inline |
Definition at line 305 of file crystaldoc.h.
|
virtual |
|
virtual |
property | the property id as defined in objprops.h |
Used when saving to get properties from the document.
Reimplemented from gcu::Object.
|
inline |
Definition at line 337 of file crystaldoc.h.
|
inline |
Definition at line 324 of file crystaldoc.h.
|
inline |
Definition at line 324 of file crystaldoc.h.
CrystalView* gcu::CrystalDoc::GetView | ( | ) |
Reimplemented from gcu::GLDocument.
|
protected |
Initialize a new CrystalDoc instance.
|
virtual |
Called by the application whe the document has been loaded to update the title and add some lines.
Reimplemented from gcu::Document.
|
protectedvirtual |
node,: | the xmlNode containing the serialized view. |
Loads a view from a XML document. This methd must be overrided by applications supporting multiple views.
void gcu::CrystalDoc::ParseXMLTree | ( | xmlNode * | xml | ) |
xml,: | a pointer to the root xmlNode of the xmlDoc containing the definition of the crystal. |
Analyses the contents of the XML document and builds the cryatl structure from the data. Typical usage is:
void gcu::CrystalDoc::Reinit | ( | ) |
Reinitialize a CrystalDoc instance. Used when loading a file in an already existing document.
|
inline |
auto | wheteher the lattice SpaceGroup should be automatically searched for. |
If true, after each change, the framework will reevaluate the space group according to the Bravais lattice and the defines atoms.
Definition at line 337 of file crystaldoc.h.
|
virtual |
property | the property id as defined in objprops.h |
value | the property value as a string |
Used when loading to set properties to the document
Reimplemented from gcu::Object.
|
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.
|
protected |
List of the atoms in the definition of the crystal
Definition at line 276 of file crystaldoc.h.
|
protected |
List of the atoms displayed.
Definition at line 280 of file crystaldoc.h.
|
protected |
List of the cleavages defined.
Definition at line 292 of file crystaldoc.h.
|
protected |
List of the lines in the definition of the crystal
Definition at line 284 of file crystaldoc.h.
|
protected |
List of the lines displayed.
Definition at line 288 of file crystaldoc.h.
|
protected |
The a parameter of the unit cell.
Definition at line 224 of file crystaldoc.h.
|
protected |
The alpha angle of the unit cell.
Definition at line 236 of file crystaldoc.h.
|
protected |
The b parameter of the unit cell.
Definition at line 228 of file crystaldoc.h.
|
protected |
The beta angle of the unit cell.
Definition at line 240 of file crystaldoc.h.
|
protected |
true if cleavages must not change positions in the view.
Definition at line 272 of file crystaldoc.h.
|
protected |
The c parameter of the unit cell.
Definition at line 232 of file crystaldoc.h.
|
protected |
The gamma angle of the unit cell.
Definition at line 244 of file crystaldoc.h.
|
protected |
The Bravais lattice of the crystal.
Definition at line 220 of file crystaldoc.h.
|
protected |
List of the views of the document.
Definition at line 296 of file crystaldoc.h.
|
protected |
The maximum x coordinate in the representation of the crystal structure.
Definition at line 260 of file crystaldoc.h.
|
protected |
The minimum x coordinate in the representation of the crystal structure.
Definition at line 248 of file crystaldoc.h.
|
protected |
The maximum y coordinate in the representation of the crystal structure.
Definition at line 264 of file crystaldoc.h.
|
protected |
The minimum y coordinate in the representation of the crystal structure.
Definition at line 252 of file crystaldoc.h.
|
protected |
The maximum z coordinate in the representation of the crystal structure.
Definition at line 268 of file crystaldoc.h.
|
protected |
The minimum z coordinate in the representation of the crystal structure.
Definition at line 256 of file crystaldoc.h.