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