Public Types | |
Public types | |
using | ConeAngleType = std::vector< boost::optional< DistanceGeometry::ValueBounds > > |
Public Member Functions | |
Constructors | |
Feasible ()=default | |
Empty initializer, all data members are null objects. | |
Feasible (const Abstract &abstractPermutations, Shapes::Shape shape, AtomIndex placement, const RankingInformation &ranking, const Graph &graph) | |
Determines the subset of stereopermutations that are feasible in three dimensions. More... | |
Static Public Member Functions | |
Static functions | |
static bool | linkPossiblyFeasible (const RankingInformation::Link &link, AtomIndex placement, const ConeAngleType &cones, const RankingInformation &ranking, Shapes::Shape shape, const SiteToShapeVertexMap &shapeVertexMap, const Graph &graph) |
Determine whether a link is possibly feasible. More... | |
static bool | possiblyFeasible (const Stereopermutations::Stereopermutation &assignment, AtomIndex placement, const RankingInformation::RankedSitesType &canonicalSites, const ConeAngleType &coneAngles, const RankingInformation &ranking, Shapes::Shape shape, const Graph &graph) |
Determine whether a stereopermutation is possibly feasible. More... | |
Data Fields | |
Data members | |
std::vector < DistanceGeometry::ValueBounds > | siteDistances |
Mapping from site index to modeled site plane distance. | |
ConeAngleType | coneAngles |
Mapping from site index to cone angle optional. | |
std::vector< unsigned > | indices |
Vector of permutation indices that are feasible. | |
Scine::Molassembler::Stereopermutators::Feasible::Feasible | ( | const Abstract & | abstractPermutations, |
Shapes::Shape | shape, | ||
AtomIndex | placement, | ||
const RankingInformation & | ranking, | ||
const Graph & | graph | ||
) |
Determines the subset of stereopermutations that are feasible in three dimensions.
abstractPermutations | The set of abstract stereopermutations |
shape | The underlying shape of the stereopermutator |
placement | the atom index of the stereopermutator |
ranking | Ranking object indicating chemical differences between sites and substituents |
graph | The graph being modeled |
Complexity \(\Theta(P\cdot L)\) where \(P\) is the number of abstract stereopermutations and \(L\) is the number of links
|
static |
Determine whether a link is possibly feasible.
Catches some obviously impossible links, but does not imply that the link is truly feasible if the test passes.
|
static |
Determine whether a stereopermutation is possibly feasible.
Catches some obviously impossible stereopermutations, but does not imply that the stereopermutation is truly feasibly if the test passes.
Complexity \(\Theta(L)\)