HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UT_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: UT_OceanEvaluator.h ( UT 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 "UT_API.h"
15 #include "UT_Vector3.h"
16 #include "UT_VoxelArray.h"
17 #include "UT_ThreadedAlgorithm.h"
18 
20 {
21 public:
22 
24 
25  virtual ~UT_OceanEvaluator();
26 
27  bool build(const UT_VoxelArrayF &phase,
28  const UT_VoxelArrayF &freq,
29  const UT_VoxelArrayF &amp,
30  const UT_Matrix4F &xform,
31  float hscale, float time,
32  int mode, int downsample);
33 
34  UT_Vector3 getValue(int x, int y, int z) const;
35 
36  UT_Vector3 getValue(const UT_Vector3 &pos) const;
37 
38 private:
39  THREADED_METHOD9(UT_OceanEvaluator, phase.numTiles() > 16,
40  computeCoefficients,
41  const UT_VoxelArrayF &, phase,
42  const UT_VoxelArrayF &, freq,
43  const UT_VoxelArrayF &, amp,
44  float, gridsize, float, chop, float, time,
45  UT_VoxelArrayF &, Ximag,
46  UT_VoxelArrayF &, Yimag,
47  UT_VoxelArrayF &, Zimag);
48  void computeCoefficientsPartial(const UT_VoxelArrayF &phase,
49  const UT_VoxelArrayF &freq,
50  const UT_VoxelArrayF &amp,
51  float gridsize, float chop, float time,
52  UT_VoxelArrayF &Ximag,
53  UT_VoxelArrayF &Yimag,
54  UT_VoxelArrayF &Zimag,
55  const UT_JobInfo &info);
56 
57  UT_VoxelArrayF myX, myY, myZ;
58  UT_Matrix4F myInvXform;
59  int myMode;
60 };
61 
62 #endif
GLdouble GLdouble GLdouble z
Definition: glcorearb.h:847
#define UT_API
Definition: UT_API.h:12
GLint y
Definition: glcorearb.h:102
3D Vector class.
GLenum mode
Definition: glcorearb.h:98
GLint GLenum GLint x
Definition: glcorearb.h:408
#define THREADED_METHOD9(CLASSNAME, DOMULTI, METHOD, PARMTYPE1, PARMNAME1, PARMTYPE2, PARMNAME2, PARMTYPE3, PARMNAME3, PARMTYPE4, PARMNAME4, PARMTYPE5, PARMNAME5, PARMTYPE6, PARMNAME6, PARMTYPE7, PARMNAME7, PARMTYPE8, PARMNAME8, PARMTYPE9, PARMNAME9)