Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Manipulation.h
Go to the documentation of this file.
1 
8 #ifndef INCLUDE_MOLASSEMBLER_STEREOPERMUTATION_MANIPULATION_H
9 #define INCLUDE_MOLASSEMBLER_STEREOPERMUTATION_MANIPULATION_H
10 
12 #include <unordered_set>
13 
14 namespace Scine {
15 namespace Molassembler {
16 namespace Stereopermutations {
17 
18 using UnorderedStereopermutations = std::unordered_set<Stereopermutation, boost::hash<Stereopermutation>>;
19 
28 MASM_EXPORT std::vector<Stereopermutation> generateAllRotations(
29  Stereopermutation s,
31 );
32 
37 MASM_EXPORT bool rotationallySuperimposable(
38  Stereopermutation a,
39  const Stereopermutation& b,
41 );
42 
55 MASM_EXPORT boost::optional<bool> enantiomer(
56  const Stereopermutation& a,
57  const Stereopermutation& b,
59 );
60 
65 MASM_EXPORT bool hasTransArrangedLinks(
66  const Stereopermutation& s,
68 );
69 
70 struct MASM_EXPORT Uniques {
71  std::vector<Stereopermutation> list;
72  std::vector<unsigned> weights;
73 };
74 
93 MASM_EXPORT Uniques uniques(
94  const Stereopermutation& base,
96  bool removeTransSpanningGroups = false
97 );
98 
99 } // namespace Stereopermutations
100 } // namespace Molassembler
101 } // namespace Scine
102 
103 #endif
Uniques uniques(const Stereopermutation &base, Shapes::Shape shape, bool removeTransSpanningGroups=false)
Generate the set of rotationally unique stereopermutations for a given stereopermutation.
Represent abstract stereopermutation around atom center.
Definition: Stereopermutation.h:36
Base class to describe substituent arrangements in shapes.
ShapeResult shape(const PositionCollection &normalizedPositions, Shape shape)
Forwarding function to calculate the continuous shape measure.
bool rotationallySuperimposable(Stereopermutation a, const Stereopermutation &b, Shapes::Shape shape)
whether this Stereopermutation is rotationally superimposable with another.
std::vector< Stereopermutation > generateAllRotations(Stereopermutation s, Shapes::Shape shape)
Generate all superimposable rotations of a stereopermutation.
bool hasTransArrangedLinks(const Stereopermutation &s, Shapes::Shape shape)
Whether a stereopermutation has trans arranged linked substituents.
Shape
Enumeration of all contained symmetry names.
Definition: Shapes.h:28
boost::optional< bool > enantiomer(const Stereopermutation &a, const Stereopermutation &b, Shapes::Shape shape)
Checks whether a stereopermutation is a mirror image of another within a particular shape...