00001
00002
00003 #ifndef __FDH14_DIST_ROT
00004 #define __FDH14_DIST_ROT
00005
00006 #include <esg/geometry/includes.h>
00007 #include <esg/spacesorting/DistRot.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 namespace esg {
00019
00020 class OGSCENE_EXPORT FDH14DistRot : public DistRot {
00021 protected:
00022 float * _orig;
00023 FDH14::RotInfo * _pRotInfo;
00024 int _set;
00025 float * _transf;
00026
00027 protected:
00028 double _distance (const FDH14&, double, Vector3*);
00029 double _distance (const Geometry&, double, Vector3*);
00030 bool _separation (const FDH14&);
00031 bool _separation (const Geometry&);
00032
00033 public:
00034 FDH14DistRot (float* , FDH14::RotInfo*, double sr = 1.0);
00035
00036 virtual ~FDH14DistRot () { delete [] _transf; }
00037
00038 virtual double distance (Geometry&, double, Vector3*);
00039
00040
00041
00042
00043
00044
00045 virtual bool separation (Geometry&, Vector3*);
00046 };
00047
00048 };
00049
00050 #endif // __FDH14_DIST_ROT