Functions | |
Eigen::MatrixXd | getPointSetRefRing (int n, int axialDim) |
Eigen::MatrixXd | createPrismBlock (molSys::PointCloud< molSys::Point< double >, double > *yCloud, const Eigen::MatrixXd &refPoints, int ringSize, std::vector< int > basal1, std::vector< int > basal2) |
double | getRadiusFromRings (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2) |
double | getAvgHeightPrismBlock (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2) |
int | relOrderPrismBlock (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2, std::vector< std::vector< int >> nList, std::vector< int > *outBasal1, std::vector< int > *outBasal2) |
int | relOrderPrismBlock (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2, std::vector< int > *outBasal1, std::vector< int > *outBasal2) |
Eigen::MatrixXd | fillPointSetPrismRing (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basalRing, int startingIndex) |
Eigen::MatrixXd | fillPointSetPrismBlock (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2, int startingIndex) |
Eigen::MatrixXd | getPointSetCage (ring::strucType type) |
int | relOrderHC (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2, std::vector< std::vector< int >> nList, std::vector< int > *matchedBasal1, std::vector< int > *matchedBasal2) |
Matches the order of the basal rings of an HC or a potential HC. More... | |
std::vector< int > | relOrderDDC (int index, std::vector< std::vector< int >> rings, std::vector< cage::Cage > cageList) |
Matches the order of the basal rings of an DDC or a potential HC. More... | |
Eigen::MatrixXd | changeHexCageOrder (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2, int startingIndex=0) |
Eigen::MatrixXd | changeDiaCageOrder (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > ddcOrder, int startingIndex=0) |
Eigen::MatrixXd pntToPnt::changeDiaCageOrder | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | ddcOrder, | ||
int | startingIndex = 0 |
||
) |
Fills up an eigen matrix point set using information of the equatorial ring and peripheral rings, embedded in a vector, already filled in relOrderDDC.
Fills up an eigen matrix point set using information of the equatorial ring and peripheral rings, embedded in a vector, already filled in relOrderDDC. The order is such that the next three atoms in the vector are the first nearest neighbours in the peripheral rings of one triplet (peripheral1), followed by apex1, and three nearest neighbours of the other triplet, followed by apex2. Basically: ((6 equatorial ring atoms), (3 nearest neighbours of [l1,l3,l5] in the peripheral rings), (1 second shell neighbour of [l1,l3,l5]), (first nearest neighbours of [l2,l4,l6]), (second nearest neighbour of [l2,l4,l6]) )
Thus, when you want to change the order of the DDC, this is how the order should be wrapped:
Definition at line 1042 of file pntCorrespondence.cpp.
Eigen::MatrixXd pntToPnt::changeHexCageOrder | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basal1, | ||
std::vector< int > | basal2, | ||
int | startingIndex = 0 |
||
) |
Fills up an eigen matrix point set using the basal rings basal1 and basal2, changing the order of the point set by filling up from the startingIndex (starting from 0 to 5)
Definition at line 740 of file pntCorrespondence.cpp.
Eigen::MatrixXd pntToPnt::createPrismBlock | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
const Eigen::MatrixXd & | refPoints, | ||
int | ringSize, | ||
std::vector< int > | basal1, | ||
std::vector< int > | basal2 | ||
) |
Creates an eigen matrix for the points of a prism block, constructed from the points of a perfect polygon of radius 1, given the basal rings and axial dimension
Definition at line 56 of file pntCorrespondence.cpp.
Eigen::MatrixXd pntToPnt::fillPointSetPrismBlock | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basal1, | ||
std::vector< int > | basal2, | ||
int | startingIndex | ||
) |
Fill up an Eigen matrix of a prism block (two basal rings) from input vectors for the basal rings
Fill up an Eigen Matrix for a prism block from input vectors of atom indices of the basal rings
Definition at line 508 of file pntCorrespondence.cpp.
Eigen::MatrixXd pntToPnt::fillPointSetPrismRing | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basalRing, | ||
int | startingIndex | ||
) |
Fill up an Eigen Matrix of a prism basal ring from an input vector of atom indices
Fill up an Eigen Matrix for a prism basal ring from an input vector of atom indices
Definition at line 464 of file pntCorrespondence.cpp.
double pntToPnt::getAvgHeightPrismBlock | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basal1, | ||
std::vector< int > | basal2 | ||
) |
Calculate the average height of the prism block, calculated using the basal rings of the prism and the axial dimension
Definition at line 171 of file pntCorrespondence.cpp.
Eigen::MatrixXd pntToPnt::getPointSetCage | ( | ring::strucType | type | ) |
Fills up an eigen matrix point set a reference ring, which is a regular n-gonal polygon, constructed with radius 1 by default; where n is the number of nodes in the ring
REFERENCE POINT SETS FOR BULK ICES Fills up an eigen matrix point set for a reference cage, saved in the templates folder relative to the top-level directory NOT NEEDED MAYBE
Definition at line 568 of file pntCorrespondence.cpp.
Eigen::MatrixXd pntToPnt::getPointSetRefRing | ( | int | n, |
int | axialDim | ||
) |
Fills up an eigen matrix point set a reference ring, which is a regular n-gonal polygon; where n is the number of nodes in the ring
Fills up an eigen matrix point set a reference ring, which is a regular n-gonal polygon, constructed with radius 1 by default; where n is the number of nodes in the ring
Definition at line 22 of file pntCorrespondence.cpp.
double pntToPnt::getRadiusFromRings | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basal1, | ||
std::vector< int > | basal2 | ||
) |
Calculate the average radial distance for the basal rings, calculated from the centroid of each basal ring
Definition at line 111 of file pntCorrespondence.cpp.
std::vector< int > pntToPnt::relOrderDDC | ( | int | index, |
std::vector< std::vector< int >> | rings, | ||
std::vector< cage::Cage > | cageList | ||
) |
Matches the order of the basal rings of an DDC or a potential HC.
Reorders the particles of a DDC into a vector, which contains the atom indices of the DDC particles. Here, index is the index in the cageList vector of structs, referring to a specific DDC. The order created is as follows:
Thus, when you want to change the order of the DDC, this is how the order should be wrapped:
Definition at line 845 of file pntCorrespondence.cpp.
int pntToPnt::relOrderHC | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basal1, | ||
std::vector< int > | basal2, | ||
std::vector< std::vector< int >> | nList, | ||
std::vector< int > * | matchedBasal1, | ||
std::vector< int > * | matchedBasal2 | ||
) |
Matches the order of the basal rings of an HC or a potential HC.
Matches the order of the basal rings of an HC or a potential HC. The goal is to find which elements are bonded to which and the relative order
Definition at line 609 of file pntCorrespondence.cpp.
int pntToPnt::relOrderPrismBlock | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basal1, | ||
std::vector< int > | basal2, | ||
std::vector< int > * | outBasal1, | ||
std::vector< int > * | outBasal2 | ||
) |
Get the relative ordering of a pair of basal rings for a deformed prism/perfect prism. Outputs a vector of vectors of indices, such that the first vector is for the first basal ring, and the second vector is for the second basal ring.
Get the relative ordering of a pair of basal rings for a deformed prism/perfect prism. Outputs a vector of vectors of indices, such that the first vector is for the first basal ring, and the second vector is for the second basal ring. The input neighbour list is with respect to indices, not IDs
Definition at line 337 of file pntCorrespondence.cpp.
int pntToPnt::relOrderPrismBlock | ( | molSys::PointCloud< molSys::Point< double >, double > * | yCloud, |
std::vector< int > | basal1, | ||
std::vector< int > | basal2, | ||
std::vector< std::vector< int >> | nList, | ||
std::vector< int > * | outBasal1, | ||
std::vector< int > * | outBasal2 | ||
) |
Get the relative ordering of a pair of basal rings for a deformed prism/perfect prism. Outputs a vector of vectors of indices, such that the first vector is for the first basal ring, and the second vector is for the second basal ring. The input neighbour list is with respect to indices, not IDs
Definition at line 207 of file pntCorrespondence.cpp.