First, AtomDecorator, ResidueDecorator etc. now inherit from
MolecularHierarchyDecorator, on Javi's suggestion. This saves a lot of
typing in most cases. Some existing code may break, but fixing it is
simply a matter of removing a call the MHD::create (since a previous
call to AtomDecorator::create added all the necessary data). See the
change history for more details.
Second, I propose renaming MolecularHierarchyDecorator to
HierarchyDecorator since it is in the atom namespace already. This
would save a ton of typing as MolecularHierarchyDecorator is a bit
ridiculously long. And, with the exception of people like me who do
"using namespace IMP::atom", all user code could be updated with sed.
Thirdly, I propose removing coordinates from AtomDecorator. The
reasons for this are mostly philosophical: we are trying to get away
from people being fixed on atomic coordinates and it is only due to
quantum mechanical details which have no bearing on what we do that
they make any more sense than coordinates for any other level of the
atom::Hierarchy. Also, having them makes the AtomDecorator a bit of a
mess since it has to inherit from two other decorators.