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 
21 template <typename T>
23 {
24 public:
25  CE_PointGridT(int npts, const cl::Buffer &P, const cl::Buffer &pscale,
26  const cl::Buffer &phase, const cl::Buffer &piece):
27  myNpts(npts),
28  myP(P),
29  myPscale(pscale),
30  myPhase(phase),
31  myPiece(piece) {}
32 
33  UT_ErrorSeverity findNeighbors(float radscale, int srcphase, int dstphase, cl::Buffer &neighboroffsets, cl::Buffer &neighbors,
34  UT_String &errmsg);
35 private:
36  const int myNpts;
37  const cl::Buffer myP;
38  const cl::Buffer myPscale;
39  const cl::Buffer myPhase;
40  const cl::Buffer myPiece;
41 };
42 
43 #else
44 
45 class CE_API CE_PointGrid
46 {
47 };
48 
49 #endif
50 #endif
#define CE_API
Definition: CE_API.h:10
UT_ErrorSeverity
Definition: UT_Error.h:25
CE_PointGridT(int npts, const cl::Buffer &P, const cl::Buffer &pscale, const cl::Buffer &phase, const cl::Buffer &piece)
Definition: CE_PointGrid.h:25
GA_API const UT_StringHolder pscale
Memory buffer interface.
Definition: cl.hpp:1867