The Gnome Chemistry Utils  0.14.0
Public Member Functions | Static Public Member Functions | List of all members
gcu::Chem3dDoc Class Reference

#include <gcu/chem3ddoc.h>

Inheritance diagram for gcu::Chem3dDoc:
gcu::GLDocument gcu::Document gcu::Object gcu::DialogOwner gcugtk::Chem3dDoc

Public Member Functions

 Chem3dDoc ()
 Chem3dDoc (Application *App, GLView *View)
virtual ~Chem3dDoc ()
void Draw (Matrix const &m) const
bool IsEmpty ()
void Load (char const *uri, char const *mime_type)
ContentType LoadData (char const *data, char const *mime_type, size_t size=0)
void OnExportVRML (std::string const &filename)
void Clear ()
virtual GLViewCreateView ()=0
bool SetProperty (unsigned property, char const *value)
void SetDisplay3D (Display3DMode val)
Display3DMode GetDisplay3D (void) const
MoleculeGetMol (void) const
- Public Member Functions inherited from gcu::GLDocument
 GLDocument (Application *App)
virtual ~GLDocument ()
double GetMaxDist (void)
GLViewGetView (void)
- Public Member Functions inherited from gcu::Document
 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 ResidueCreateResidue (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, Action action=ActionException) throw (std::runtime_error)
virtual bool Loaded () throw (LoaderError)
std::string Name ()
void ObjectLoaded (Object *obj)
std::set< Object * > GetNewObjects ()
virtual WindowGetWindow ()
ApplicationGetApp (void)
bool GetEmpty (void)
void SetScale (double val)
double GetScale (void) const
double & GetRefScale (void)
- Public Member Functions inherited from gcu::Object
 Object (TypeId Id=OtherType)
virtual ~Object ()
TypeId GetType () const
void SetId (gchar const *Id)
char const * GetId () const
virtual void AddChild (Object *object)
ObjectGetMolecule () const
ObjectGetReaction () const
ObjectGetGroup () const
DocumentGetDocument () const
ApplicationGetApplication () const
ObjectGetParentOfType (TypeId Id) const
ObjectGetChild (const gchar *Id) const
ObjectGetFirstChild (std::map< std::string, Object * >::iterator &i)
ObjectGetNextChild (std::map< std::string, Object * >::iterator &i)
ObjectGetDescendant (const char *Id) const
ObjectGetParent () const
void SetParent (Object *Parent)
virtual xmlNodePtr Save (xmlDocPtr xml) const
virtual bool Load (xmlNodePtr node)
virtual bool GetCoords (double *x, double *y, double *z=NULL) const
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 ObjectGetAtomAt (double x, double y, double z=0.)
virtual bool Build (std::set< Object * > const &Children) throw (std::invalid_argument)
virtual double GetYAlign ()
virtual bool BuildContextualMenu (UIManager *uim, Object *object, double x, double y)
void EmitSignal (SignalId Signal)
virtual bool OnSignal (SignalId Signal, Object *Child)
void Lock (bool state=true)
bool IsLocked ()
ObjectGetFirstLink (std::set< Object * >::iterator &i)
ObjectGetNextLink (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 std::string GetProperty (unsigned property) const
virtual void OnLoaded ()
void SetDirty (bool dirty=true)
std::string Identity ()
virtual char const * HasPropertiesDialog () const
virtual bool CanSelect () const
virtual void NotifyEmpty ()
void ShowPropertiesDialog ()
bool GetDirty (void) const
- Public Member Functions inherited from gcu::DialogOwner
 DialogOwner ()
virtual ~DialogOwner ()
DialogGetDialog (std::string name) const
void ClearDialogs ()

Static Public Member Functions

static Display3DMode Display3DModeFromString (char const *name)
static char const * Display3DModeAsString (Display3DMode mode)

Additional Inherited Members

- Protected Member Functions inherited from gcu::Object
virtual DialogBuildPropertiesDialog ()
- Protected Attributes inherited from gcu::GLDocument
double m_MaxDist
GLViewm_View

Detailed Description

Document base class for a molecule.

Definition at line 61 of file chem3ddoc.h.

Constructor & Destructor Documentation

gcu::Chem3dDoc::Chem3dDoc ( )

Default constructor

Reimplemented in gcugtk::Chem3dDoc.

gcu::Chem3dDoc::Chem3dDoc ( Application App,
GLView View 
)
Parameters
Appthe application.
View,:an optional already existing GLView instance.
virtual gcu::Chem3dDoc::~Chem3dDoc ( )
virtual

Default destructor

Reimplemented in gcugtk::Chem3dDoc.

Member Function Documentation

void gcu::Chem3dDoc::Clear ( )
virtual

Clears the document.

Reimplemented from gcu::Object.

virtual GLView* gcu::Chem3dDoc::CreateView ( )
pure virtual
     Pure virtual method used to create a view. Must be overriden in derived classes.
Returns
the newly created view.

Implemented in gcugtk::Chem3dDoc.

static char const* gcu::Chem3dDoc::Display3DModeAsString ( Display3DMode  mode)
static
Parameters
modea display mode.
Returns
a string representation of the display mode.
static Display3DMode gcu::Chem3dDoc::Display3DModeFromString ( char const *  name)
static
Parameters
namethe name of the display mode.

Converts a string to an actual display mode. Supported names are: "ball&stick", "spacefill", "cylinders", and "wireframe".

Returns
the display mode or BALL_AND_STICK on error.
void gcu::Chem3dDoc::Draw ( Matrix const &  m) const
virtual
Parameters
mthe Matrix giving the current model orientation

Displays the molecule using OpenGL.

Implements gcu::GLDocument.

gcu::Chem3dDoc::GetDisplay3D ( void  ) const
inline
Returns
the current mode.

Definition at line 161 of file chem3ddoc.h.

gcu::Chem3dDoc::GetMol ( void  ) const
inline
Returns
the molecule dispayed inside the document.

Definition at line 165 of file chem3ddoc.h.

bool gcu::Chem3dDoc::IsEmpty ( )
inline
Returns
true if the molecule have no atom, false otherwise.

Definition at line 88 of file chem3ddoc.h.

References gcu::Molecule::GetAtomsNumber().

void gcu::Chem3dDoc::Load ( char const *  uri,
char const *  mime_type 
)
Parameters
urithe uri of the molecule file.
mime_typethe mime type of the molecule file.

Loads a molecule from the provided uri.

ContentType gcu::Chem3dDoc::LoadData ( char const *  data,
char const *  mime_type,
size_t  size = 0 
)
Parameters
datathe inline data.
mime_typethe mime type of the data.
sizethe size of the data. If nul, the size will be evaluated from the string length.

Loads a molecule from the provided data.

void gcu::Chem3dDoc::OnExportVRML ( std::string const &  filename)
Parameters
filenamethe name of the vrml file to which the data should be written.

Exports the embedded molecule as a vrml scene.

gcu::Chem3dDoc::SetDisplay3D ( Display3DMode  mode)
inline
Parameters
mode,:the new mode.

Sets the display mode to one of the available Display3DMode values.

Definition at line 161 of file chem3ddoc.h.

bool gcu::Chem3dDoc::SetProperty ( unsigned  property,
char const *  value 
)
virtual
Parameters
propertythe property id as defined in objprops.h
valuethe property value as a string

Used when loading to set properties to the document

Returns
true if the property could be set, or if the property is not relevant, false otherwise.

Reimplemented from gcu::Object.


The documentation for this class was generated from the following file: