source: GTP/trunk/Lib/Vis/Preprocessing/src/InternalRayCaster.h @ 1824

Revision 1824, 1.3 KB checked in by bittner, 18 years ago (diff)

global lines support

Line 
1#ifndef _InternalRayCaster_H__
2#define _InternalRayCaster_H__
3
4#include "RayCaster.h"
5#include "Containers.h"
6#include <string>
7using namespace std;
8
9
10namespace GtpVisibilityPreprocessor {
11
12
13class Intersectable;
14class VssRay;
15class KdTree;
16class Ray;
17class SimpleRayContainer;
18class AxisAlignedBox3;
19class Vector3;
20struct VssRayContainer;
21class Preprocessor;
22struct SimpleRay;
23
24
25/** This class provides an interface for ray casting.
26*/
27class InternalRayCaster: public RayCaster
28{
29public:
30        /** Default constructor initialising e.g., KD tree
31        */
32        InternalRayCaster(const Preprocessor &preprocessor, KdTree *kdTree);
33        virtual ~InternalRayCaster();
34
35        int Type() const { return INTERNAL_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
54        virtual int
55        CastGlobalRay(const SimpleRay &simpleRay,
56                                                                VssRayContainer &vssRays,
57                                                                const AxisAlignedBox3 &box,
58                                                                const bool pruneInvalidRays
59                                                                );
60
61protected:
62
63        KdTree *mKdTree;
64};
65
66
67}
68
69#endif
Note: See TracBrowser for help on using the repository browser.