Loading...
Searching...
No Matches
match Namespace Reference

Functions

bool matchPrism (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const 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)
bool matchUntetheredPrism (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const Eigen::MatrixXd &refPoints, std::vector< int > &basal1, std::vector< int > &basal2, std::vector< double > &rmsdPerAtom)
bool matchPrismBlock (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const Eigen::MatrixXd &refPoints, std::vector< int > &basal1, std::vector< int > &basal2, int &beginIndex)
int updatePerAtomRMSDRing (const std::vector< int > &basalRing, int startingIndex, const std::vector< double > &rmsdFromMatch, std::vector< double > &rmsdPerAtom)
 Update the per-particle RMSD for a prism block basal ring.
int updateRMSDRing (const std::vector< int > &basalRing, int startingIndex, double rmsdVal, std::vector< double > &rmsdPerAtom)

Function Documentation

◆ matchPrism()

bool match::matchPrism ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const 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 )

Shape-matching for a pair of polygon basal rings. Returns true if the pair of basal rings form a prism block.

◆ matchPrismBlock()

bool match::matchPrismBlock ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & nList,
const Eigen::MatrixXd & refPoints,
std::vector< int > & basal1,
std::vector< int > & basal2,
int & beginIndex )

Shape-matching for a pair of polygon basal rings, comparing with a complete prism block. Returns true if the pair of basal rings form a prism block.

◆ matchUntetheredPrism()

bool match::matchUntetheredPrism ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & nList,
const Eigen::MatrixXd & refPoints,
std::vector< int > & basal1,
std::vector< int > & basal2,
std::vector< double > & rmsdPerAtom )

Shape-matching for a pair of polygon basal rings. Returns true if the pair of basal rings form a prism block.

◆ updatePerAtomRMSDRing()

int match::updatePerAtomRMSDRing ( const std::vector< int > & basalRing,
int startingIndex,
const std::vector< double > & rmsdFromMatch,
std::vector< double > & rmsdPerAtom )
nodiscard

Update the per-particle RMSD for a prism block basal ring.

◆ updateRMSDRing()

int match::updateRMSDRing ( const std::vector< int > & basalRing,
int startingIndex,
double rmsdVal,
std::vector< double > & rmsdPerAtom )
nodiscard

Update the RMSD of each particle in a prism block basal ring with the RMSD of the ring.