New Features
- `centre_of_mass()` has been added to SarracenDataFrame. It returns the [x, y, z] point of the centre of mass.
- Rotations can be performed around the centre of mass by specifiying `rot_origin='com'`.
- `read_phantom()` will create a `mass` column if multiple particle species (itypes) are present so that different particles resolve the correct mass. If there is only a single particle species, then it follows previous behaviour of adding `mass` to `params`.
Bug fixes:
- `read_phantom()` has reliable detection of default int and real precision (for 32-bit and 64-bit precision).
- Slicing and filtering operations on a SarracenDataFrame (e.g., drop, loc, etc) will correctly determine if any special columns are present (x, y, z, mass, smoothing length, density). Previously it would inherit values from the parent data frame, which would not make sense if any of those columns were filtered out.
- `calc_density()` in SarracenDataFrame no longer assumes `params` contains `mass`.
- Numba deprecation warning with kernels has been resolved.
- Interpolation no longer tries to round x/y limits when they are within 1.0e-4 of an integer. This rounding was problematic when the x/y bounds were smaller than this.
Deprecations
- The default value for `rot_origin=` when rendering and interpolation is currently the midpoint of the x/y/z bounds. This is deprecated and will change to [x, y, z] = [0, 0, 0] in a future release.