Changes in src/linkedcell.hpp [357fba:0f4538]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/linkedcell.hpp
r357fba r0f4538 1 /*2 * linkedcell.hpp3 *4 * If the linked cell should be usable, the class has to inherit LCNodeSet and the nodes (containing the Vectors) have to inherit LCNode. This works well5 * for molecule and atom classes.6 *7 * Created on: Aug 3, 20098 * Author: heber9 */10 11 1 #ifndef LINKEDCELL_HPP_ 12 2 #define LINKEDCELL_HPP_ 13 14 using namespace std;15 3 16 4 // include config.h … … 19 7 #endif 20 8 21 #include <list>9 #include "molecules.hpp" 22 10 23 #include "defs.hpp" 24 #include "helpers.hpp" 25 #include "vector.hpp" 11 #define LinkedAtoms list <atom *> 26 12 27 class TesselPoint; 28 class PointCloud; 13 class LinkedCell { 14 public: 15 Vector max; // upper boundary 16 Vector min; // lower boundary 17 LinkedAtoms *LC; // linked cell list 18 double RADIUS; // cell edge length 19 int N[NDIM]; // number of cells per axis 20 int n[NDIM]; // temporary variable for current cell per axis 21 int index; // temporary index variable , access by index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2]; 29 22 30 #define LinkedNodes list<TesselPoint *> 23 LinkedCell(); 24 LinkedCell(molecule *mol, double RADIUS); 25 ~LinkedCell(); 26 LinkedAtoms* GetCurrentCell(); 27 bool SetIndexToAtom(const atom &Walker); 28 bool SetIndexToVector(const Vector *x); 29 void GetNeighbourBounds(int lower[NDIM], int upper[NDIM]); 30 bool CheckBounds(); 31 31 32 /** Linked Cell class for containing Vectors in real space efficiently. 33 */ 34 class LinkedCell { 35 public: 36 Vector max; // upper boundary 37 Vector min; // lower boundary 38 LinkedNodes *LC; // linked cell list 39 double RADIUS; // cell edge length 40 int N[NDIM]; // number of cells per axis 41 int n[NDIM]; // temporary variable for current cell per axis 42 int index; // temporary index variable , access by index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2]; 43 44 LinkedCell(); 45 LinkedCell(PointCloud *set, double RADIUS); 46 ~LinkedCell(); 47 LinkedNodes* GetCurrentCell(); 48 bool SetIndexToNode(TesselPoint *Walker); 49 bool SetIndexToVector(Vector *x); 50 bool CheckBounds(); 51 52 // not implemented yet 53 bool AddNode(Vector *Walker); 54 bool DeleteNode(Vector *Walker); 55 bool MoveNode(Vector *Walker); 32 // not implemented yet 33 bool AddAtom(atom *Walker); 34 bool DeleteAtom(atom *Walker); 35 bool MoveAtom(atom *Walker); 56 36 }; 57 37
Note:
See TracChangeset
for help on using the changeset viewer.