Molassembler  1.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Scine::Molassembler::Stereopermutators::Feasible Struct Reference

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.
 

Constructor & Destructor Documentation

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.

Parameters
abstractPermutationsThe set of abstract stereopermutations
shapeThe underlying shape of the stereopermutator
placementthe atom index of the stereopermutator
rankingRanking object indicating chemical differences between sites and substituents
graphThe graph being modeled

Complexity \(\Theta(P\cdot L)\) where \(P\) is the number of abstract stereopermutations and \(L\) is the number of links

Member Function Documentation

static bool Scine::Molassembler::Stereopermutators::Feasible::linkPossiblyFeasible ( const RankingInformation::Link link,
AtomIndex  placement,
const ConeAngleType &  cones,
const RankingInformation ranking,
Shapes::Shape  shape,
const SiteToShapeVertexMap shapeVertexMap,
const Graph graph 
)
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 bool Scine::Molassembler::Stereopermutators::Feasible::possiblyFeasible ( const Stereopermutations::Stereopermutation assignment,
AtomIndex  placement,
const RankingInformation::RankedSitesType canonicalSites,
const ConeAngleType &  coneAngles,
const RankingInformation ranking,
Shapes::Shape  shape,
const Graph graph 
)
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)\)


The documentation for this struct was generated from the following file: