IMP  2.3.0
The Integrative Modeling Platform
atom_macros.h
Go to the documentation of this file.
1 /**
2  * \file IMP/atom/atom_macros.h \brief Various important macros
3  * for implementing decorators.
4  *
5  * Copyright 2007-2014 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPATOM_MACROS_H
10 #define IMPATOM_MACROS_H
11 
12 #define IMP_ATOM_TYPE_INDEX 8974343
13 #define IMP_RESIDUE_TYPE_INDEX 90784334
14 #define IMP_HIERARCHY_TYPE_INDEX 90784335
15 //! Define the basic things you need for a ForceFieldParameters.
16 /** In addition to the methods done by all the macros, it declares
17  - IMP::Restraint::evaluate()
18  - IMP::Restraint::incremental_evaluate()
19  and it defines
20  - IMP::Restraint::get_is_incremental() to return true
21 */
22 #define IMP_FORCE_FIELD_PARAMETERS(Name) IMP_OBJECT_NO_WARNING(Name)
23 
24 //! Define the basic things you need for a mol2 selector
25 /** In addition to the methods defined/declared by IMP_OBJECT,
26  it defines:
27  - IMP::Mol2Selector::get_is_selected()
28  The selected argument should return true or false and use
29  a string called pdb_line.
30  */
31 #define IMP_MOL2_SELECTOR(Name, selected, show) \
32  bool get_is_selected(const std::string& mol2_line) const { selected; } \
33  IMP_OBJECT_METHODS(Name)
34 
35 #endif /* IMPATOM_MACROS_H */