seams-core v2.6.0
libyodaLib, the C++ engine of d-SEAMS
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
cage_enum.hpp
Go to the documentation of this file.
1
//-----------------------------------------------------------------------------------
2
// d-SEAMS - Deferred Structural Elucidation Analysis for Molecular Simulations
3
// SPDX-License-Identifier: MIT
4
//-----------------------------------------------------------------------------------
5
#ifndef SEAMS_CAGE_ENUM_H_
6
#define SEAMS_CAGE_ENUM_H_
7
8
#include <
cage.hpp
>
9
10
#include <string>
11
#include <vector>
12
25
namespace
cage
{
26
28
struct
FoundCage
{
29
Signature
signature
;
30
std::vector<int>
faces
;
31
std::vector<int>
vertices
;
32
std::string
certificate
;
33
bool
closed
=
true
;
34
int
danglingEdges
= 0;
35
};
36
39
bool
isClosedPolyhedron
(
const
std::vector<std::vector<int>> &rings,
40
const
std::vector<int> &faces);
41
47
std::vector<FoundCage>
48
findBySignature
(
const
std::vector<std::vector<int>> &rings,
49
const
Signature
&signature);
50
53
std::vector<FoundCage>
54
findBySignature
(
const
std::vector<std::vector<int>> &rings,
55
const
std::vector<std::vector<int>> &nList,
56
const
Signature
&signature);
57
63
std::vector<FoundCage>
64
findIncompleteBySignature
(
const
std::vector<std::vector<int>> &rings,
65
const
Signature
&signature,
int
minFaces);
66
67
}
// namespace cage
68
69
#endif
// SEAMS_CAGE_ENUM_H_
cage.hpp
File for cage types for topological network criteria.
cage
Functions for topological network criteria cage types.
Definition
cage.hpp:47
cage::findIncompleteBySignature
std::vector< FoundCage > findIncompleteBySignature(const std::vector< std::vector< int > > &rings, const Signature &signature, int minFaces)
Connected face sets that stay inside the signature budget, have at least minFaces faces,...
cage::isClosedPolyhedron
bool isClosedPolyhedron(const std::vector< std::vector< int > > &rings, const std::vector< int > &faces)
True when every edge of the listed faces is used by exactly two of those faces.
cage::findBySignature
std::vector< FoundCage > findBySignature(const std::vector< std::vector< int > > &rings, const Signature &signature)
Face-sharing rings whose size census equals signature and whose edges close.
cage::FoundCage
One cage matching a signature, closed or incomplete.
Definition
cage_enum.hpp:28
cage::FoundCage::faces
std::vector< int > faces
ring indices into the input vector
Definition
cage_enum.hpp:30
cage::FoundCage::signature
Signature signature
Definition
cage_enum.hpp:29
cage::FoundCage::certificate
std::string certificate
nauty hex, empty when nauty is off
Definition
cage_enum.hpp:32
cage::FoundCage::danglingEdges
int danglingEdges
edges used once (cups / incomplete)
Definition
cage_enum.hpp:34
cage::FoundCage::closed
bool closed
every face edge used twice
Definition
cage_enum.hpp:33
cage::FoundCage::vertices
std::vector< int > vertices
sorted unique atom indices
Definition
cage_enum.hpp:31
cage::Signature
Ring-size census of a polyhedral cage: size -> number of faces.
Definition
cage.hpp:71
src
include
internal
cage_enum.hpp
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf