FiberVISH
0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
fiber
grid
types
MDHistory.hpp
1
#ifndef __FIBER_GRID_TYPES_MDHISTORY
2
#define __FIBER_GRID_TYPES_MDHISTORY
3
4
#include <
algorithm
>
5
6
#include "Edges.hpp"
7
#include "GridWithCartesianVertices.hpp"
8
9
using namespace
Eagle::PhysicalSpace
;
10
using namespace
std
;
11
12
namespace
Fiber
13
{
14
18
class
gridtypes_API
MDHistory
:
public
GridWithCartesianVertices
19
,
public
Edges
20
{
21
public
:
22
typedef
uint16_t
AtomType_t
;
23
24
RefPtr<Skeleton>
DihedralSkeleton;
25
RefPtr<Representation>
DihedralsAsVertices;
26
RefPtr<Field>
DihedralPositions;
27
28
RefPtr<Field>
AtomTypes;
29
30
MDHistory
(
const
RefPtr<Grid>
&grid )
31
:
GridWithCartesianVertices
( grid )
32
,
Edges
( grid )
33
{
34
assign( grid );
35
}
36
37
bool
assign(
const
RefPtr<Grid>
&theGrid );
38
bool
isValid();
39
40
RefPtr<MemArray<1, Dihedral_t>
> getDihedrals(
const
RefPtr<FragmentID>
& frag =
NullPtr
() );
41
42
void
getAtomTypeNames(
std::vector<string>
&
names
,
const
RefPtr<FragmentID>
& frag =
NullPtr
() )
const
;
43
44
static
SkeletonID
getDihedralSkeletonID();
45
static
RefPtr<Field>
createDihedralPositionsField(
const
RefPtr<Grid>
& grid );
46
47
void
extractChains(
const
std::vector<string>
&
atom_filter
,
unsigned
mindepth
,
unsigned
maxdepth
,
std::vector
<
std::list<uint32_t>
>&
AllChains
,
48
std::vector<string>
&
dict_arr
,
MultiArray<1, MDHistory::AtomType_t>
&
type_arr
,
MultiArray<1, EdgeCell32>
&
edge_arr
)
const
;
49
50
void
recursiveChainFinder(
std::list<uint32_t>
&
chain
,
const
std::vector
<
std::list<uint32_t>
>& neighbors,
51
std::vector
<
std::list<uint32_t>
>&
AllChains
,
unsigned
mindepth
,
unsigned
maxdepth
,
52
std::vector<string>
&
dict_arr
,
MultiArray<1, MDHistory::AtomType_t>
&
type_arr
,
53
const
std::vector<string>
&
atom_filter
)
const
;
54
55
void
extractSingleCluster(
uint32_t
root
,
const
std::vector<string>
&
atom_filter
,
unsigned
maxdepth
,
std::list<uint32_t>
&
cluster
,
56
std::vector<string>
&
dict_arr
,
MultiArray<1, MDHistory::AtomType_t>
&
type_arr
,
MultiArray<1, EdgeCell32>
&
edge_arr
)
const
;
57
58
void
recursiveClusterFinder(
std::list<uint32_t>
&
cluster
,
uint32_t
node
,
const
std::vector
<
std::list<uint32_t>
>& neighbors,
59
unsigned
maxdepth
,
std::vector<string>
&
dict_arr
,
MultiArray<1, MDHistory::AtomType_t>
&
type_arr
,
60
const
std::vector<string>
&
atom_filter
)
const
;
61
62
63
template
<
class
T,
class
C>
64
bool
isMember(
const
T& str,
const
C&
atom_filter
)
const
65
{
66
//usage example: isMember<string,std::vector<string>>(dict_arr[type_arr[AllSiblings[i]]],atom_filter)
67
return
(
find
(
atom_filter
.begin(),
atom_filter
.end(),str) !=
atom_filter
.end());
68
}
69
70
71
72
};
73
74
75
}
76
77
78
79
#endif
algorithm
std::find
constexpr _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp &__val)
std::list
std::vector
Fiber::CreativeIterator
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition
CreativeIterator.hpp:34
Fiber::Edges
Identify the edges on a skeleton within a Grid.
Definition
Edges.hpp:35
Fiber::MDHistory
A convenience grid type for molecules.
Definition
MDHistory.hpp:20
Fiber::SkeletonID
Identifier for Skeletons within a Grid.
Definition
SkeletonID.hpp:24
Eagle::PhysicalSpace
Fiber
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition
FAQ.dox:2
MemCore::NullPtr
std::nullptr_t NullPtr
std
STL namespace.
Fiber::GridWithCartesianVertices
Definition
GridWithCartesianVertices.hpp:11
Generated on Sun Mar 1 2026 10:23:09 for FiberVISH by
1.9.8