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)\)