- fixed windows installation and compilation
- Switch to a git submodule for the source of the upstream objcryst project
- update the ScatteringComponentList when a Scatterer is removed from a Crystal. [fixes diffpy/pyobjcryst#41]
- Make sure Molecule::BuildConnectivityTable() always list all atoms, even if their connectivity list is empty (pathological case)
- Add UnitCell::ChangeSpaceGroup(), which updates lattice parameter symmetry constraints.
- Take into account spacegroup clock in UnitCell::GetLatticePar and InitMatrices
- Throw an exception if alpha, beta or gamma are not within ]0;pi[ in UnitCell::Init()
- the list of HKL reflections will now be automatically be re-generated
for a PowderPatternDiffraction when the Crystal's spacegroup changes,
or the lattice parameters are modified by more than 0.5% - Fixed the powder pattern indexing test
- Recipes for windows and macOS (arm64) builds
- PowderPatternDiffraction::GetFhklObsSq() and HasFhklObsSq()
- Use a valid XML output for a Molecule RigidGroup (not backwards-compatible)
- Add access to the weight (g/mol) for ScatteringPowerAtom and Crystal
- Add relative_length_tolerance and absolute_angle_tolerance_degree to SpaceGroupExplorer::Run() and RunAll()
- Crystal::XMLInput(): add a hook to re-use atomic scattering power when mDeleteSubObjInDestructor is False
- Better formula for Crystal and Molecule
- Crystal::XMLInput(): take into account mDeleteSubObjInDestructor.
- Add 3D crystal visualization widget using py3Dmol.
- Improve the indexing functions.
- Better access to some global optimisation variables.
- Expose the ZScatterer2Molecule function inside Molecule.h.
- Add a cylindrical absorption correction (Lobanov & Alte da Veiga).
- Move SpaceGroupExplorer in a separate class for non-GUI access. Allow keeping or not the tested spacegroup, or the best solution. Sort solutions by the GoF multiplied by the ratio of the number of non-extinct reflections in the spacegoup relative to P1.
- MonteCarloObj: add public access to AutoLSQ option
- OptimizationObj: add access to Options by number or name
- RefinableObj: provide access to options by name
- Add STL-type methods (begin, end, size) for ObjRegistry and Molecule objects
- Add Crystal.GetFormula(). Use formula to automatically name Crystal and DiffractionDataSingleCrystal when imported from CIF and no name is given
- Better format for ObjRegistry::Print()
- sync with upstream-objcryst v2017.2-52-gd5e3585
- Correct EstimateCellVolume estimation for orthorombic F
- Throw
invalid_argument
when space group lookup fails. - Sync with upstream-objcryst v2017.2-37-g5ae17765.
- Infinite recursion in
SpaceGroup("bad")
andChangeSpaceGroup("bad")
.
Notable differences from version 2017.1.1.
- Support compilation from standard git-archive tarball, i.e,
expand version metadata with
export-subst
git attribute. - Make scons scripts compatible with Python 3 and Python 2.
- Declare compatible version requirements for client Anaconda packages.
- Sync with upstream-objcryst v2017.2.
- Remove no-op GL functions which are relevant only for fox-objcryst.
- Anaconda package recipe to use Anaconda C++ compilers.
- Use c++98 language standard even if Anaconda environment sets later.
- Macro
LIBOBJCRYST_GIT_SHA
replaced withLIBOBJCRYST_GIT_COMMIT
. - Member
libobjcryst_version_info::git_sha
replaced withgit_commit
.
- Hard-coded diagnostic output in
SetPowderPatternObs
.
- Source typos, e.g., missed braces, misleading indentation, missing include.
- Incomplete
scons install
when shared library fails to build. SetPowderPatternX
crash for empty vector argument.- Incorrectly doubled return value from
GetInversionCenter
. - Memory leak for a copy-constructed empty
CrystVector
.