25 namespace perception {
32 : _grid_radius(grid_radius), _cell_size(cell_size) {}
34 std::vector<std::vector<int>>* segments_indices,
35 std::vector<int>* num_cells_per_segment);
37 int Pos(
float x,
float y)
const;
38 bool Pos2d(
float x,
float y,
int* irow,
int* jcol)
const;
46 return _point_cloud_grid_idx;
50 bool IsValidRowIndex(
int i)
const {
return (i >= 0 && i < _grid_num_rows); }
51 bool IsValidColIndex(
int j)
const {
return (j >= 0 && j < _grid_num_cols); }
52 int GetConnectedComponents();
53 void DfsColoring(
int i,
int j,
int curr_component);
54 float _grid_radius = 0.0;
55 float _cell_size = 0.0;
56 float _offset_x = 0.0;
57 float _offset_y = 0.0;
58 int _grid_num_rows = 0;
59 int _grid_num_cols = 0;
62 std::vector<int> _point_cloud_grid_idx;
63 std::vector<int> _label;
void BuildGrid(base::PointFCloudConstPtr cloud)
bool Pos2d(float x, float y, int *irow, int *jcol) const
int Pos(float x, float y) const
int GetNumCols() const
Definition: flood_fill.h:43
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
int GetNumCells() const
Definition: flood_fill.h:44
std::shared_ptr< const PointFCloud > PointFCloudConstPtr
Definition: point_cloud.h:483
const std::vector< int > & GetPointIdxInGrid() const
Definition: flood_fill.h:45
FloodFill(float grid_radius, float cell_size)
Definition: flood_fill.h:31
void SetGridRadius(float grid_radius)
Definition: flood_fill.h:40
int GetNumRows() const
Definition: flood_fill.h:42
void GetSegments(base::PointFCloudConstPtr cloud, std::vector< std::vector< int >> *segments_indices, std::vector< int > *num_cells_per_segment)
Definition: flood_fill.h:28
void SetCellSize(float cell_size)
Definition: flood_fill.h:41