RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
CrdFileSink.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// Class for writing Models to CRD files
14
15#ifndef _RBTCRDFILESINK_H_
16#define _RBTCRDFILESINK_H_
17
18#include "rxdock/BaseMolecularFileSink.h"
19
20#include <nlohmann/json.hpp>
21
22using json = nlohmann::json;
23
24namespace rxdock {
25
27public:
29 // Constructors/destructors
30 // CrdFileSink(const char* fileName, ModelPtr spModel);
31 RBTDLL_EXPORT CrdFileSink(const std::string &fileName, ModelPtr spModel);
32
33 virtual ~CrdFileSink(); // Default destructor
34
35 friend void to_json(json &j, const CrdFileSink &crdFileSink);
36 friend void from_json(const json &j, CrdFileSink &crdFileSink);
37
39 // Public methods
41 //
42 // Derived classes should override
43 // Controls whether file type can support the writing of multiple
44 // conformations/models to a single file
45 virtual bool isMultiConfSupported() { return true; }
46 //
48 // Override public methods from BaseFileSink
49 virtual void Render();
50
51protected:
53 // Protected methods
55
56private:
58 // Private methods
60
61 CrdFileSink(); // Disable default constructor
62 CrdFileSink(const CrdFileSink &); // Copy constructor disabled by
63 // default
65 operator=(const CrdFileSink &); // Copy assignment disabled by default
66
67protected:
69 // Protected data
71
72private:
74 // Private data
76 unsigned int m_numAtomsLineRec;
77};
78
79void to_json(json &j, const CrdFileSink &crdFileSink);
80void from_json(const json &j, CrdFileSink &crdFileSink);
81
82// Useful typedefs
83typedef SmartPtr<CrdFileSink> CrdFileSinkPtr; // Smart pointer
84
85} // namespace rxdock
86
87#endif //_RBTCRDFILESINK_H_
Definition BaseMolecularFileSink.h:29
Definition CrdFileSink.h:26