Commit 0af4eca1 by maarten

restraints/minimizer fixes

git-svn-id: svn+ssh://gitlab/srv/svn-repos/pdb-redo/trunk@286 a1961a4f-ab94-4bcc-80e8-33b5a54de466
parent 26dc7eaa
...@@ -19,7 +19,7 @@ class DistanceMap ...@@ -19,7 +19,7 @@ class DistanceMap
DistanceMap(const Structure& p, const clipper::Spacegroup& spacegroup, const clipper::Cell& cell); DistanceMap(const Structure& p, const clipper::Spacegroup& spacegroup, const clipper::Cell& cell);
// simplified version for subsets of atoms (used in refining e.g.) // simplified version for subsets of atoms (used in refining e.g.)
DistanceMap(const std::vector<Atom>& atoms); DistanceMap(const Structure& p, const std::vector<Atom>& atoms);
DistanceMap(const DistanceMap&) = delete; DistanceMap(const DistanceMap&) = delete;
DistanceMap& operator=(const DistanceMap&) = delete; DistanceMap& operator=(const DistanceMap&) = delete;
...@@ -29,6 +29,7 @@ class DistanceMap ...@@ -29,6 +29,7 @@ class DistanceMap
private: private:
const Structure& structure;
size_t dim; size_t dim;
std::unordered_map<std::string,size_t> index; std::unordered_map<std::string,size_t> index;
......
...@@ -83,7 +83,6 @@ class Atom ...@@ -83,7 +83,6 @@ class Atom
public: public:
// Atom(const structure& s, const std::string& id); // Atom(const structure& s, const std::string& id);
Atom(struct AtomImpl* impl); Atom(struct AtomImpl* impl);
Atom(const File& f, const std::string& id);
Atom(const Atom& rhs); Atom(const Atom& rhs);
~Atom(); ~Atom();
......
...@@ -63,7 +63,7 @@ inline clipper::Coord_orth toCell(clipper::Coord_orth p, const clipper::Cell& ce ...@@ -63,7 +63,7 @@ inline clipper::Coord_orth toCell(clipper::Coord_orth p, const clipper::Cell& ce
} }
DistanceMap::DistanceMap(const Structure& p, const clipper::Spacegroup& spacegroup, const clipper::Cell& cell) DistanceMap::DistanceMap(const Structure& p, const clipper::Spacegroup& spacegroup, const clipper::Cell& cell)
: dim(0) : structure(p), dim(0)
{ {
const float kMaxDistance = 5, kMaxDistanceSQ = kMaxDistance * kMaxDistance; const float kMaxDistance = 5, kMaxDistanceSQ = kMaxDistance * kMaxDistance;
...@@ -165,8 +165,8 @@ DistanceMap::DistanceMap(const Structure& p, const clipper::Spacegroup& spacegro ...@@ -165,8 +165,8 @@ DistanceMap::DistanceMap(const Structure& p, const clipper::Spacegroup& spacegro
t.join_all(); t.join_all();
} }
DistanceMap::DistanceMap(const vector<Atom>& atoms) DistanceMap::DistanceMap(const Structure& p, const vector<Atom>& atoms)
: dim(0) : structure(p), dim(0)
{ {
dim = atoms.size(); dim = atoms.size();
...@@ -225,7 +225,6 @@ float DistanceMap::operator()(const Atom& a, const Atom& b) const ...@@ -225,7 +225,6 @@ float DistanceMap::operator()(const Atom& a, const Atom& b) const
vector<Atom> DistanceMap::near(const Atom& a, float maxDistance) const vector<Atom> DistanceMap::near(const Atom& a, float maxDistance) const
{ {
vector<Atom> result; vector<Atom> result;
const File& f = a.getFile();
size_t ixa; size_t ixa;
try try
...@@ -250,7 +249,7 @@ vector<Atom> DistanceMap::near(const Atom& a, float maxDistance) const ...@@ -250,7 +249,7 @@ vector<Atom> DistanceMap::near(const Atom& a, float maxDistance) const
dist.find(make_tuple(ixb, ixa)); dist.find(make_tuple(ixb, ixa));
if (ii != dist.end() and ii->second <= maxDistance) if (ii != dist.end() and ii->second <= maxDistance)
result.emplace_back(f, i.first); result.push_back(structure.getAtomById(i.first));
} }
return result; return result;
......
...@@ -316,11 +316,11 @@ struct AtomImpl ...@@ -316,11 +316,11 @@ struct AtomImpl
map<string,string> mCachedProperties; map<string,string> mCachedProperties;
}; };
Atom::Atom(const File& f, const string& id) //Atom::Atom(const File& f, const string& id)
: mImpl(new AtomImpl(f, id)) // : mImpl(new AtomImpl(f, id))
{ //{
} //}
//
Atom::Atom(AtomImpl* impl) Atom::Atom(AtomImpl* impl)
: mImpl(impl) : mImpl(impl)
{ {
...@@ -441,6 +441,11 @@ string Atom::authAsymId() const ...@@ -441,6 +441,11 @@ string Atom::authAsymId() const
return property<string>("auth_asym_id"); return property<string>("auth_asym_id");
} }
string Atom::authAtomId() const
{
return property<string>("auth_atom_id");
}
string Atom::authCompId() const string Atom::authCompId() const
{ {
return property<string>("auth_comp_id"); return property<string>("auth_comp_id");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment