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
DistanceMap(const Structure& p, const clipper::Spacegroup& spacegroup, const clipper::Cell& cell);
// 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& operator=(const DistanceMap&) = delete;
......@@ -29,6 +29,7 @@ class DistanceMap
private:
const Structure& structure;
size_t dim;
std::unordered_map<std::string,size_t> index;
......
......@@ -83,7 +83,6 @@ class Atom
public:
// Atom(const structure& s, const std::string& id);
Atom(struct AtomImpl* impl);
Atom(const File& f, const std::string& id);
Atom(const Atom& rhs);
~Atom();
......
......@@ -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)
: dim(0)
: structure(p), dim(0)
{
const float kMaxDistance = 5, kMaxDistanceSQ = kMaxDistance * kMaxDistance;
......@@ -165,8 +165,8 @@ DistanceMap::DistanceMap(const Structure& p, const clipper::Spacegroup& spacegro
t.join_all();
}
DistanceMap::DistanceMap(const vector<Atom>& atoms)
: dim(0)
DistanceMap::DistanceMap(const Structure& p, const vector<Atom>& atoms)
: structure(p), dim(0)
{
dim = atoms.size();
......@@ -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> result;
const File& f = a.getFile();
size_t ixa;
try
......@@ -250,7 +249,7 @@ vector<Atom> DistanceMap::near(const Atom& a, float maxDistance) const
dist.find(make_tuple(ixb, ixa));
if (ii != dist.end() and ii->second <= maxDistance)
result.emplace_back(f, i.first);
result.push_back(structure.getAtomById(i.first));
}
return result;
......
......@@ -316,11 +316,11 @@ struct AtomImpl
map<string,string> mCachedProperties;
};
Atom::Atom(const File& f, const string& id)
: mImpl(new AtomImpl(f, id))
{
}
//Atom::Atom(const File& f, const string& id)
// : mImpl(new AtomImpl(f, id))
//{
//}
//
Atom::Atom(AtomImpl* impl)
: mImpl(impl)
{
......@@ -441,6 +441,11 @@ string Atom::authAsymId() const
return property<string>("auth_asym_id");
}
string Atom::authAtomId() const
{
return property<string>("auth_atom_id");
}
string Atom::authCompId() const
{
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