Changes in src/linkedcell.hpp [0f4538:8cd903]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/linkedcell.hpp
r0f4538 r8cd903 1 /* 2 * linkedcell.hpp 3 * 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 well 5 * for molecule and atom classes. 6 * 7 * Created on: Aug 3, 2009 8 * Author: heber 9 */ 10 1 11 #ifndef LINKEDCELL_HPP_ 2 12 #define LINKEDCELL_HPP_ 13 14 using namespace std; 3 15 4 16 // include config.h … … 7 19 #endif 8 20 9 #include "molecules.hpp"21 #include <list> 10 22 11 #define LinkedAtoms list <atom *> 23 #include "defs.hpp" 24 #include "helpers.hpp" 25 #include "vector.hpp" 12 26 27 class TesselPoint; 28 class PointCloud; 29 30 #define LinkedNodes list<TesselPoint *> 31 32 /** Linked Cell class for containing Vectors in real space efficiently. 33 */ 13 34 class LinkedCell { 14 15 Vector max;// upper boundary16 Vector min;// lower boundary17 LinkedAtoms *LC;// linked cell list18 double RADIUS;// cell edge length19 int N[NDIM];// number of cells per axis20 int n[NDIM];// temporary variable for current cell per axis21 int index;// temporary index variable , access by index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2];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]; 22 43 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); 44 LinkedCell(); 45 LinkedCell(PointCloud *set, double RADIUS); 46 LinkedCell(LinkedNodes *set, double radius); 47 ~LinkedCell(); 48 LinkedNodes* GetCurrentCell(); 49 bool SetIndexToNode(const TesselPoint *Walker); 50 bool SetIndexToVector(const Vector *x); 51 bool CheckBounds(); 29 52 void GetNeighbourBounds(int lower[NDIM], int upper[NDIM]); 30 bool CheckBounds();31 53 32 33 bool AddAtom(atom*Walker);34 bool DeleteAtom(atom*Walker);35 bool MoveAtom(atom*Walker);54 // not implemented yet 55 bool AddNode(Vector *Walker); 56 bool DeleteNode(Vector *Walker); 57 bool MoveNode(Vector *Walker); 36 58 }; 37 59
Note:
See TracChangeset
for help on using the changeset viewer.