CGAL 6.1 - Classification
Loading...
Searching...
No Matches
CGAL::Classification::Cluster< ItemRange, ItemMap > Class Template Reference

#include <CGAL/Classification/Cluster.h>

Definition

template<typename ItemRange, typename ItemMap>
class CGAL::Classification::Cluster< ItemRange, ItemMap >

Class that represent a cluster of items to be classified as a single atomic object.

A cluster is a set of indices of items inside an input range with random access.

Template Parameters
ItemRangemodel of ConstRange. Its iterator type is RandomAccessIterator. Its value type depends on the data that is classified (for example, CGAL::Point_3 or CGAL::Triangle_3).
ItemMapmodel of ReadablePropertyMap whose key type is the value type of the iterator of ItemRange and value type is the type of item to classify (for example, CGAL::Point_3).

Public Types

using Item = typename boost::property_traits< ItemMap >::value_type
 

Constructor

 Cluster (const ItemRange &range, ItemMap item_map)
 Constructs an empty cluster of items.
 

Modifications

void clear ()
 Clears the cluster.
 
void insert (std::size_t idx)
 inserts element of index idx in the cluster.
 

Access

std::size_t size () const
 returns the number of items in the cluster.
 
std::size_t index (std::size_t i) const
 returns the index (in the input range) of the i^{th} element of the cluster.
 
const Itemoperator[] (std::size_t i) const
 returns the i^{th} item of the cluster.
 
const CGAL::Bbox_3 & bbox () const
 returns the bounding box of the cluster.
 

Classification

int training () const
 returns the input classification value used for training.
 
inttraining ()
 returns a reference to the input classification value used for training.
 
int label () const
 returns the output classification value.
 
intlabel ()
 returns a reference to the output classification value.
 

Member Typedef Documentation

◆ Item

using CGAL::Classification::Cluster< ItemRange, ItemMap >::Item = typename boost::property_traits<ItemMap>::value_type

Constructor & Destructor Documentation

◆ Cluster()

Constructs an empty cluster of items.

Items in the clusters will be subsets of range.

Parameters
rangeinput range.
item_mapproperty map to access the input items.

Member Function Documentation

◆ bbox()

const CGAL::Bbox_3 & CGAL::Classification::Cluster< ItemRange, ItemMap >::bbox ( ) const

returns the bounding box of the cluster.

◆ clear()

Clears the cluster.

◆ index()

std::size_t CGAL::Classification::Cluster< ItemRange, ItemMap >::index ( std::size_t  i) const

returns the index (in the input range) of the i^{th} element of the cluster.

◆ insert()

void CGAL::Classification::Cluster< ItemRange, ItemMap >::insert ( std::size_t  idx)

inserts element of index idx in the cluster.

◆ label() [1/2]

returns a reference to the output classification value.

◆ label() [2/2]

returns the output classification value.

◆ operator[]()

const Item & CGAL::Classification::Cluster< ItemRange, ItemMap >::operator[] ( std::size_t  i) const

returns the i^{th} item of the cluster.

◆ size()

std::size_t CGAL::Classification::Cluster< ItemRange, ItemMap >::size ( ) const

returns the number of items in the cluster.

◆ training() [1/2]

returns a reference to the input classification value used for training.

◆ training() [2/2]

returns the input classification value used for training.