collisiondetectors/CD_rangesensor/CD_Range_Sensor.h

Go to the documentation of this file.
00001 #ifndef CD_Range_Sensor_h
00002 #define CD_Range_Sensor_h 1
00003 
00004 #include "Universe\Universe.h"
00005 #include "robots\R_OpenChain.h"
00006 #include "CollisionDetectors\CD_BasicStyle.h"
00007 #include "CollisionDetectors\CD_LinearContinuous.h"
00008 #include "CollisionDetectors\CD_Vcollide.h"
00009 #include "geometry\geo_rangesensor\Range_Sensor.h"
00010 #include "Octree_Data_Fuser.h"
00011 
00012 const char CD_Range_Sensor_Settings_Filename[20]  = "CD_Range_Sensor.txt";
00013 const char CD_Range_Sensor_Octree_Filename[9]  = "test.txt";
00014 
00015 #pragma warning( push )
00016 #pragma warning( disable : 4250 )
00017 
00018 class CD_Range_Sensor 
00019 : 
00020         public CD_BasicStyle,
00021         public CD_LinearContinuous
00022 //note: is CD_BasicStyle the appropriate parent???
00023 //I hope this doesn't do anything with the universe because it's not the universe
00024 //we want to use for the sensor based collison dectection
00025 
00026 {
00027   
00028 public:
00029 
00030 #ifdef WIN32
00031   CWnd* cWindow_ptr;
00032 
00033   HGLRC hglrc_var;
00034 #endif
00035 
00036   bool isMultiThreaded;
00037 
00038   Octree_Data_Fuser dataFuser;
00039 
00040   CD_Range_Sensor( Universe& universe);
00041   
00042   CD_Range_Sensor (const CD_Range_Sensor& right);
00043   
00044   virtual ~CD_Range_Sensor();
00045 
00046   void GL_Display_Octree ();
00047   
00048   void Take_Picture(Configuration newconfig);
00049   
00050   CollisionDetectorBase* CD_Range_Sensor::Clone () const;
00051   
00052   virtual bool IsInterfering (const Configuration& config);
00053 
00054 protected:
00055 
00056 
00057   bool savetofile;
00058     
00059   Universe robot_universe; //universe with only robots, no obstacles
00060 
00061   Universe* up; //points to the original universe which was passed in with constructor
00062                 //(universe must not move)
00063   
00064   Range_Sensor* FindFirstCamera (Entity* entity);
00065     
00066   std::vector< Entity* > allorigEntities;
00067   
00068   CD_Vcollide* lv; //local vcollide pointer to free/unknown
00069 
00070   CD_Vcollide* lv_obstacle; //local vcollide pointer to obstacle/no obstacle
00071 
00072         
00073 private: 
00074 
00075 };
00076 
00077 #pragma warning( pop )
00078 
00079 #endif

Generated on Sat Apr 1 21:30:36 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO