8 #ifndef INCLUDE_MOLASSEMBLER_STEREOPERMUTATIONS_FEASIBLE_PERMUTATIONS_H
9 #define INCLUDE_MOLASSEMBLER_STEREOPERMUTATIONS_FEASIBLE_PERMUTATIONS_H
18 namespace Molassembler {
19 namespace Stereopermutators {
27 using ConeAngleType = std::vector<
28 boost::optional<DistanceGeometry::ValueBounds>
44 const ConeAngleType& cones,
90 const Abstract& abstractPermutations,
std::vector< unsigned > indices
Vector of permutation indices that are feasible.
Definition: FeasiblePermutations.h:107
Represent abstract stereopermutation around atom center.
Definition: Stereopermutation.h:32
Base class to describe substituent arrangements in shapes.
ShapeResult shape(const PositionCollection &normalizedPositions, Shape shape)
Forwarding function to calculate the continuous shape measure.
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.
Represents the connectivity of atoms of a molecule.
Definition: Graph.h:57
std::vector< DistanceGeometry::ValueBounds > siteDistances
Mapping from site index to modeled site plane distance.
Definition: FeasiblePermutations.h:101
std::size_t AtomIndex
Unsigned integer atom index type. Used to refer to particular atoms.
Definition: Types.h:51
Data struct for storing a numeric interval.
Feasible()=default
Empty initializer, all data members are null objects.
Centralizes the main customization points of the library's behavior.
Class to compute the set of abstract permutations from ranking and shape.
Definition: AbstractPermutations.h:24
Shape
Enumeration of all contained symmetry names.
Definition: Shapes.h:28
Definition: FeasiblePermutations.h:24
Calculate shape position maps.
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.
ConeAngleType coneAngles
Mapping from site index to cone angle optional.
Definition: FeasiblePermutations.h:104