The Gnome Chemistry Utils
0.13.7
|
#include <gcr/document.h>
Public Member Functions | |
Document (gcu::Application *App) | |
virtual | ~Document () |
void | ParseXMLTree (xmlNode *xml) |
void | Update () |
View * | GetView () |
void | Draw (gcu::Matrix const &m) const |
virtual View * | CreateNewView () |
virtual Atom * | CreateNewAtom () |
virtual Line * | CreateNewLine () |
virtual Cleavage * | 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 (gcu::LoaderError) |
void | AddChild (Object *object) |
gcu::SpaceGroup const * | FindSpaceGroup () |
void | Reinit () |
AtomList * | GetAtomList () |
CleavageList * | GetCleavageList () |
LineList * | GetLineList () |
void | GetCell (Lattice *lattice, double *a, double *b, double *c, double *alpha, double *beta, double *gamma) |
void | SetCell (Lattice lattice, double a, double b, double c, double alpha, double beta, double gamma) |
void | GetSize (double *xmin, double *xmax, double *ymin, double *ymax, double *zmin, double *zmax) |
void | SetSize (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) |
void | CheckAtoms () |
void | CheckCleavages () |
void | CheckLines () |
void | Define (unsigned nPage=0) |
void | AddView (View *pView) |
bool | RemoveView (View *pView) |
void | RemoveAllViews () |
View * | GetActiveView () |
std::list< gcr::View * > * | GetViews () |
void | RenameViews () |
bool | VerifySaved () |
void | SetWidget (GtkWidget *widget) |
const gchar * | GetFileName () |
void | SetActiveView (View *pView) |
void | SaveAsImage (const std::string &filename, char const *type, std::map< std::string, std::string > &options) |
void | SetFileName (const std::string &filename) |
void | SetTitle (char const *title) |
void | SetTitle (std::string &title) |
char const * | GetTitle () |
void | SetAuthor (char const *author) |
void | SetMail (char const *mail) |
void | SetComment (char const *comment) |
void | SetLabel (char const *label) |
GDate * | GetCreationDate () |
GDate * | GetRevisionDate () |
char const * | GetLabel () |
void | OnExportVRML (const std::string &FileName) const |
void | Save () const |
std::string | GetNameCommon (void) const |
std::string | GetNameSystematic (void) const |
std::string | GetNameMineral (void) const |
std::string | GetNameStructure (void) const |
void | SetSpaceGroup (gcu::SpaceGroup const *val) |
gcu::SpaceGroup const * | GetSpaceGroup (void) const |
gcu::SpaceGroup const *& | GetRefSpaceGroup (void) |
void | SetAutoSpaceGroup (bool val) |
bool | GetAutoSpaceGroup (void) const |
bool & | GetRefAutoSpaceGroup (void) |
void | SetFixedSize (bool val) |
bool | GetFixedSize (void) const |
bool & | GetRefFixedSize (void) |
void | SetReadOnly (bool val) |
bool | GetReadOnly (void) const |
bool & | GetRefReadOnly (void) |
char * | GetMail (void) |
char * | GetComment (void) |
Protected Member Functions | |
void | Init () |
virtual bool | LoadNewView (xmlNodePtr node) |
Protected Attributes | |
Lattice | 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 |
AtomList | AtomDef |
AtomList | Atoms |
LineList | LineDef |
LineList | Lines |
CleavageList | Cleavages |
std::list< View * > | m_Views |
GDate | m_CreationDate |
GDate | m_RevisionDate |
char * | m_Author |
char * | m_Mail |
char * | m_Comment |
The document containing the crystal structure.
Definition at line 88 of file gcr/document.h.
gcr::Document::Document | ( | gcu::Application * | App | ) |
The constructor of Document
Reimplemented from gcu::Document.
virtual gcr::Document::~Document | ( | ) | [virtual] |
The destructor of Document
Reimplemented from gcu::Document.
void gcr::Document::AddChild | ( | Object * | object | ) |
object | the Object instance to add as a child. |
void gcr::Document::AddView | ( | View * | pView | ) |
pView | a new view. |
Adds a new view to the document.
xmlDocPtr gcr::Document::BuildXMLTree | ( | ) | const |
Builds the xmlDoc corresponding to the crystal structure.
void gcr::Document::CheckAtoms | ( | ) |
Checks the atoms list and remove duplicates if needed.
void gcr::Document::CheckCleavages | ( | ) |
Checks the cleavages list and remove duplicates if needed.
void gcr::Document::CheckLines | ( | ) |
Checks the lines list and remove duplicates if needed.
virtual Atom* gcr::Document::CreateNewAtom | ( | ) | [virtual] |
virtual Cleavage* gcr::Document::CreateNewCleavage | ( | ) | [virtual] |
virtual Line* gcr::Document::CreateNewLine | ( | ) | [virtual] |
virtual View* gcr::Document::CreateNewView | ( | ) | [virtual] |
void gcr::Document::Define | ( | unsigned | nPage = 0 | ) |
nPage | the dialog id. |
Shows the dialog corresponding to nPage: 0: cell and lattice dialog, 1: atoms dialog, 2: lines dialog, 3: size dialog, 4: cleavages dialog.
void gcr::Document::Draw | ( | gcu::Matrix const & | m | ) | const [virtual] |
m | the Matrix giving the current model orientation |
Displays the molecule using OpenGL.
Implements gcu::GLDocument.
gcu::SpaceGroup const* gcr::Document::FindSpaceGroup | ( | ) |
Attempts to infer the symmetry space group for the crystal.
View* gcr::Document::GetActiveView | ( | ) | [inline] |
Definition at line 324 of file gcr/document.h.
AtomList* gcr::Document::GetAtomList | ( | ) | [inline] |
Definition at line 211 of file gcr/document.h.
References AtomDef.
gcr::Document::GetAutoSpaceGroup | ( | void | ) | const [inline] |
Definition at line 600 of file gcr/document.h.
void gcr::Document::GetCell | ( | Lattice * | lattice, |
double * | a, | ||
double * | b, | ||
double * | c, | ||
double * | alpha, | ||
double * | beta, | ||
double * | gamma | ||
) |
lattice | where to store the lattice. |
a | where to store the a cell parameter. |
b | where to store the b cell parameter. |
c | where to store the c cell parameter. |
alpha | where to store the alpha cell parameter. |
beta | where to store the beta cell parameter. |
gamma | where to store the gamma cell parameter. |
Retrieves the cell parameters.
CleavageList* gcr::Document::GetCleavageList | ( | ) | [inline] |
Definition at line 216 of file gcr/document.h.
References Cleavages.
gcr::Document::GetComment | ( | void | ) | [inline] |
Definition at line 651 of file gcr/document.h.
GDate* gcr::Document::GetCreationDate | ( | ) | [inline] |
Definition at line 424 of file gcr/document.h.
References m_CreationDate.
const gchar* gcr::Document::GetFileName | ( | ) | [inline] |
Definition at line 354 of file gcr/document.h.
gcr::Document::GetFixedSize | ( | void | ) | const [inline] |
Definition at line 614 of file gcr/document.h.
char const* gcr::Document::GetLabel | ( | ) | [inline] |
Definition at line 434 of file gcr/document.h.
LineList* gcr::Document::GetLineList | ( | ) | [inline] |
Definition at line 221 of file gcr/document.h.
References LineDef.
gcr::Document::GetMail | ( | void | ) | [inline] |
Definition at line 643 of file gcr/document.h.
gcr::Document::GetNameCommon | ( | void | ) | const [inline] |
Definition at line 564 of file gcr/document.h.
gcr::Document::GetNameMineral | ( | void | ) | const [inline] |
Definition at line 572 of file gcr/document.h.
gcr::Document::GetNameStructure | ( | void | ) | const [inline] |
Definition at line 576 of file gcr/document.h.
gcr::Document::GetNameSystematic | ( | void | ) | const [inline] |
Definition at line 568 of file gcr/document.h.
virtual const char* gcr::Document::GetProgramId | ( | ) | const [virtual] |
std::string gcr::Document::GetProperty | ( | unsigned | property | ) | const [virtual] |
property | the property id as defined in objprops.h |
Used when saving to get properties from the document.
Reimplemented from gcu::Object.
gcr::Document::GetReadOnly | ( | void | ) | const [inline] |
Definition at line 627 of file gcr/document.h.
gcr::Document::GetRefAutoSpaceGroup | ( | void | ) | [inline] |
Definition at line 600 of file gcr/document.h.
gcr::Document::GetRefFixedSize | ( | void | ) | [inline] |
Definition at line 614 of file gcr/document.h.
gcr::Document::GetRefReadOnly | ( | void | ) | [inline] |
Definition at line 627 of file gcr/document.h.
gcr::Document::GetRefSpaceGroup | ( | void | ) | [inline] |
Definition at line 587 of file gcr/document.h.
GDate* gcr::Document::GetRevisionDate | ( | ) | [inline] |
Definition at line 429 of file gcr/document.h.
References m_RevisionDate.
void gcr::Document::GetSize | ( | double * | xmin, |
double * | xmax, | ||
double * | ymin, | ||
double * | ymax, | ||
double * | zmin, | ||
double * | zmax | ||
) |
xmin | where to store the minimum x. |
xmax | where to store the maximum x. |
ymin | where to store the minimum y. |
ymax | where to store the maximum y. |
zmin | where to store the minimum z. |
zmax | where to store the maximum z. |
Retrieves the visible volume in cell coordinates.
gcr::Document::GetSpaceGroup | ( | void | ) | const [inline] |
Definition at line 587 of file gcr/document.h.
char const* gcr::Document::GetTitle | ( | ) | [inline] |
Reimplemented from gcu::Document.
Definition at line 390 of file gcr/document.h.
References gcu::Document::m_Title.
Reimplemented from gcu::GLDocument.
std::list<gcr::View *>* gcr::Document::GetViews | ( | ) | [inline] |
void gcr::Document::Init | ( | ) | [protected] |
Initialize a new Document instance.
bool gcr::Document::Loaded | ( | ) | throw (gcu::LoaderError) [virtual] |
Called by the application when the document has been loaded to update the title and add some lines.
Reimplemented from gcu::Document.
virtual bool gcr::Document::LoadNewView | ( | xmlNodePtr | node | ) | [protected, virtual] |
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 gcr::Document::OnExportVRML | ( | const std::string & | FileName | ) | const |
FileName | a file name. |
Saves the scene as a VRML file.
void gcr::Document::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 crystal structure from the data. Typical usage is:
void gcr::Document::Reinit | ( | ) |
Reinitialize a Document instance. Used when loading a file in an already existing document.
void gcr::Document::RemoveAllViews | ( | ) |
Removes all views from the document. This should be done only when destroying the document.
bool gcr::Document::RemoveView | ( | View * | pView | ) |
pView | the view to remove. |
Removes a view from the document when possible.
void gcr::Document::RenameViews | ( | ) |
Updates the views window titles.
void gcr::Document::Save | ( | ) | const [virtual] |
Saves the document.
Reimplemented from gcu::Document.
void gcr::Document::SaveAsImage | ( | const std::string & | filename, |
char const * | type, | ||
std::map< std::string, std::string > & | options | ||
) |
filename | a file name |
type | an image type such as "png" or "jpeg". |
options | the options to use if any. |
Saves the scene as a bitmap.
void gcr::Document::SetActiveView | ( | View * | pView | ) | [inline] |
pView | the new active view. |
Sets the new active view.
Definition at line 361 of file gcr/document.h.
void gcr::Document::SetAuthor | ( | char const * | author | ) |
author | the file author's name |
Sets the author's name.
gcr::Document::SetAutoSpaceGroup | ( | bool | val | ) | [inline] |
val | whether 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 600 of file gcr/document.h.
void gcr::Document::SetCell | ( | Lattice | lattice, |
double | a, | ||
double | b, | ||
double | c, | ||
double | alpha, | ||
double | beta, | ||
double | gamma | ||
) |
lattice | the new lattice. |
a | the new a value. |
b | the new b value. |
c | the new c value. |
alpha | the new alpha value. |
beta | the new beta value. |
gamma | the new gamma value. |
Sets the cell parameters.
void gcr::Document::SetComment | ( | char const * | comment | ) |
comment | a comment |
Adds a comment to the document. Currently only one comment is allowed per document.
void gcr::Document::SetFileName | ( | const std::string & | filename | ) |
filename | a new file name |
Changes the file name.
gcr::Document::SetFixedSize | ( | bool | val | ) | [inline] |
val | whether cleavages should not change positions in the view. |
If true, adding cleavages will not change atoms positions, otherwise, the scene will be made as large as possible.
Definition at line 614 of file gcr/document.h.
void gcr::Document::SetLabel | ( | char const * | label | ) |
label | the new window title. |
Sets the label to use as window title for views.
void gcr::Document::SetMail | ( | char const * | ) |
the file author's mail address |
Sets the author's mail address.
bool gcr::Document::SetProperty | ( | unsigned | property, |
char const * | value | ||
) | [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.
gcr::Document::SetReadOnly | ( | bool | val | ) | [inline] |
val | whether the file can be modified. |
If true, the document can't be saved using the original file name.
Definition at line 627 of file gcr/document.h.
void gcr::Document::SetSize | ( | double | xmin, |
double | xmax, | ||
double | ymin, | ||
double | ymax, | ||
double | zmin, | ||
double | zmax | ||
) |
xmin | the new minimum x. |
xmax | the new maximum x. |
ymin | the new minimum y. |
ymax | the new maximum y. |
zmin | the new minimum z. |
zmax | the new maximum z. |
Sets the visible volume in cell coordinates.
gcr::Document::SetSpaceGroup | ( | gcu::SpaceGroup const * | val | ) | [inline] |
val | a SpaceGroup. Associates a the space group with the lattice. |
Definition at line 587 of file gcr/document.h.
void gcr::Document::SetTitle | ( | char const * | title | ) | [virtual] |
void gcr::Document::SetTitle | ( | std::string & | title | ) | [virtual] |
title | the new document title. |
Reimplemented from gcu::Document.
void gcr::Document::SetWidget | ( | GtkWidget * | widget | ) | [inline] |
widget | the new current widget. |
Sets the currently active widget.
Definition at line 349 of file gcr/document.h.
void gcr::Document::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.
bool gcr::Document::VerifySaved | ( | ) |
Checks if the document needs to be saved and ask the user about what to do when needed.
AtomList gcr::Document::AtomDef [protected] |
List of the atoms in the definition of the crystal
Definition at line 521 of file gcr/document.h.
Referenced by GetAtomList().
AtomList gcr::Document::Atoms [protected] |
List of the atoms displayed.
Definition at line 525 of file gcr/document.h.
CleavageList gcr::Document::Cleavages [protected] |
List of the cleavages defined.
Definition at line 537 of file gcr/document.h.
Referenced by GetCleavageList().
LineList gcr::Document::LineDef [protected] |
List of the lines in the definition of the crystal
Definition at line 529 of file gcr/document.h.
Referenced by GetLineList().
LineList gcr::Document::Lines [protected] |
List of the lines displayed.
Definition at line 533 of file gcr/document.h.
gdouble gcr::Document::m_a [protected] |
The a parameter of the unit cell.
Definition at line 473 of file gcr/document.h.
gdouble gcr::Document::m_alpha [protected] |
The alpha angle of the unit cell.
Definition at line 485 of file gcr/document.h.
gcr::Document::m_Author [protected] |
The document author's name.
Definition at line 635 of file gcr/document.h.
gdouble gcr::Document::m_b [protected] |
The b parameter of the unit cell.
Definition at line 477 of file gcr/document.h.
gdouble gcr::Document::m_beta [protected] |
The beta angle of the unit cell.
Definition at line 489 of file gcr/document.h.
gdouble gcr::Document::m_c [protected] |
The c parameter of the unit cell.
Definition at line 481 of file gcr/document.h.
gcr::Document::m_Comment [protected] |
The document comment.
Definition at line 651 of file gcr/document.h.
GDate gcr::Document::m_CreationDate [protected] |
The document creation date.
Definition at line 546 of file gcr/document.h.
Referenced by GetCreationDate().
gdouble gcr::Document::m_gamma [protected] |
The gamma angle of the unit cell.
Definition at line 493 of file gcr/document.h.
Lattice gcr::Document::m_lattice [protected] |
The Bravais lattice of the crystal.
Definition at line 469 of file gcr/document.h.
gcr::Document::m_Mail [protected] |
The document author's mail address.
Definition at line 643 of file gcr/document.h.
GDate gcr::Document::m_RevisionDate [protected] |
The document last revision date.
Definition at line 551 of file gcr/document.h.
Referenced by GetRevisionDate().
std::list<View *> gcr::Document::m_Views [protected] |
List of the views of the document.
Definition at line 541 of file gcr/document.h.
Referenced by GetViews().
gdouble gcr::Document::m_xmax [protected] |
The maximum x coordinate in the representation of the crystal structure.
Definition at line 509 of file gcr/document.h.
gdouble gcr::Document::m_xmin [protected] |
The minimum x coordinate in the representation of the crystal structure.
Definition at line 497 of file gcr/document.h.
gdouble gcr::Document::m_ymax [protected] |
The maximum y coordinate in the representation of the crystal structure.
Definition at line 513 of file gcr/document.h.
gdouble gcr::Document::m_ymin [protected] |
The minimum y coordinate in the representation of the crystal structure.
Definition at line 501 of file gcr/document.h.
gdouble gcr::Document::m_zmax [protected] |
The maximum z coordinate in the representation of the crystal structure.
Definition at line 517 of file gcr/document.h.
gdouble gcr::Document::m_zmin [protected] |
The minimum z coordinate in the representation of the crystal structure.
Definition at line 505 of file gcr/document.h.