Changes in src/linkedcell.cpp [952f38:97b825]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/linkedcell.cpp
r952f38 r97b825 21 21 /** Constructor for class LinkedCell. 22 22 */ 23 LinkedCell::LinkedCell() 24 { 25 LC = NULL; 23 LinkedCell::LinkedCell() : 24 LC(NULL), 25 index(-1), 26 RADIUS(0.) 27 { 26 28 for(int i=0;i<NDIM;i++) 27 29 N[i] = 0; 28 index = -1;29 RADIUS = 0.;30 30 max.Zero(); 31 31 min.Zero(); … … 36 36 * \param RADIUS edge length of cells 37 37 */ 38 LinkedCell::LinkedCell(const PointCloud * const set, const double radius) 38 LinkedCell::LinkedCell(const PointCloud * const set, const double radius) : 39 RADIUS(radius), 40 LC(NULL), 41 index(-1) 39 42 { 40 43 TesselPoint *Walker = NULL; 41 44 42 RADIUS = radius;43 LC = NULL;44 45 for(int i=0;i<NDIM;i++) 45 46 N[i] = 0; 46 index = -1;47 47 max.Zero(); 48 48 min.Zero(); … … 56 56 Walker = set->GetPoint(); 57 57 for (int i=0;i<NDIM;i++) { 58 max[i] = Walker-> node->at(i);59 min[i] = Walker-> node->at(i);58 max[i] = Walker->at(i); 59 min[i] = Walker->at(i); 60 60 } 61 61 set->GoToFirst(); … … 63 63 Walker = set->GetPoint(); 64 64 for (int i=0;i<NDIM;i++) { 65 if (max[i] < Walker-> node->at(i))66 max[i] = Walker-> node->at(i);67 if (min[i] > Walker-> node->at(i))68 min[i] = Walker-> node->at(i);65 if (max[i] < Walker->at(i)) 66 max[i] = Walker->at(i); 67 if (min[i] > Walker->at(i)) 68 min[i] = Walker->at(i); 69 69 } 70 70 set->GoToNext(); … … 96 96 Walker = set->GetPoint(); 97 97 for (int i=0;i<NDIM;i++) { 98 n[i] = static_cast<int>(floor((Walker-> node->at(i) - min[i])/RADIUS));98 n[i] = static_cast<int>(floor((Walker->at(i) - min[i])/RADIUS)); 99 99 } 100 100 index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2]; … … 112 112 * \param RADIUS edge length of cells 113 113 */ 114 LinkedCell::LinkedCell(LinkedNodes *set, const double radius) 114 LinkedCell::LinkedCell(LinkedNodes *set, const double radius) : 115 RADIUS(radius), 116 LC(NULL), 117 index(-1) 115 118 { 116 119 class TesselPoint *Walker = NULL; 117 RADIUS = radius;118 LC = NULL;119 120 for(int i=0;i<NDIM;i++) 120 121 N[i] = 0; 121 index = -1;122 122 max.Zero(); 123 123 min.Zero(); … … 130 130 LinkedNodes::iterator Runner = set->begin(); 131 131 for (int i=0;i<NDIM;i++) { 132 max[i] = (*Runner)-> node->at(i);133 min[i] = (*Runner)-> node->at(i);132 max[i] = (*Runner)->at(i); 133 min[i] = (*Runner)->at(i); 134 134 } 135 135 for (LinkedNodes::iterator Runner = set->begin(); Runner != set->end(); Runner++) { 136 136 Walker = *Runner; 137 137 for (int i=0;i<NDIM;i++) { 138 if (max[i] < Walker-> node->at(i))139 max[i] = Walker-> node->at(i);140 if (min[i] > Walker-> node->at(i))141 min[i] = Walker-> node->at(i);138 if (max[i] < Walker->at(i)) 139 max[i] = Walker->at(i); 140 if (min[i] > Walker->at(i)) 141 min[i] = Walker->at(i); 142 142 } 143 143 } … … 167 167 Walker = *Runner; 168 168 for (int i=0;i<NDIM;i++) { 169 n[i] = static_cast<int>(floor((Walker-> node->at(i) - min[i])/RADIUS));169 n[i] = static_cast<int>(floor((Walker->at(i) - min[i])/RADIUS)); 170 170 } 171 171 index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2]; … … 248 248 * \return Vector is inside bounding box - true, else - false 249 249 */ 250 bool LinkedCell::SetIndexToVector(const Vector * constx) const250 bool LinkedCell::SetIndexToVector(const Vector & x) const 251 251 { 252 252 for (int i=0;i<NDIM;i++) 253 n[i] = (int)floor((x ->at(i) - min[i])/RADIUS);253 n[i] = (int)floor((x.at(i) - min[i])/RADIUS); 254 254 255 255 return CheckBounds(); … … 264 264 bool status = false; 265 265 for (int i=0;i<NDIM;i++) { 266 n[i] = static_cast<int>(floor((Walker-> node->at(i) - min[i])/RADIUS));266 n[i] = static_cast<int>(floor((Walker->at(i) - min[i])/RADIUS)); 267 267 } 268 268 index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2]; … … 404 404 Walker = *Runner; 405 405 //Log() << Verbose(1) << "Current neighbour is at " << *Walker->node << "." << endl; 406 if (( center->DistanceSquared(*Walker->node) - radiusSquared) < MYEPSILON) {406 if ((Walker->DistanceSquared(*center) - radiusSquared) < MYEPSILON) { 407 407 TesselList->push_back(Walker); 408 408 }
Note:
See TracChangeset
for help on using the changeset viewer.