- Helper functions for creating centroid and cover particles have been
added since it is kind of painful and obscure to do on your own. The
examples now use these helper functions.
- a FixedParticleRefiner has been added for setting up ad-hoc
refinement. It just returns a fixed list of particles and so means you
can skip creating a hierarchy if you just have one particle you want
to refine.
- the atom module as been created and all atom and molecule related
functionality has been moved there and the versions in core marked as
deprecated. Please adjust your code accordingly.
- there is a pdb reader and writer in the atom module
- you can clone a hierarchy with bonds and atom information and all
(but this is not tested yet, so check that the results make sense)
- there is lots of new geometry: Planes, Spheres, Cylinders, spherical
caps and such.
When designing the interface of new code to be added to IMP, please:
- look around for code that does something similar and to make the
interfaces as similar as possible, this is the easiest way to make
your code OK. At this point, the template coverage is pretty good.
- make sure you follow the coding standards outlined on the web page.
Read through those standards before you design your interface if you
are not extremely familiar with them.
- think about what should be part of the interface and what is an
implementation detail. Hide implementation details in internal or
anonymous namespaces (and if you don't know what these are and how
they work, ask someone). Things should only be in the public interface
if you know they will be used outside of the IMP library.
- make sure all the tests pass with a non-fast build and with
"deprecated=False" passed to scons to turn off deprecated classes and
functions.
- build the doc (scons doc > /dev/null) and make sure that there are
no doc warnings from your code and that it all shows up in the
resulting docs