~ubuntu-branches/ubuntu/trusty/travis/trusty

« back to all changes in this revision

Viewing changes to src/cluster.h

  • Committer: Package Import Robot
  • Author(s): Daniel Leidert
  • Date: 2013-12-13 23:35:55 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20131213233555-4o11bd1ybycqh0l7
Tags: 131115-1
* New upstream release.
* debian/control (Standards-Version): Bumped to 3.9.5.

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
#include "random.h"
36
36
 
37
37
CxVector3 FoldVector(CxVector3 v);
 
38
extern CxObArray g_oaSingleMolecules;
 
39
extern CxObArray g_oaMolecules;
 
40
extern CxIntArray g_laAtomSMIndex;
38
41
 
 
42
class CClusterAnalysis;
39
43
 
40
44
class CClusterNode : public CxObject
41
45
{
58
62
};
59
63
 
60
64
 
 
65
class CExtendedCluster : public CxObject
 
66
{
 
67
public:
 
68
        bool IsHydrogenBond(int i1, int i2);
 
69
        int CountDifferentAtomCodesUndir();
 
70
        int CountDifferentAtomCodes();
 
71
        void BuildAtomCodesUndir();
 
72
        void BuildAtomCodes();
 
73
        void CreateFrom(CClusterNode *n, CTimeStep *ts, CClusterAnalysis *ca, bool wrap);
 
74
        CExtendedCluster();
 
75
        ~CExtendedCluster();
 
76
 
 
77
        int m_iClusterIndex;
 
78
        int m_iIndex;
 
79
        int m_iInterBonds;
 
80
        int m_iMonomers;
 
81
        int m_iCount;
 
82
        int m_iCountUndir;
 
83
        double m_fSignificance;
 
84
        double m_fSignificanceUndir;
 
85
        CxIntArray m_iaAtoms;
 
86
        CxObArray m_oaBonds;
 
87
        CxObArray m_oaRelBonds;
 
88
        CxIntArray m_iaMonomerSM;
 
89
        CxObArray m_oaRelBondsUndir;
 
90
        CxDoubleArray m_faAtomCodes;
 
91
        CxDoubleArray m_faTempAtomCodes;
 
92
        CxDoubleArray m_faAtomCodesUndir;
 
93
        CxDoubleArray m_faTempAtomCodesUndir;
 
94
        CxDoubleArray m_faCountAC;
 
95
};
 
96
 
 
97
 
61
98
class CClusterAnalysis : public CxObject
62
99
{
63
100
public:
 
101
        bool m_bVoroMetric;
 
102
        void REC_DumpAgr(CClusterNode *n, CGrace *g, int ec, unsigned long color);
 
103
        unsigned int POVColorFunction(int i);
 
104
        void WriteClusterXYZ(CClusterNode *n, CTimeStep *ts, FILE *a);
 
105
        void RenderStepPOV(CTimeStep *ts, const char *s);
 
106
        void REC_IsConnected(CExtendedCluster *ec, int i);
 
107
        bool IsConnected(CExtendedCluster *ec);
 
108
        void RenderFormula(const char *s);
 
109
        void DumpAtomDOT(CExtendedCluster *ec, const char *s);
 
110
        void DumpSchematicDirectedDOT(CExtendedCluster *ec, const char *s);
 
111
        void DumpSchematicUndirectedDOT(CExtendedCluster *ec, const char *s);
 
112
        bool AddToClusterTopo(CExtendedCluster *ec, int *i);
 
113
        bool AddToClusterTopoUndir(CExtendedCluster *ec, int *i);
64
114
        void WriteOutput(const char *multibuf);
65
115
        void BuildClusterDistribution();
66
116
        void BuildDistCache(CTimeStep *ts);
98
148
        }
99
149
 
100
150
 
 
151
        inline int MassCenter(int i)
 
152
        {
 
153
                return ((CxIntArray*)((CSingleMolecule*)g_oaSingleMolecules[g_laAtomSMIndex[i]])->m_oaAtomOffset[((CSingleMolecule*)g_oaSingleMolecules[g_laAtomSMIndex[i]])->m_oaAtomOffset.GetSize()-1])->GetAt(1);
 
154
        }
 
155
 
 
156
 
 
157
        bool m_bCOMTrick;
 
158
        bool m_bPOVDiagram;
 
159
        int m_iPOVMonomersMin;
 
160
        int m_iPOVMonomersMax;
 
161
        float m_fPOVAngleIncrement;
 
162
        float m_fPOVAngle;
 
163
        int m_iPOVColCount;
 
164
        int m_iPOVFrameCounter;
 
165
        CxObArray m_oaPOVSMColorHistory;
 
166
        FILE *m_fPOVScript;
 
167
        CxObArray m_oaPOVExtendedCluster;
 
168
        CxIntArray m_iaPOVSMColor;
 
169
        CxIntArray m_iaPOVSMCluster;
 
170
        bool m_bPOVTrajectory;
 
171
        bool m_bClusterTopoTrajectories;
 
172
        CxIntArray m_iaConnectedBuffer;
 
173
        bool m_bSelectBonds;
 
174
        CxIntArray m_iaAtomBondFrom;
 
175
        CxIntArray m_iaAtomBondTo;
 
176
        int m_iClusterTopoTries;
 
177
        CxIntArray m_iaClusterTopoSMTemp;
 
178
        CxObArray m_oaClusterTopo;
 
179
        CxObArray m_oaClusterTopoUndir;
 
180
        bool m_bClusterTopoAllBonds;
 
181
        bool m_bClusterTopoDrawAtom;
 
182
        bool m_bClusterTopoDrawDirected;
 
183
        bool m_bClusterTopoDrawUndirected;
 
184
        float m_fClusterTopoHBThres;
 
185
        float m_fClusterTopoDispThres;
 
186
        CxIntArray m_iaClusterTopoMolColor;
 
187
        bool m_bClusterTopo;
 
188
        int m_iClusterTopoMax;
101
189
        int m_iCounter;
102
190
        int m_iMolecule;
103
191
        CxObArray m_oaAtomGroups;
158
246
        FILE **m_pCutClusterFiles;
159
247
 
160
248
        CRandom *m_pRandom;
 
249
 
161
250
};
162
251
 
163
252
#endif