\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 5.0 - Classification
CGAL::Classification::Planimetric_grid< GeomTraits, PointRange, PointMap > Class Template Reference

#include <CGAL/Classification/Planimetric_grid.h>

Definition

Class that precomputes a 2D planimetric grid.

The grid is composed of squared cells with a user-defined size, each cell containing the list of indices of the points whose projection along the Z-axis lies within this cell. The mapping from each point to the cell it lies in is also stored.

Template Parameters
GeomTraitsmodel of CGAL Kernel.
PointRangemodel of ConstRange. Its iterator type is RandomAccessIterator and its value type is the key type of PointMap.
PointMapmodel of ReadablePropertyMap whose key type is the value type of the iterator of PointRange and value type is GeomTraits::Point_3.

Public Types

typedef GeomTraits::Point_3 Point_3
 
typedef GeomTraits::Iso_cuboid_3 Iso_cuboid_3
 
typedef unspecified_type iterator
 A forward iterator with value type std::size_t.
 

Public Member Functions

 Planimetric_grid (const PointRange &input, PointMap point_map, const Iso_cuboid_3 &bbox, float grid_resolution)
 Constructs a planimetric grid based on the input range. More...
 
float resolution () const
 Returns the resolution of the grid.
 
std::size_t width () const
 Returns the number of cells along the X-axis.
 
std::size_t height () const
 Returns the number of cells along the Y-axis.
 
iterator indices_begin (std::size_t x, std::size_t y) const
 Returns the begin iterator on the indices of the points lying in the cell at position (x,y).
 
iterator indices_end (std::size_t x, std::size_t y) const
 Returns the past-the-end iterator on the indices of the points lying in the cell at position (x,y).
 
bool has_points (std::size_t x, std::size_t y) const
 Returns false if the cell at position (x,y) is empty, true otherwise.
 
std::size_t x (std::size_t index) const
 Returns the x grid coordinate of the point at position index.
 
std::size_t y (std::size_t index) const
 Returns the y grid coordinate of the point at position index.
 

Constructor & Destructor Documentation

◆ Planimetric_grid()

template<typename GeomTraits , typename PointRange , typename PointMap >
CGAL::Classification::Planimetric_grid< GeomTraits, PointRange, PointMap >::Planimetric_grid ( const PointRange &  input,
PointMap  point_map,
const Iso_cuboid_3 bbox,
float  grid_resolution 
)

Constructs a planimetric grid based on the input range.

Parameters
inputpoint range.
point_mapproperty map to access the input points.
bboxbounding box of the input range.
grid_resolutionresolution of the planimetric grid.