Intersector.h

Go to the documentation of this file.
00001 /* $Id: Intersector.h,v 1.2 2002/11/05 14:31:15 anonymous Exp $ */
00002 
00003 #ifndef __INTERSECTOR_H
00004 #define __INTERSECTOR_H
00005 
00006 #include <esg/Definitions.h>
00007 #include <esg/SceneGraphObject.h>
00008 
00009 namespace esg {
00010 
00016 class OGSCENE_EXPORT Intersector {
00017 protected:
00018         PointEnv*  _pEnv;
00019         PointEnv*  _pNewEnv;
00020         float      _distance;
00021         ESGbitmask _wantedMask;
00022         //ESGbitmask _checkMask;
00023 
00024 public:
00028         Intersector () : _pEnv(NULL) { _pNewEnv = new PointEnv; }
00029 
00033         virtual ~Intersector () { if (_pNewEnv) delete _pNewEnv; }
00034 
00042         virtual void init (int mask, float maxDist = MAXFLOAT);
00043 
00050         PointEnv* adoptIntersection (void);
00051 
00058         const PointEnv* inspectIntersection (void) const { return _pEnv; }
00059 
00063         float getActDistance (void) const { return _distance; }
00064 
00068         int getMask (void) const { return _wantedMask; }
00069 
00081         virtual int processCandidate (SceneGraphObject* pObject,
00082                                       const Vector3&    origin,   
00083                                       const Vector3&    direction);
00084 };
00085 
00086 }; // namespace
00087 
00088 #endif // __INTERSECTOR_H

Generated on Wed Jun 28 12:24:28 2006 for esg by  doxygen 1.4.6