15#ifndef __SHAPEMATCH_H_
16#define __SHAPEMATCH_H_
42 std::vector<std::vector<int>> nList,
43 const Eigen::MatrixXd &refPoints, std::vector<int> *basal1,
44 std::vector<int> *basal2, std::vector<double> *rmsdPerAtom,
45 bool isPerfect =
true);
51 std::vector<std::vector<int>> nList,
const Eigen::MatrixXd &refPoints,
52 std::vector<int> *basal1, std::vector<int> *basal2,
53 std::vector<double> *rmsdPerAtom);
58 std::vector<std::vector<int>> nList,
59 const Eigen::MatrixXd &refPoints, std::vector<int> *basal1,
60 std::vector<int> *basal2,
int *beginIndex);
64 std::vector<double> rmsdFromMatch,
65 std::vector<double> *rmsdPerAtom);
70 double rmsdVal, std::vector<double> *rmsdPerAtom);
The main molecular system handler.
int updatePerAtomRMSDRing(std::vector< int > basalRing, int startingIndex, std::vector< double > rmsdFromMatch, std::vector< double > *rmsdPerAtom)
Update the per-particle RMSD for a prism block basal ring.
bool matchUntetheredPrism(molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< std::vector< int > > nList, const Eigen::MatrixXd &refPoints, std::vector< int > *basal1, std::vector< int > *basal2, std::vector< double > *rmsdPerAtom)
bool matchPrism(molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< std::vector< int > > nList, const Eigen::MatrixXd &refPoints, std::vector< int > *basal1, std::vector< int > *basal2, std::vector< double > *rmsdPerAtom, bool isPerfect=true)
int updateRMSDRing(std::vector< int > basalRing, int startingIndex, double rmsdVal, std::vector< double > *rmsdPerAtom)
bool matchPrismBlock(molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< std::vector< int > > nList, const Eigen::MatrixXd &refPoints, std::vector< int > *basal1, std::vector< int > *basal2, int *beginIndex)
File containing common functions used by bulk and confined topological network critera.
This contains a collection of points; contains information for a particular frame.
This contains per-particle information.