Ticket #10135 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Documentation and python bindings for some Crystal objects

Reported by: Andrei Savici Owned by: Michael Wedel
Priority: major Milestone: Release 3.3
Component: Python Keywords:
Cc: Blocked By:
Blocking: Tester: Anders Markvardsen

Description

In ticket #9993, there were a few new classes introduced. They should be exposed to python. A documentation page should be created, something like http://www.mantidproject.org/Lattice

Change History

comment:1 Changed 6 years ago by Michael Wedel

Refs #10135. Made comparison function const

Changeset: 8cc77176b053170fbefbc2341183428e01bd9905

comment:2 Changed 6 years ago by Michael Wedel

Refs #10135. Made getName const

Changeset: 4e8d9b0d437b5f62a02e123d7e6c7d4715ec80d1

comment:3 Changed 6 years ago by Michael Wedel

Refs #10135. Introduced HM-symbol for point groups

Changeset: 3a86fe55f5fa6c024c0389810dc080480c82a585

comment:4 Changed 6 years ago by Michael Wedel

Refs #10135. Changed HM notation

For most symbols this was just removing spaces, but for monoclinic, I decided to have the "usual" case with unique axis b as 2/m and the c-axis should be unique, this has to be made explicit.

Changeset: 2ad941381d2c89f4ef947add71823d4994243259

comment:5 Changed 6 years ago by Michael Wedel

Refs #10135. Added a factory for point groups

PointGroup objects can now be constructed through the factory using the Hermann-Mauguin symbol.

Changeset: e234a9025b082f1ce970f97ca44d0f3622b00178

comment:6 Changed 6 years ago by Michael Wedel

Refs #10135. Added comments.

Changeset: b66757d1fccc1e66d1fc40a8af2829aae3d1bf14

comment:7 Changed 6 years ago by Michael Wedel

Refs #10135. Made method names consistent

Changeset: 5a8daa1bceb14a3594c1fae77cf41e7bf6908da9

comment:8 Changed 6 years ago by Michael Wedel

Refs #10135. Fixed failing unit test

Changeset: 96f7721159922dfa07935d92b1248577fd8e3680

comment:9 Changed 6 years ago by Michael Wedel

Refs #10135. Added repr method for Kernel::V3D python export

Changeset: 19ba2ea3e2ce31a6da5529b3e18ccde51a6ac7db

comment:10 Changed 6 years ago by Michael Wedel

Refs #10135. Exported PointGroup and PointGroupFactory to python

Changeset: 2fb944cffa923a5d08bb94307cd63652b96ec653

comment:11 Changed 6 years ago by Michael Wedel

Refs #10135. Added factory for SymmetryOperations

Changeset: 2dbbe8a9245341bed59e58732f1319e299c283bd

comment:12 Changed 6 years ago by Michael Wedel

Refs #10135. Fixing initialization error

Changeset: 9a63452a7f030047655223278fae88689c6e019b

comment:13 Changed 6 years ago by Michael Wedel

Refs #10135. Removed duplicate code from SymmetryOperationFactory

Changeset: a0d868a89605134f151fb0aa8f80025eaac358ac

comment:14 Changed 6 years ago by Michael Wedel

Refs #10135. Using SymmetryOperationFactory in PointGroup-definitions

Changeset: d27e30f0136902f8861eae666b7a1b62a2901c1c

comment:15 Changed 6 years ago by Michael Wedel

Refs #10135. Using PointGroupFactory in PointGroupTest

Changeset: 57adef4b963e06796af65061f74b61b40929b183

comment:16 Changed 6 years ago by Michael Wedel

Refs #10135. Extended one of the tests for PointGroupFactory

Changeset: 7d5a9598bba1904311bbb7d93299bafa764385a3

comment:17 Changed 6 years ago by Michael Wedel

Refs #10135. Added unit tests for SymmetryOperationFactory

Changeset: 745a87ed5b9de12fd6e78ed592c1ae086cd1fde5

comment:18 Changed 6 years ago by Michael Wedel

Refs #10135. Exporting SymmetryOperation and -Factory to Python

Changeset: e7718f2ca61c2c638c055e1cf72e3c994b5bca47

comment:19 Changed 6 years ago by Michael Wedel

Refs #10135. Adding hash to Python interface of V3D

This is required for correct use in a set, because the default hashing does not work.

Changeset: 9dc026482dedd6c2e5f6ac41ce3110e10d952798

comment:20 Changed 6 years ago by Michael Wedel

Refs #10135. Added init-method to PointGroup

This solves the problem of depending on initialization order of PointGroupFactory and SymmetryOperationFactory.

Changeset: 031a556b55808c03f5ebd1811033e49695a7bb7c

comment:21 Changed 6 years ago by Michael Wedel

Refs #10135. Added concept-page

It contains explanations and usage examples for SymmetryOperation and PointGroup.

Changeset: 276accbee0449f07dd9cd4ce187350da16761657

comment:22 Changed 6 years ago by Michael Wedel

Refs #10135. Removing const from SymmetryOperation export

Changeset: 9267c3c6681e3d63292ba19e527a08cc20188baf

comment:23 Changed 6 years ago by Michael Wedel

Refs #10135. Fixing broken unit tests

Changeset: 94e3a75a3e3c42f811e318a842921d67c308c785

comment:24 Changed 6 years ago by Michael Wedel

Refs #10135. Fixing singleton compilation problem

Changeset: 1ba49c6ce40314eb7c2bcb34af36c1b71503ae2f

comment:25 Changed 6 years ago by Michael Wedel

Refs #10135. Added python unit tests

Since it appears to be impossible to export shared_ptr<const T> to python, the pointer from the factory has to be const-casted before it's returned.

Changeset: bdb8289fc799ca195b53d8e9efd40435ca1f5de9

comment:26 Changed 6 years ago by Michael Wedel

Remarks

I exported only SymmetryOperation and PointGroup to Python, because I think that CrystalStructure will change more in the foreseeable future.

Testing information

  1. Code review, especially for the Python bindings, because I have not done this before.
  2. There is a concept page "Point groups". It contains several usage examples which can be tried and/or modified. It would also be good if someone with a crystallographic background checked the introduction of that page for factual correctness.

comment:27 Changed 6 years ago by Nick Draper

  • Status changed from new to assigned

comment:28 Changed 6 years ago by Michael Wedel

  • Status changed from assigned to verify
  • Resolution set to fixed

comment:29 Changed 6 years ago by Michael Wedel

  • Milestone changed from Backlog to Release 3.3

comment:30 Changed 6 years ago by Michael Wedel

  • Status changed from verify to reopened
  • Resolution fixed deleted

comment:31 Changed 6 years ago by Michael Wedel

  • Status changed from reopened to inprogress

Refs #10135. Fixed getAllPointGroups initialization issue

Changeset: 38c035d2e2f539df601cb25e2f8f9d79b52c9377

comment:32 Changed 6 years ago by Michael Wedel

  • Status changed from inprogress to verify
  • Resolution set to fixed

comment:33 Changed 6 years ago by Anders Markvardsen

  • Status changed from verify to verifying
  • Tester set to Anders Markvardsen

comment:34 Changed 6 years ago by Anders Markvardsen

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/10135_geometry_python_api'

Full changeset: 037bb292865b6b2ce6e31b6eeef919baec205ed5

comment:35 Changed 6 years ago by Anders Markvardsen

played around with examples in concept page, a page which reads well

comment:36 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10977

Note: See TracTickets for help on using tickets.