25 typedef __int32 int32_t;
26 typedef unsigned __int32 uint32_t;
27 typedef __int64 int64_t;
28 typedef unsigned __int64 uint64_t;
73 bool operator < (
const KeyIndex& a)
const
98 size_t m_iMaxParticleNum;
105 const double *m_vCoordX;
109 const double *m_vCoordY;
113 const double *m_vCoordZ;
118 int m_iTotalNumberOfParticles;
141 int m_iLinearSearchDepth;
147 double m_dBoundingBox_min_x ;
152 double m_dBoundingBox_max_x ;
157 double m_dBoundingBox_min_y ;
162 double m_dBoundingBox_max_y ;
167 double m_dBoundingBox_min_z ;
172 double m_dBoundingBox_max_z ;
210 int* m_vFirstParticleIndex;
216 int* m_vNumberOfContainedParticles;
224 int* m_vFirstChildIndex;
231 int* m_vNumberOfChildren;
236 double* m_vLowerLimitOfX;
241 double* m_vLowerLimitOfY;
246 double* m_vLowerLimitOfZ;
251 double* m_vUpperLimitOfX;
256 double* m_vUpperLimitOfY;
261 double* m_vUpperLimitOfZ;
268 Octree(
int treedepth,
size_t maxParticleNum);
276 int buildOctree(
const double* x,
const double* y,
const double* z,
size_t numParticles);
279 int searchNeighbor(
const double search_x,
const double search_y,
const double search_z,
const double radius,
int* result,
size_t& result_length);
281 int searchNeighbor(
const double search_x,
const double search_y,
const double search_z,
const double radius,
SearchResult* result,
size_t& result_length);
287 inline uint32_t computeKey(
const double& x,
const double& y,
const double& z);
293 #endif // __OCTREE_H__
This struct contains the morton key and the index of a particle. a vector of such structs is then sor...
Definition: octree.h:69
int index
Definition: octree.h:54
This class contains the Octree data structure and algorithm for nearest neighbour search of particles...
Definition: octree.h:94
A simple struct for the neighbour search result.
Definition: octree.h:52
double distance
The distance between the target particle and its neighbour.
Definition: octree.h:53