15#ifndef __TOPO_ONE_DIM_H_
16#define __TOPO_ONE_DIM_H_
52 std::vector<std::vector<int>> rings, std::vector<strucType> *ringType,
53 int *nPerfectPrisms,
int *nImperfectPrisms,
54 std::vector<std::vector<int>> nList,
56 std::vector<double> *rmsdPerAtom,
bool doShapeMatching =
false);
61 std::vector<int> *basal1, std::vector<int> *basal2);
66 std::vector<int> *basal1, std::vector<int> *basal2);
71 std::vector<int> *basal1, std::vector<int> *basal2,
76 std::vector<std::vector<int>> rings,
81int prismAnalysis(std::string path, std::vector<std::vector<int>> rings,
82 std::vector<std::vector<int>> nList,
84 int maxDepth,
int *atomID,
int firstFrame,
int currentFrame,
85 bool doShapeMatching =
false);
90 std::vector<int> listPrism,
int ringSize,
91 std::vector<ring::strucType> ringType,
92 std::vector<int> *atomTypes,
93 std::vector<ring::strucType> *atomState);
97 std::vector<int> *atomTypes,
int maxDepth);
102 int firstFrame,
int currentFrame);
int deformedPrismTypes(std::vector< ring::strucType > atomState, std::vector< int > *atomTypes, int maxDepth)
Get the atom type values for deformed prisms.
bool discardExtraTetragonBlocks(std::vector< int > *basal1, std::vector< int > *basal2, molSys::PointCloud< molSys::Point< double >, double > *yCloud)
int prismAnalysis(std::string path, std::vector< std::vector< int > > rings, std::vector< std::vector< int > > nList, molSys::PointCloud< molSys::Point< double >, double > *yCloud, int maxDepth, int *atomID, int firstFrame, int currentFrame, bool doShapeMatching=false)
int rmAxialTranslations(molSys::PointCloud< molSys::Point< double >, double > *yCloud, int *atomID, int firstFrame, int currentFrame)
Shift the entire ice nanotube and remove axial translations.
int assignPrismType(std::vector< std::vector< int > > rings, std::vector< int > listPrism, int ringSize, std::vector< ring::strucType > ringType, std::vector< int > *atomTypes, std::vector< ring::strucType > *atomState)
std::vector< std::vector< int > > keepAxialRingsOnly(std::vector< std::vector< int > > rings, molSys::PointCloud< molSys::Point< double >, double > *yCloud)
Saves only axial rings out of all possible rings.
bool relaxedPrismConditions(std::vector< std::vector< int > > nList, std::vector< int > *basal1, std::vector< int > *basal2)
bool basalPrismConditions(std::vector< std::vector< int > > nList, std::vector< int > *basal1, std::vector< int > *basal2)
std::vector< int > findPrisms(std::vector< std::vector< int > > rings, std::vector< strucType > *ringType, int *nPerfectPrisms, int *nImperfectPrisms, std::vector< std::vector< int > > nList, molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< double > *rmsdPerAtom, bool doShapeMatching=false)
The main molecular system handler.
Topological network criteria functions.
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.