Ice Sheet System Model  4.18
Code documentation
PointCloudFindNeighborsx.cpp
Go to the documentation of this file.
1 
5 
6 int PointCloudFindNeighborsx(IssmSeqVec<IssmPDouble>** pflags,double* x, double* y, int nods, double mindistance,double multithread){
7 
8  /*output: */
9  IssmSeqVec<IssmPDouble>* flags=NULL;
10  flags=new IssmSeqVec<IssmPDouble>(nods);
11 
12  /*threading: */
13  int num=_NUMTHREADS_;
14  if(!multithread)num=1;
15 
16  /*initialize thread parameters: */
18  gate.x = x;
19  gate.y = y;
20  gate.nods = nods;
21  gate.mindistance = mindistance;
22  gate.flags = flags;
23 
24  /*launch the thread manager with InterpFromGridToMeshxt as a core: */
25  LaunchThread(PointCloudFindNeighborsxt,(void*)&gate,num);
26 
27  /*Assemble vector: */
28  flags->Assemble();
29 
30  /*Assign output pointers: */
31  *pflags=flags;
32 
33  return 1;
34 }
PointCloudFindNeighborsx.h
LaunchThread
void LaunchThread(void *function(void *), void *gate, int num_threads)
Definition: LaunchThread.cpp:25
PointCloudFindNeighborsThreadStruct::mindistance
double mindistance
Definition: PointCloudFindNeighborsx.h:20
IssmSeqVec< IssmPDouble >
PointCloudFindNeighborsx
int PointCloudFindNeighborsx(IssmSeqVec< IssmPDouble > **pflags, double *x, double *y, int nods, double mindistance, double multithread)
Definition: PointCloudFindNeighborsx.cpp:6
PointCloudFindNeighborsThreadStruct::x
double * x
Definition: PointCloudFindNeighborsx.h:17
PointCloudFindNeighborsThreadStruct::nods
int nods
Definition: PointCloudFindNeighborsx.h:19
PointCloudFindNeighborsThreadStruct::y
double * y
Definition: PointCloudFindNeighborsx.h:18
PointCloudFindNeighborsxt
void * PointCloudFindNeighborsxt(void *vPointCloudFindNeighborsThreadStruct)
Definition: PointCloudFindNeighborsxt.cpp:8
PointCloudFindNeighborsThreadStruct
Definition: PointCloudFindNeighborsx.h:15
IssmSeqVec::Assemble
void Assemble(void)
Definition: IssmSeqVec.h:92
PointCloudFindNeighborsThreadStruct::flags
IssmSeqVec< IssmPDouble > * flags
Definition: PointCloudFindNeighborsx.h:21