1 #if defined(__unix__) || defined(__linux__) || defined(__APPLE__) || defined(__MACH__)     5 #if defined(__APPLE__) || defined(__MACH__)    19 #define API __declspec(dllexport)    25 int clamp(
int x, 
int minV, 
int maxV) {
    26     return max(minV, max(x, minV));
    30     return std::max(maxVal.
x - minVal.
x, std::max(maxVal.
y - minVal.
y, maxVal.
z - minVal.
z)) + (2 * maxAtomRad);
    39     res.
x = (int)( (pos3D.
x - originGrid.
x) / dx);
    40     res.
y = (int)( (pos3D.
y - originGrid.
y) / dx);
    41     res.
z = (int)( (pos3D.
z - originGrid.
z) / dx);
    47     res.
x = originGrid.
x + cellPos.
x * dx;
    48     res.
y = originGrid.
y + cellPos.
y * dx;
    49     res.
z = originGrid.
z + cellPos.
z * dx;
    55     return (gridDim.
y * gridDim.
z * id3d.
x) + (gridDim.
z * id3d.
y) + id3d.
z;
    61     res.
x = index / (gridDim.
y * gridDim.
z); 
    62     res.
y = (index - res.
x * gridDim.
y * gridDim.
z) / gridDim.
z; 
    63     res.
z = index - res.
x * gridDim.
y * gridDim.
z - res.
y * gridDim.
z; 
    68     float x = (p1.
x - p2.
x) * (p1.
x - p2.
x);
    69     float y = (p1.
y - p2.
y) * (p1.
y - p2.
y);
    70     float z = (p1.
z - p2.
z) * (p1.
z - p2.
z);
    87     vmin.
x = vmin.
y = vmin.
z = 100000.0f;
    88     vmax.
x = vmax.
y = vmax.
z = -100000.0f;
    90     for (
int a = 0; a < N; a++) {
    92         vmin.
x = std::min(vmin.
x, coords.
x);
    93         vmin.
y = std::min(vmin.
y, coords.
y);
    94         vmin.
z = std::min(vmin.
z, coords.
z);
    96         vmax.
x = std::max(vmax.
x, coords.
x);
    97         vmax.
y = std::max(vmax.
y, coords.
y);
    98         vmax.
z = std::max(vmax.
z, coords.
z);
   100         float atomRad = radii[a];
   102         *maxAtom = std::max(*maxAtom, atomRad);
 void getMinMax(float3 *pos, float *radii, unsigned int N, float3 *minVal, float3 *maxVal, float *maxAtom)
Definition: NeighborSearch.hpp:82
 
float z
Definition: MarchingCubes.h:37
 
API void freeMem()
Definition: NeighborSearchLib.cpp:214
 
float computeMaxDist(float3 minVal, float3 maxVal, float maxAtomRad)
Definition: NeighborSearch.hpp:29
 
Definition: MarchingCubes.h:34
 
Definition: MarchingCubes.h:28
 
bool operator()(int2 a, int2 b)
Definition: NeighborSearch.hpp:76
 
Definition: NeighborSearch.hpp:75
 
int clamp(int x, int minV, int maxV)
Definition: NeighborSearch.hpp:25
 
#define API
Definition: NeighborSearch.hpp:19
 
float sqr_distance(float3 p1, float3 p2)
Definition: NeighborSearch.hpp:67
 
API void initGridNeighbor(float3 *atomPos, float *radii, int N)
Definition: NeighborSearchLib.cpp:27
 
int3 unflatten1DTo3D(int index, int3 gridDim)
Definition: NeighborSearch.hpp:59
 
float y
Definition: MarchingCubes.h:36
 
API int * findAtomsInRadius(float3 p, float rad, int *resSize)
Definition: NeighborSearchLib.cpp:169
 
float3 gridToSpace(int3 cellPos, float3 originGrid, float dx)
Definition: NeighborSearch.hpp:45
 
int x
Definition: cpdb.h:59
 
int y
Definition: MarchingCubes.h:30
 
int3 spaceToGrid(float3 pos3D, float3 originGrid, float dx)
Definition: NeighborSearch.hpp:34
 
int z
Definition: MarchingCubes.h:31
 
int x
Definition: MarchingCubes.h:29
 
API int findClosestAtom(float3 p)
Definition: NeighborSearchLib.cpp:107
 
float x
Definition: MarchingCubes.h:35
 
int flatten3DTo1D(int3 id3d, int3 gridDim)
Definition: NeighborSearch.hpp:54