RayProximity.hh
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef RAYPROXIMITYSENSOR_HH
00037 #define RAYPROXIMITYSENSOR_HH
00038
00039 #include "Sensor.hh"
00040 #include "Body.hh"
00041
00042 class RayGeom;
00043
00044
00050 class RayProximity: public Sensor
00051 {
00057 public: RayProximity(World *world, Body *body, int rayCount);
00058
00059
00061 public: virtual ~RayProximity();
00062
00067 public: void SetRay(int index, GzVector a, GzVector b);
00068
00072 public: void GetRay(int index, GzVector *pos, GzVector *dir);
00073
00076 public: double GetRange(int index);
00077
00079 public: double GetRetro(int index);
00080
00082 public: int GetFiducial(int index);
00083
00085 public: void Update();
00086
00088 private: static void UpdateCallback( void *data, dGeomID o1, dGeomID o2 );
00089
00091 private: Body *body;
00092
00094 private: dSpaceID superSpaceId;
00095 private: dSpaceID raySpaceId;
00096
00098 private: int rayCount;
00099 private: RayGeom **rays;
00100 };
00101
00102 #endif
Last updated 12 September 2005 21:38:45
|