9 #ifndef IMPMULTIFIT_COMPLEMENTARITY_RESTRAINT_H
10 #define IMPMULTIFIT_COMPLEMENTARITY_RESTRAINT_H
12 #include <IMP/multifit/multifit_config.h>
17 IMPMULTIFIT_BEGIN_NAMESPACE
44 std::string name=
"ComplementarityRestraint %1%");
50 maximum_penetration_score_=s;
55 maximum_penetration_=d;
61 maximum_separation_=s;
65 complementarity_thickness_=th;
71 complementarity_value_=th;
75 interior_thickness_=th;
79 void set_penetration_coefficient(
double pc)
81 penetration_coef_ = pc;
84 void set_complementarity_coefficient(
double cc)
86 complementarity_coef_ = cc;
89 void set_boundary_coefficient(
double bc)
93 float get_voxel_size()
const {
return voxel_size_;}
100 typedef std::pair<algebra::Transformation3D,
101 algebra::DenseGrid3D<float> > GridPair;
102 typedef core::DataObject<GridPair> GridObject;
103 GridObject *get_grid_object(core::RigidBody rb,
104 const ParticlesTemp &a,
108 double interior_thickness,
114 double interior_thickness,
117 ParticlesTemp a_, b_;
118 core::RigidBody rba_, rbb_;
121 double maximum_separation_, maximum_penetration_score_;
122 double maximum_penetration_;
123 double complementarity_thickness_, complementarity_value_;
124 double penetration_coef_, complementarity_coef_, boundary_coef_;
125 double interior_thickness_, voxel_size_;
128 IMPMULTIFIT_END_NAMESPACE