seams-core v2.6.0
libyodaLib, the C++ engine of d-SEAMS
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
shapeMatch.hpp
Go to the documentation of this file.
1
//-----------------------------------------------------------------------------------
2
// d-SEAMS - Deferred Structural Elucidation Analysis for Molecular Simulations
3
//
4
// Copyright (c) 2018--present d-SEAMS core team
5
//
6
// This program is free software: you can redistribute it and/or modify
7
// it under the terms of the MIT License as published by
8
// the Open Source Initiative.
9
//
10
// A copy of the MIT License is included in the LICENSE file of this repository.
11
// You should have received a copy of the MIT License along with this program.
12
// If not, see <https://opensource.org/licenses/MIT>.
13
//-----------------------------------------------------------------------------------
14
15
#ifndef SEAMS_SHAPEMATCH_H_
16
#define SEAMS_SHAPEMATCH_H_
17
18
#include <algorithm>
19
#include <array>
20
#include <fstream>
21
#include <iostream>
22
#include <iterator>
23
#include <cmath>
24
#include <memory>
25
#include <sstream>
26
#include <string>
27
#include <vector>
28
29
#include <
absOrientation.hpp
>
30
#include <
mol_sys.hpp
>
31
#include <
pntCorrespondence.hpp
>
32
#include <
ring.hpp
>
33
#include <
seams_input.hpp
>
34
#include <
seams_output.hpp
>
35
36
namespace
match
{
37
40
bool
matchPrism
(
const
molSys::PointCloud
<
molSys::Point<double>
,
double
> &yCloud,
41
const
std::vector<std::vector<int>> &nList,
42
const
Eigen::MatrixXd &refPoints, std::vector<int> &basal1,
43
std::vector<int> &basal2, std::vector<double> &rmsdPerAtom,
44
bool
isPerfect =
true
);
45
48
bool
matchUntetheredPrism
(
49
const
molSys::PointCloud
<
molSys::Point<double>
,
double
> &yCloud,
50
const
std::vector<std::vector<int>> &nList,
const
Eigen::MatrixXd &refPoints,
51
std::vector<int> &basal1, std::vector<int> &basal2,
52
std::vector<double> &rmsdPerAtom);
53
56
bool
matchPrismBlock
(
const
molSys::PointCloud
<
molSys::Point<double>
,
double
> &yCloud,
57
const
std::vector<std::vector<int>> &nList,
58
const
Eigen::MatrixXd &refPoints, std::vector<int> &basal1,
59
std::vector<int> &basal2,
int
&beginIndex);
60
62
[[nodiscard]]
int
updatePerAtomRMSDRing
(
const
std::vector<int> &basalRing,
int
startingIndex,
63
const
std::vector<double> &rmsdFromMatch,
64
std::vector<double> &rmsdPerAtom);
65
68
[[nodiscard]]
int
updateRMSDRing
(
const
std::vector<int> &basalRing,
int
startingIndex,
69
double
rmsdVal, std::vector<double> &rmsdPerAtom);
70
71
}
// namespace match
72
73
#endif
// SEAMS_SHAPEMATCH_H_
absOrientation.hpp
mol_sys.hpp
The main molecular system handler.
match
Definition
shapeMatch.hpp:36
match::matchUntetheredPrism
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)
match::matchPrismBlock
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)
match::updatePerAtomRMSDRing
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.
match::updateRMSDRing
int updateRMSDRing(const std::vector< int > &basalRing, int startingIndex, double rmsdVal, std::vector< double > &rmsdPerAtom)
match::matchPrism
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)
pntCorrespondence.hpp
ring.hpp
File containing common functions used by bulk and confined topological network critera.
seams_input.hpp
File for functions that read in files).
seams_output.hpp
molSys::PointCloud
This contains a collection of points; contains information for a particular frame.
Definition
mol_sys.hpp:173
molSys::Point
This contains per-particle information.
Definition
mol_sys.hpp:152
src
include
internal
shapeMatch.hpp
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf