8 #ifndef INCLUDE_MOLASSEMBLER_STEREOPERMUTATORS_SHAPE_VERTEX_MAPS_H
9 #define INCLUDE_MOLASSEMBLER_STEREOPERMUTATORS_SHAPE_VERTEX_MAPS_H
17 namespace Molassembler {
18 namespace Stereopermutations {
19 class Stereopermutation;
22 using SiteToShapeVertexMap = Temple::StrongIndexPermutation<SiteIndex, Shapes::Vertex>;
42 const Stereopermutations::Stereopermutation& stereopermutation,
44 const std::vector<RankingInformation::Link>&
siteLinks,
45 std::vector<std::vector<SiteIndex>> siteGroups = {},
46 std::vector<std::vector<Shapes::Vertex>> vertexGroups = {}
56 const Stereopermutations::Stereopermutation& stereopermutation,
58 const std::vector<RankingInformation::Link>& siteLinks
61 Stereopermutations::Stereopermutation stereopermutationFromSiteToShapeVertexMap(
63 const std::vector<RankingInformation::Link>& links,
Strongly typed index permutations.
std::vector< RankingInformation::Link > siteLinks(const PrivateGraph &graph, const AtomStereopermutator &stereopermutatorA, const AtomStereopermutator &stereopermutatorB)
Find links between two adjacent stereopermutators, returns unordered links.
SiteToShapeVertexMap siteToShapeVertexMap(const Stereopermutations::Stereopermutation &stereopermutation, const RankingInformation::RankedSitesType &canonicalSites, const std::vector< RankingInformation::Link > &siteLinks, std::vector< std::vector< SiteIndex >> siteGroups={}, std::vector< std::vector< Shapes::Vertex >> vertexGroups={})
Generates a flat mapping from site indices to shape vertices.
Centralizes basic shape data in runtime types.
Temple::StrongIndexPermutation< Shapes::Vertex, SiteIndex > shapeVertexToSiteIndexMap(const Stereopermutations::Stereopermutation &stereopermutation, const RankingInformation::RankedSitesType &canonicalSites, const std::vector< RankingInformation::Link > &siteLinks)
Generates a flat mapping from shape vertices to site indices.