8 #ifndef IMPATOM_STEREOCHEMISTRY_PAIR_FILTER_H
9 #define IMPATOM_STEREOCHEMISTRY_PAIR_FILTER_H
11 #include <IMP/atom/atom_config.h>
14 #include <IMP/atom/internal/ExcludedPair.h>
15 #include <IMP/internal/container_helpers.h>
17 IMPATOM_BEGIN_NAMESPACE
27 typedef std::map<internal::ExcludedPair, Particle *> ExcludedMap;
28 ExcludedMap excluded_map_;
41 void set_angles(
const Particles &angles) {
45 void set_dihedrals(
const Particles &dihedrals) {
46 dihedrals_ = dihedrals;
Macros for various classes.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Class for storing model, its restraints, constraints, and particles.
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
Abstract predicate function.
A filter that excludes bonds, angles and dihedrals.
virtual int get_value_index(Model *m, const ParticleIndexPair &vt) const =0
Compute the predicate and the derivative if needed.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
#define IMP_PAIR_PREDICATE_METHODS(Name)
Define extra the functions needed for a PairPredicate.