Namespaces | |
| namespace | primitive |
| Functions for generating primitive rings. | |
Classes | |
| struct | primitive::Vertex |
| This is a collection of elements, for each point, required for graph traversal. More... | |
| struct | primitive::Graph |
| This is a per-frame object, containing all the vertices for the particular frame, along with the vector of rings generated. More... | |
| class | primitive::RingUpdater |
| Exact frame-to-frame maintenance of the primitive ring network. More... | |
Functions | |
| std::vector< std::vector< int > > | primitive::ringNetwork (const std::vector< std::vector< int > > &nList, int maxDepth) |
| Graph | primitive::populateGraphFromNListID (molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &neighHbondList) |
| Graph | primitive::populateGraphFromIndices (const std::vector< std::vector< int > > &nList) |
| void | primitive::restoreEdgesFromIndices (Graph &fullGraph, const std::vector< std::vector< int > > &nList) |
| Graph | primitive::countAllRingsFromIndex (const std::vector< std::vector< int > > &neighHbondList, int maxDepth) |
| Creates a vector of vectors of all possible rings. | |
| void | primitive::removeNonSPrings (Graph &fullGraph) |
| Removes the non-SP rings, using the Franzblau shortest path criterion. | |
| int | primitive::findRings (Graph &fullGraph, int v, std::vector< int > &visited, int maxDepth, int depth, int root=-1) |
| Main function that searches for all rings. | |
| int | primitive::shortestPath (Graph &fullGraph, int v, int goal, std::vector< int > &path, std::vector< int > &visited, int maxDepth, int depth=1) |
| Calculates the shortest path. | |
| Graph | primitive::clearGraph (Graph ¤tGraph) |
| Function for clearing vectors in Graph after multiple usage. | |
| primitive::RingUpdater::RingUpdater (int maxDepth) | |
| primitive::RingUpdater::~RingUpdater () | |
| primitive::RingUpdater::RingUpdater (RingUpdater &&) noexcept | |
| RingUpdater & | primitive::RingUpdater::operator= (RingUpdater &&) noexcept |
| primitive::RingUpdater::RingUpdater (const RingUpdater &)=delete | |
| RingUpdater & | primitive::RingUpdater::operator= (const RingUpdater &)=delete |
| const std::vector< std::vector< int > > & | primitive::RingUpdater::update (const std::vector< std::vector< int > > &nList) |
| int | primitive::RingUpdater::lastRecomputedSources () const |
| int | primitive::RingUpdater::lastBallsRefreshed () const |
| Vertices whose bounded balls were rebuilt on the last update. | |
Variables | |
| int | primitive::Vertex::atomIndex |
| std::vector< int > | primitive::Vertex::neighListIndex |
| This is the index according to pointCloud. | |
| bool | primitive::Vertex::inGraph |
| std::vector< Vertex > | primitive::Graph::pts |
| std::vector< std::vector< int > > | primitive::Graph::rings |
Function for clearing vectors in Graph after multiple usage.
| Graph primitive::countAllRingsFromIndex | ( | const std::vector< std::vector< int > > & | neighHbondList, |
| int | maxDepth ) |
Creates a vector of vectors of all possible rings.
|
nodiscard |
Main function that searches for all rings.
|
nodiscard |
Vertices whose bounded balls were rebuilt on the last update.
|
nodiscard |
Sources re-enumerated by the last update; the full vertex count on the first frame, zero when nothing changed
|
delete |
|
noexcept |
| Graph primitive::populateGraphFromIndices | ( | const std::vector< std::vector< int > > & | nList | ) |
Creates a graph object and fills it with the information from a neighbour list of INDICES NOT ATOM IDs created before. NOTE: the neighbourListIndex contains the indices and NOT the atom IDs as in the neighbour list
| Graph primitive::populateGraphFromNListID | ( | molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const std::vector< std::vector< int > > & | neighHbondList ) |
Creates a graph object and fills it with the information from a neighbour list and pointCloud created before. NOTE: the neighbourListIndex contains the indices and NOT the atom IDs as in the neighbour list
| void primitive::removeNonSPrings | ( | Graph & | fullGraph | ) |
Removes the non-SP rings, using the Franzblau shortest path criterion.
| void primitive::restoreEdgesFromIndices | ( | Graph & | fullGraph, |
| const std::vector< std::vector< int > > & | nList ) |
Re-fills the neighbour lists of a graph object from a neighbour list of INDICES NOT ATOM IDs created before. NOTE: the neighbourListIndex contains the indices and NOT the atom IDs as in the neighbour list
| std::vector< std::vector< int > > primitive::ringNetwork | ( | const std::vector< std::vector< int > > & | nList, |
| int | maxDepth ) |
|
delete |
|
explicit |
|
noexcept |
|
nodiscard |
Calculates the shortest path.
| const std::vector< std::vector< int > > & primitive::RingUpdater::update | ( | const std::vector< std::vector< int > > & | nList | ) |
Primitive rings for this frame's neighbour list (row-ordered, by index, first element of each row the vertex itself)
| primitive::RingUpdater::~RingUpdater | ( | ) |
| int primitive::Vertex::atomIndex |
Definition at line 90 of file franzblau.hpp.
| bool primitive::Vertex::inGraph |
Contains the INDICES (not the atomIDs) of the neighbouring vertices
Definition at line 93 of file franzblau.hpp.
| std::vector<int> primitive::Vertex::neighListIndex |
This is the index according to pointCloud.
Definition at line 91 of file franzblau.hpp.
| std::vector<Vertex> primitive::Graph::pts |
Definition at line 108 of file franzblau.hpp.
| std::vector<std::vector<int> > primitive::Graph::rings |
Collection of vertices. The index of each should be the same as that in pointCloud
Definition at line 111 of file franzblau.hpp.