10#include <boost/python/class.hpp>
11#include <boost/python/enum.hpp>
12#include <boost/python/register_ptr_to_python.hpp>
13#include <boost/python/scope.hpp>
25 }
catch (std::bad_cast &) {
34 }
catch (std::bad_cast &) {
41 register_ptr_to_python<std::shared_ptr<SymmetryElement>>();
43 scope symmetryElementScope = class_<SymmetryElement, boost::noncopyable>(
"SymmetryElement", no_init);
45 enum_<SymmetryElementRotation::RotationSense>(
"RotationSense")
50 class_<SymmetryElement, boost::noncopyable>(
"SymmetryElement", no_init)
52 "Returns the Hermann-Mauguin symbol for the element.")
53 .def(
"getAxis", &getAxis, arg(
"self"),
54 "Returns the symmetry axis or [0,0,0] for "
55 "identiy, inversion and translations.")
56 .def(
"getRotationSense", &getRotationSense, arg(
"self"),
57 "Returns the rotation sense of a rotation axis or None"
58 "if the element is not a rotation.");
#define GET_POINTER_SPECIALIZATION(TYPE)
void export_SymmetryElement()
SymmetryElementRotation represents rotation-, rotoinversion- and screw-axes.
RotationSense getRotationSense() const
Returns the internally stored rotation sense.
SymmetryElementWithAxis does not represent any symmetry element directly.
SymmetryElement is an interface for representing symmetry elements that occur for example in space an...
std::string hmSymbol() const
Returns the internally stored Hermann-Mauguin symbol.