9 #ifndef IMPEM_ENVELOPE_SCORE_H
10 #define IMPEM_ENVELOPE_SCORE_H
12 #include <IMP/em/em_config.h>
35 bool is_penetrating(
const std::vector<IMP::algebra::Vector3D>& points,
36 float penetration_thr)
const;
44 bool is_penetrating(
const std::vector<IMP::algebra::Vector3D>& points,
46 float penetration_thr)
const;
53 double score(
const std::vector<IMP::algebra::Vector3D>& points)
const;
59 double score(
const std::vector<IMP::algebra::Vector3D>& points,
70 unsigned int find_range(
float distance)
const {
71 for (
unsigned int i = 0; i < ranges_.size(); i++)
73 if (distance <= ranges_[i] + 1e-5)
return i;
74 return ranges_.size();
78 const MapDistanceTransform* mdt_;
79 std::vector<float> ranges_;
80 std::vector<int> weights_;
81 std::vector<long> inner_voxels_;
82 std::vector<long> neighbors_;
class for envelope based scoring using MapDistanceTransform
Common base class for heavy weight IMP objects.
IMP::base::VersionInfo get_version_info() const
Get information about the module and version of the object.
Version and module information for Objects.
A shared base class to help in debugging and things.