14 #define OMERLE_SENSORGRID_DEBUG 
   57                      const double & y_min_, 
const double & y_width_, 
const double & y_pitch_, 
int n_y_)
 
   58     : 
SensorGridBase(), x_min(x_min_), x_width(x_width_), x_pitch(x_pitch_),
 
   59       y_min(y_min_), y_width(y_width_), y_pitch(y_pitch_), n_x(n_x_), n_y(n_y_)
 
   74 #ifdef OMERLE_SENSORGRID_DEBUG 
   75     std::cout << 
"BasicGrid::EnumerateGrids\n";
 
  104     if(x<x_min || x>
x_max || y<y_min || y>
y_max) 
return false;
 
  107     double x_coord = floor(x_coord_fp);
 
  111     double y_coord = floor(y_coord_fp);
 
  155     std::vector<SensorGridBase*>::const_iterator it;
 
  156     for(it = 
grids.begin(); it != 
grids.end(); ++it) 
delete *it;
 
  161     grids.push_back(grid);
 
  166 #ifdef OMERLE_SENSORGRID_DEBUG 
  167     std::cout << 
"MultipleGrids::EnumerateGrids\n";
 
  171     std::vector<SensorGridBase*>::const_iterator it;
 
  172     for(it = 
grids.begin(); it != 
grids.end(); ++it) {
 
  174 #ifdef OMERLE_SENSORGRID_DEBUG 
  175         std::cout << 
"After Enum cycle" << 
id << 
"\t" << pixel_offset << std::endl;
 
  183     std::vector<SensorGridBase*>::const_iterator it;
 
  184     for(it = 
grids.begin(); it != 
grids.end(); ++it) {
 
  185         if((*it)->PositionToPixel(x, y, pixel_info)) 
return true;
 
  192     std::vector<SensorGridBase*>::const_iterator it;
 
  198     std::vector<SensorGridBase*>::const_iterator it;
 
  199     for(it = 
grids.begin(); it != 
grids.end(); ++it) {
 
  200         if((*it)->PixelToPosition(pixel_info, x, y)) 
return true;
 
bool locked
The total number of pixels in this grid (or its childs) 
int user_row_offset
The pixel number of the first pixel in this grid (or its childs) 
virtual void EnumerateGrids(int &id, int &pixel_offset)
Common base class for sensor grids. 
virtual bool PixelToPosition(PixelInfo &pixel_number, double &x, double &y) const 
int number_of_pixels
user prowided offset to add to column on grid value in PixelInfo 
virtual void EnumerateGrids(int &id, int &pixel_offset)
void EnumerateGridsProxy(SensorGridBase *b, int &grid_id, int &pixel_number)
void LockGrid(bool lock)
Lock the grid: 
double x_width_over_two_pitch
virtual bool PositionToPixel(const double &x, const double &y, PixelInfo &pixel_info) const 
virtual bool PositionToPixel(const double &x, const double &y, PixelInfo &pixel_info) const 
Convert a hit position to a pixel number. 
virtual bool PixelToPosition(PixelInfo &pixel_info, double &x, double &y) const 
Compute the center-position of a pixel on this grid and update the pixel_info structure. 
void SetXDivision(const double &x_min, const double &x_width, const double &x_pitch, int n_x)
virtual void LockChilds(bool)
friend F32vec4 fabs(const F32vec4 &a)
virtual bool PixelToPosition(PixelInfo &pixel_info, double &x, double &y) const =0
double y_width_over_two_pitch
virtual bool NextPixel(double &x, double &y, PixelInfo &pixel_number) const 
Return information of the next pixel (pixel iteration) 
virtual void LockChilds(bool lock)
int user_col_offset
user prowided offset to add to row on grid value in PixelInfo 
virtual void EnumerateGrids(int &id, int &pixel_offset)=0
void AddGrid(SensorGridBase *grid)
std::vector< SensorGridBase * > grids
void LockChildsProxy(SensorGridBase *b, bool lock)
void SetYDivision(const double &y_min, const double &y_width, const double &y_pitch, int n_y)