source: GTP/trunk/Lib/Vis/Preprocessing/src/IntelRayCaster.h @ 1528

Revision 1528, 1.2 KB checked in by mattausch, 18 years ago (diff)

worked on gvs

Line 
1#ifndef _IntelRayCaster_H__
2#define _IntelRayCaster_H__
3
4#include "RayCaster.h"
5#include <vector>
6
7
8namespace GtpVisibilityPreprocessor {
9
10
11class Intersectable;
12class VssRay;
13class KdTree;
14class Ray;
15class SimpleRayContainer;
16class AxisAlignedBox3;
17class Vector3;
18struct VssRayContainer;
19class Preprocessor;
20struct SimpleRay;
21
22/** This class provides an interface for ray casting.
23*/
24class IntelRayCaster: public RayCaster
25{
26public:
27        /** Default constructor initialising e.g., KD tree and BSP tree.
28        */
29        IntelRayCaster(
30                const Preprocessor &preprocessor,
31                const string externKdTree);
32
33        virtual ~IntelRayCaster();
34
35        int Type() const { return INTEL_RAYCASTER; }
36
37        virtual int CastRay(
38                const SimpleRay &simpleRay,
39        VssRayContainer &vssRays,
40                const AxisAlignedBox3 &box,
41                const bool castDoubleRay,
42                const bool pruneInvalidRays = true
43                );
44
45         virtual void CastRays16(
46                 const int i,
47                 SimpleRayContainer &rays,
48                 VssRayContainer &vssRays,
49                 const AxisAlignedBox3 &sbox,
50                 const bool castDoubleRay,
51                 const bool pruneInvalidRays = true
52                 );
53         
54protected:
55
56        bool InitRayCast(const string externKdTree);
57};
58
59
60}
61
62#endif
Note: See TracBrowser for help on using the repository browser.