RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
FlexData.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// Abstract base class for all model flexibility types
14// Provides Accept method for FlexDataVisitors
15//(subclasses must implement)
16#ifndef _RBTFLEXDATA_
17#define _RBTFLEXDATA_
18
19#include "rxdock/FlexDataVisitor.h"
20#include "rxdock/ParamHandler.h"
21
22namespace rxdock {
23
24class Model;
25class DockingSite;
26
27class FlexData : public ParamHandler {
28public:
29 virtual ~FlexData() {}
30 Model *GetModel() const { return m_pModel; }
31 void SetModel(Model *pModel) { m_pModel = pModel; }
32 DockingSite *GetDockingSite() const { return m_pDockSite; }
33 virtual void Accept(FlexDataVisitor &) = 0;
34
35protected:
36 FlexData(DockingSite *pDockSite)
37 : m_pModel(nullptr), m_pDockSite(pDockSite) {}
38
39private:
40 Model *m_pModel;
41 DockingSite *m_pDockSite;
42};
43
45
46} // namespace rxdock
47
48#endif //_RBTFLEXDATA_
Definition DockingSite.h:30
Definition FlexDataVisitor.h:23
Definition FlexData.h:27
Definition Model.h:34
Definition ParamHandler.h:30
Definition SmartPointer.h:48