source: GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SampleGenerator.h @ 2898

Revision 2898, 840 bytes checked in by mattausch, 16 years ago (diff)
Line 
1#ifndef __SAMPLEGENERATOR_H
2#define __SAMPLEGENERATOR_H
3
4
5/** Class that generates samples on a circle
6*/
7
8struct Sample2
9{
10        Sample2() {}
11        Sample2(float _x, float _y): x(_x), y(_y) {}
12
13        float x;
14        float y;
15};
16
17
18class SampleGenerator
19{
20public:
21       
22        SampleGenerator(int numSamples, float radius);
23
24        virtual void Generate(Sample2 *samples) const = 0;
25
26protected:
27
28        SampleGenerator() {};
29
30        int mNumSamples;
31        float mRadius;
32};
33
34
35class PoissonDiscSampleGenerator: public SampleGenerator
36{
37public:
38       
39        PoissonDiscSampleGenerator(int numSamples, float radius);
40
41        virtual void Generate(Sample2 *samples) const;
42};
43
44
45class GaussianSampleGenerator: public SampleGenerator
46{
47public:
48       
49        GaussianSampleGenerator(int numSamples, float radius);
50
51        virtual void Generate(Sample2 *samples) const;
52};
53
54
55#endif
Note: See TracBrowser for help on using the repository browser.