Public Member Functions | |
| Impl (const AtomStereopermutator &stereopermutatorA, const AtomStereopermutator &stereopermutatorB, BondIndex edge, Alignment alignment) | |
| Constructor for use of BondStereopermutator in isolation. More... | |
| Impl (const PrivateGraph &graph, const StereopermutatorList &stereopermutators, BondIndex edge, Alignment alignment) | |
| Constructor for use of BondStereopermutator in a Molecule. More... | |
| void | assign (boost::optional< unsigned > assignment) |
| void | assignRandom (Random::Engine &engine) |
| void | applyPermutation (const std::vector< AtomIndex > &permutation) |
| void | fit (const SitePositionsPair &sitePositions, std::pair< FittingReferences, FittingReferences > fittingReferences, FittingMode mode) |
| void | propagateGraphChange (const AtomStereopermutator::PropagatedState &oldPermutatorState, const AtomStereopermutator &newPermutator, const PrivateGraph &graph, const StereopermutatorList &permutators) |
| void | propagateVertexRemoval (AtomIndex removedIndex) |
| Alignment | alignment () const |
| boost::optional< unsigned > | assigned () const |
|
const Stereopermutations::Composite & | composite () const |
| double | dihedral (const AtomStereopermutator &stereopermutatorA, SiteIndex siteIndexA, const AtomStereopermutator &stereopermutatorB, SiteIndex siteIndexB) const |
| bool | hasSameCompositeOrientation (const BondStereopermutator::Impl &other) const |
| boost::optional< unsigned > | indexOfPermutation () const |
| unsigned | numAssignments () const |
| unsigned | numStereopermutations () const |
| std::string | info () const |
| std::string | rankInfo () const |
| BondIndex | placement () const |
| auto | tie () const |
Public Member Functions inherited from Scine::Molassembler::Temple::Crtp::LexicographicComparable< Impl > | |
| constexpr bool | operator== (const LexicographicComparable &other) const |
| constexpr bool | operator!= (const LexicographicComparable &other) const |
| constexpr bool | operator< (const LexicographicComparable &other) const |
| constexpr bool | operator<= (const LexicographicComparable &other) const |
| constexpr bool | operator> (const LexicographicComparable &other) const |
| constexpr bool | operator>= (const LexicographicComparable &other) const |
Static Public Member Functions | |
Static methods | |
| static bool | cycleObviouslyInfeasible (const PrivateGraph &graph, const StereopermutatorList &stereopermutators, const AtomStereopermutator &firstStereopermutator, const AtomStereopermutator &secondStereopermutator, std::tuple< AtomIndex, AtomIndex, double > dihedral, const RankingInformation::Link &link) |
| Check whether a cycle is obviously infeasible. More... | |
| static std::vector< unsigned > | notObviouslyInfeasibleStereopermutations (const PrivateGraph &graph, const StereopermutatorList &stereopermutators, const Stereopermutations::Composite &composite) |
| Check whether a cycle is obviously infeasible. More... | |
Static Public Member Functions inherited from Scine::Molassembler::Temple::Crtp::LexicographicComparable< Impl > | |
| static constexpr const Impl & | derived (const LexicographicComparable &base) |
Static Private Member Functions | |
|
static Stereopermutations::Stereopermutation::Occupation | makeOccupation_ (const RankingInformation::RankedSitesType &sitesRanking, const AtomStereopermutator::ShapeMap &shapeVertexMap) |
| Yields abstract site characters at their shape positions. | |
|
static Stereopermutations::Composite | constructComposite_ (const StereopermutatorList &stereopermutators, BondIndex edge, Alignment alignment) |
|
static Stereopermutations::Composite::OrientationState | makeOrientationState_ (const AtomStereopermutator &focalStereopermutator, const AtomStereopermutator::ShapeMap &focalShapeMap, const AtomStereopermutator &attachedStereopermutator) |
Private Attributes | |
| Stereopermutations::Composite | composite_ |
| BondIndex | edge_ |
| Edge this stereopermutator is placed on. | |
| std::vector< unsigned > | feasiblePermutations_ |
| List of indices into allPermutations of composite_ that are not obviously infeasible. | |
| boost::optional< unsigned > | assignment_ |
| Index optional into feasiblePermutations_ of the current assignment. | |
| Scine::Molassembler::BondStereopermutator::Impl::Impl | ( | const AtomStereopermutator & | stereopermutatorA, |
| const AtomStereopermutator & | stereopermutatorB, | ||
| BondIndex | edge, | ||
| Alignment | alignment | ||
| ) |
Constructor for use of BondStereopermutator in isolation.
This constructor does not check whether stereopermutations are feasible
| Scine::Molassembler::BondStereopermutator::Impl::Impl | ( | const PrivateGraph & | graph, |
| const StereopermutatorList & | stereopermutators, | ||
| BondIndex | edge, | ||
| Alignment | alignment | ||
| ) |
Constructor for use of BondStereopermutator in a Molecule.
This constructor checks whether its stereopermutations are feasible!
|
static |
Check whether a cycle is obviously infeasible.
Complexity \(\Theta(1)\), but not instant, either
|
static |
Check whether a cycle is obviously infeasible.
Complexity \(\Theta(1)\), but not instant, either
|
private |
Object representing union of both atom stereopermutators, yields abstract spatial arrangements