8 #ifndef SWOOSEUTILITIES_TOPOLOGYUTILS_H
9 #define SWOOSEUTILITIES_TOPOLOGYUTILS_H
18 class BondOrderCollection;
23 namespace SwooseUtilities {
30 static std::vector<std::list<int>>
32 double minimalBondOrderToConsider);
48 Utils::ElementType elementType,
57 static void calculateNumberOfNeighbors(
int nAtoms, std::vector<std::list<int>> listsOfNeighbors, std::vector<int>& nNeighbors);
63 #endif // SWOOSEUTILITIES_TOPOLOGYUTILS_H
static std::vector< int > divideStructureAtBond(int a1, int a2, const Utils::BondOrderCollection &bondOrderMatrix, bool &ok)
Divides the atoms into two groups according to which side of the bond given by atoms a1 and a2 are...
Definition: TopologyUtils.cpp:46
static void calculateNumberOfNeighbors(int nAtoms, std::vector< std::list< int >> listsOfNeighbors, std::vector< int > &nNeighbors)
Definition: TopologyUtils.cpp:108
static std::vector< std::list< int > > generateListsOfNeighborsFromBondOrderMatrix(int nAtoms, const Utils::BondOrderCollection &bondOrderMatrix, double minimalBondOrderToConsider)
This function generates an array of nAtoms lists of neighbors from a lower-triangular bond-order matr...
Definition: TopologyUtils.cpp:17
static Utils::BondOrderCollection generateBondOrderMatrixFromListsOfNeighbors(const std::vector< std::list< int >> &listsOfNeighbors)
This function generates a bond order matrix from a given lists of neighbors.
Definition: TopologyUtils.cpp:37
Definition: TopologyUtils.h:25
static int countNeighborsOfElementType(int atomType, const std::vector< std::list< int >> &listsOfNeighbors, Utils::ElementType elementType, const Utils::ElementTypeCollection &elementTypeCollection)
Counts and returns the number of neighbors for atom with index 'atomIndex' that has the given element...
Definition: TopologyUtils.cpp:95