source: GTP/trunk/Lib/Vis/Preprocessing/src/SamplingPreprocessor.h @ 1743

Revision 1743, 1.0 KB checked in by bittner, 18 years ago (diff)

merge with new pvs

Line 
1#ifndef _SamplingPreprocessor_H__
2#define _SamplingPreprocessor_H__
3
4#include <fstream>
5using namespace std;
6
7#include "Preprocessor.h"
8#include "VssRay.h"
9
10namespace GtpVisibilityPreprocessor {
11
12class Exporter;
13
14/** Sampling based visibility preprocessing. The implementation is based on heuristical
15    sampling of view space
16        */
17class SamplingPreprocessor : public Preprocessor {
18public:
19               
20  SamplingPreprocessor();
21  ~SamplingPreprocessor();
22
23  virtual bool ComputeVisibility();
24
25
26protected:
27        /** Sets up ray for sampling.
28        */
29  void
30  SetupRay(Ray &ray,
31                   const Vector3 &point,
32                   const Vector3 &direction,
33                   const int type,
34                   const Ray::Intersection &source);
35 
36 
37 
38 
39  /** Verify if the exact visibility for this object was established.
40   */
41  void
42  VerifyVisibility(Intersectable *object);
43 
44
45protected:
46
47
48        int mPass;
49        int mSamplesPerPass;
50        int mTotalSamples;
51       
52        ofstream mStats;
53        ObjectContainer mObjects;
54
55        RayContainer mSampleRays;
56        VssRayContainer mVssSampleRays;
57};
58
59}
60
61#endif
Note: See TracBrowser for help on using the repository browser.