HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_OceanEvaluator.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: GU_OceanEvaluator.h ( GU Library, C++)
7  *
8  * COMMENTS: Functions for evaluating ocean spectra.
9  */
10 
11 #ifndef __UT_OCEANEVALUATOR_H
12 #define __UT_OCEANEVALUATOR_H
13 
14 #include "GU_API.h"
15 #include <UT/UT_Matrix4.h>
16 #include <UT/UT_Vector3.h>
17 #include <UT/UT_VoxelArray.h>
19 
21 {
22 public:
23 
25 
26  virtual ~GU_OceanEvaluator();
27 
28  bool build(const UT_VoxelArrayF &phase,
29  const UT_VoxelArrayF &freq,
30  const UT_VoxelArrayF &amp,
31  const UT_Matrix4F &xform,
32  float hscale, float time,
33  int mode, int downsample);
34 
35  UT_Vector3 getValue(int x, int y, int z) const;
36 
37  UT_Vector3 getValue(const UT_Vector3 &pos) const;
38 
39 private:
40  THREADED_METHOD9(GU_OceanEvaluator, phase.numTiles() > 16,
41  computeCoefficients,
42  const UT_VoxelArrayF &, phase,
43  const UT_VoxelArrayF &, freq,
44  const UT_VoxelArrayF &, amp,
45  float, gridsize, float, chop, float, time,
46  UT_VoxelArrayF &, Ximag,
47  UT_VoxelArrayF &, Yimag,
48  UT_VoxelArrayF &, Zimag);
49  void computeCoefficientsPartial(const UT_VoxelArrayF &phase,
50  const UT_VoxelArrayF &freq,
51  const UT_VoxelArrayF &amp,
52  float gridsize, float chop, float time,
53  UT_VoxelArrayF &Ximag,
54  UT_VoxelArrayF &Yimag,
55  UT_VoxelArrayF &Zimag,
56  const UT_JobInfo &info);
57 
58  UT_VoxelArrayF myX, myY, myZ;
59  UT_Matrix4F myInvXform;
60  int myMode;
61 };
62 
63 #endif
GT_API const UT_StringHolder time
GLdouble GLdouble GLdouble z
Definition: glcorearb.h:848
GLint y
Definition: glcorearb.h:103
#define GU_API
Definition: GU_API.h:14
GLint GLenum GLint x
Definition: glcorearb.h:409
GLenum mode
Definition: glcorearb.h:99
#define THREADED_METHOD9(CLASSNAME, DOMULTI, METHOD, PARMTYPE1, PARMNAME1, PARMTYPE2, PARMNAME2, PARMTYPE3, PARMNAME3, PARMTYPE4, PARMNAME4, PARMTYPE5, PARMNAME5, PARMTYPE6, PARMNAME6, PARMTYPE7, PARMNAME7, PARMTYPE8, PARMNAME8, PARMTYPE9, PARMNAME9)