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  UT_ErrorSeverity deterministicP2G(
36  const cl::Buffer &v,
37  const cl::Buffer &density,
38  const cl::Buffer &C,
39  const int numtiles,
40  const cl::Buffer &tilestartsxyz,
41  const cl::Buffer &mass_vdb,
42  const cl::Buffer &vel_vdb,
43  const cl_float *xformtoworld,
44  const cl::Buffer &dx,
45  const cl::Buffer &gridscale,
46  UT_String &errmsg);
47 
48 private:
49  const int myNpts;
50  const cl::Buffer myP;
51  const cl::Buffer myPscale;
52  const cl::Buffer myPhase;
53  const cl::Buffer myPiece;
54 };
55 
56 #else
57 
58 class CE_API CE_PointGrid
59 {
60 };
61 
62 #endif
63 #endif
#define CE_API
Definition: CE_API.h:11
const GLdouble * v
Definition: glcorearb.h:837
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
float cl_float
Definition: cl_platform.h:266
GA_API const UT_StringHolder pscale
Memory buffer interface.
Definition: cl.hpp:1867