HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CE_PointGrid.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: CE_PointGrid.h ( CE Library, C++)
7  *
8  * COMMENTS: GPU Uniform Radius Neighbor Search.
9  */
10 
11 #ifndef __CE_PointGrid__
12 #define __CE_PointGrid__
13 
14 #include "CE_API.h"
15 
16 #include <UT/UT_Error.h>
17 #include <UT/UT_String.h>
18 
19 #ifdef CE_ENABLED
20 
22 {
23 public:
24  CE_PointGrid(int npts, const cl::Buffer &P, const cl::Buffer &pscale,
25  const cl::Buffer &phase, const cl::Buffer &piece):
26  myNpts(npts),
27  myP(P),
28  myPscale(pscale),
29  myPhase(phase),
30  myPiece(piece) {}
31 
32  UT_ErrorSeverity findNeighbors(float radscale, int srcphase, int dstphase, cl::Buffer &neighboroffsets, cl::Buffer &neighbors,
33  UT_String &errmsg);
34 private:
35  const int myNpts;
36  const cl::Buffer myP;
37  const cl::Buffer myPscale;
38  const cl::Buffer myPhase;
39  const cl::Buffer myPiece;
40 };
41 
42 #else
43 
44 class CE_API CE_PointGrid
45 {
46 };
47 
48 #endif
49 #endif
#define CE_API
Definition: CE_API.h:10
UT_ErrorSeverity
Definition: UT_Error.h:25
GA_API const UT_StringHolder pscale
Memory buffer interface.
Definition: cl.hpp:1865
CE_PointGrid(int npts, const cl::Buffer &P, const cl::Buffer &pscale, const cl::Buffer &phase, const cl::Buffer &piece)
Definition: CE_PointGrid.h:24