15#ifndef _RBT_CONSTRAINT_H_
16#define _RBT_CONSTRAINT_H_
18#include "rxdock/Atom.h"
19#include "rxdock/Coord.h"
20#include "rxdock/Error.h"
21#include "rxdock/Model.h"
23#include <nlohmann/json.hpp>
25using json = nlohmann::json;
31 static const std::string _CT;
41 friend void to_json(json &j,
const Constraint &constraint);
42 friend void from_json(
const json &j,
Constraint &constraint);
50 std::ostream &Print(std::ostream &)
const;
51 friend std::ostream &operator<<(std::ostream &,
const Constraint &);
53 Coord GetCoords()
const {
return coord; }
54 double GetTolerance()
const {
return tolerance; }
55 virtual void AddAtomList(
ModelPtr,
bool bCheck =
true) = 0;
72void to_json(json &j,
const Constraint &constraint);
73void from_json(
const json &j,
Constraint &constraint);
77typedef std::vector<ConstraintPtr> ConstraintList;
78typedef ConstraintList::iterator ConstraintListIter;
79typedef ConstraintList::const_iterator ConstraintListConstIter;
86void ReadConstraintFromMoe(std::istream &ifile,
ConstraintPtr &cnt,
88void ReadStartMoe(std::istream &ifile);
89void ReadConstraints(std::istream &ii, ConstraintList &cl,
bool bCount =
true);
98 void AddAtomList(
ModelPtr,
bool bCheck =
true);
99 static unsigned int counter;
105 void AddAtomList(
ModelPtr,
bool bCheck =
true);
106 static unsigned int counter;
112 void AddAtomList(
ModelPtr,
bool bCheck =
true);
113 static unsigned int counter;
119 void AddAtomList(
ModelPtr,
bool bCheck =
true);
120 static unsigned int counter;
126 void AddAtomList(
ModelPtr,
bool bCheck =
true);
127 static unsigned int counter;
133 void AddAtomList(
ModelPtr,
bool bCheck =
true);
134 static unsigned int counter;
140 void AddAtomList(
ModelPtr,
bool bCheck =
true);
141 static unsigned int counter;
147 void AddAtomList(
ModelPtr,
bool bCheck =
true);
148 static unsigned int counter;
154 void AddAtomList(
ModelPtr,
bool bCheck =
true);
155 static unsigned int counter;
Definition Constraint.h:29
Definition Constraint.h:102
Definition Constraint.h:109
Definition Constraint.h:95
Definition Constraint.h:123
Definition Constraint.h:130
Definition Constraint.h:116
Definition Constraint.h:137
Definition Constraint.h:144
Definition Constraint.h:151