RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
ChromFactory.h
1/***********************************************************************
2 * The rDock program was developed from 1998 - 2006 by the software team
3 * at RiboTargets (subsequently Vernalis (R&D) Ltd).
4 * In 2006, the software was licensed to the University of York for
5 * maintenance and distribution.
6 * In 2012, Vernalis and the University of York agreed to release the
7 * program as Open Source software.
8 * This version is licensed under GNU-LGPL version 3.0 with support from
9 * the University of Barcelona.
10 * http://rdock.sourceforge.net/
11 ***********************************************************************/
12
13// Chromosome factory class
14// Creates an Chrom aggregate by visiting a number of
15// FlexData subclasses.
16// It is the users responsibility to delete the
17// chromosome returned by GetChrom() when no longer required.
18// No smart pointers are used within ChromFactory.
19#ifndef _RBTCHROMFACTORY_H_
20#define _RBTCHROMFACTORY_H_
21
22#include "rxdock/FlexDataVisitor.h"
23#include "rxdock/ModelMutator.h"
24
25namespace rxdock {
26
27class ChromElement;
28
29class RBTDLL_EXPORT ChromFactory : public FlexDataVisitor {
30public:
32 virtual void VisitReceptorFlexData(ReceptorFlexData *);
33 virtual void VisitLigandFlexData(LigandFlexData *);
34 virtual void VisitSolventFlexData(SolventFlexData *);
35
36 ChromElement *GetChrom() const;
37 // Temporary solution whilst we replace the ModelMutator class
38 ModelMutatorPtr GetModelMutator() const { return m_spMutator; }
39
40private:
41 ChromElement *m_pChrom;
42 ModelMutatorPtr m_spMutator;
43};
44
45} // namespace rxdock
46
47#endif //_RBTCHROMFACTORY_H_
Definition ChromElement.h:36
Definition ChromFactory.h:29
Definition FlexDataVisitor.h:23
Definition LigandFlexData.h:21
Definition ReceptorFlexData.h:21
Definition SolventFlexData.h:21