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

Revision 1990, 1.4 KB checked in by mattausch, 17 years ago (diff)
RevLine 
[1520]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;
[1528]22struct SimpleRay;
[1520]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(
[1972]38                                                const SimpleRay &simpleRay,
39                                                VssRayContainer &vssRays,
40                                                const AxisAlignedBox3 &box,
41                                                const bool castDoubleRay,
[1990]42                                                const bool pruneInvalidRays = true,
43                                                const bool keepOrigin = false
[1972]44                                                );
[1520]45
[1972]46         virtual void CastRays16(SimpleRayContainer &rays,
47                                                         VssRayContainer &vssRays,
48                                                         const AxisAlignedBox3 &sbox,
49                                                         const bool castDoubleRay,
[1990]50                                                         const bool pruneInvalidRays = true,
51                                                         const bool keepOrigin = false
[1972]52                                                         );
[1520]53
[1824]54        virtual int
[1972]55        CastGlobalRay(
56                                  const SimpleRay &simpleRay,
57                                  VssRayContainer &vssRays,
58                                  const AxisAlignedBox3 &box,
59                                  const bool pruneInvalidRays
60                                  );
[1824]61
[1520]62protected:
63
64        KdTree *mKdTree;
65};
66
67
68}
69
70#endif
Note: See TracBrowser for help on using the repository browser.