HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_LatinSampler.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_LatinSampler.h ( UT Library, C++)
7  *
8  * COMMENTS: This class distributes samples in a 2D latin square
9  * pattern.
10  */
11 
12 #ifndef __UT_LatinSampler__
13 #define __UT_LatinSampler__
14 
15 #include "UT_API.h"
16 #include "UT_NonCopyable.h"
17 
18 // Generate latin hypercube samples
20 {
21 public:
22 
23  void init(int xsamples, int ysamples);
24 
25  template<typename R>
26  void fillSamples(float *s, float *t,
27  float sscale, float tscale,
28  R &rand,
29  bool permute = false);
30 
31 private:
32  int myXSamples;
33  int myYSamples;
34  int mySamples;
35 };
36 
37 // Generates samples in the unit circle by filling in concentric rings.
39 {
40 public:
42  ~UT_DiskSampler();
44 
45  template<typename R>
46  void init(int total_samples, R &rand);
47 
48  template<typename R>
49  void fillSamples(float *s, float *t,
50  float sscale, float tscale,
51  R &rand);
52 
53 private:
54  int mySamples;
55  float *myS;
56 };
57 
58 #endif
59 
GLdouble s
Definition: glad.h:3009
#define UT_API
Definition: UT_API.h:14
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
GLdouble t
Definition: glad.h:2397