HLIBpro 3.1
Loading...
Searching...
No Matches
TSFCCTBuilder Class Reference

construct cluster tree using space filling curves

#include <TBSPCTBuilder.hh>

Inheritance diagram for TSFCCTBuilder:
TGeomCTBuilder

Public Types

enum  cluster_type_t
 

Public Member Functions

 TSFCCTBuilder (const cluster_type_t cl_type=binary, const split_type_t split_type=cardinality, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0)
 ctor
 
virtual ~TSFCCTBuilder ()
 dtor
 
virtual std::unique_ptr< TClusterTreebuild (const TCoordinate *coord, const idx_t idx_ofs=0) const
 build cluster tree out of given coordinate set coord
 
virtual std::unique_ptr< TGeomClusterdivide (const TNodeSet &dofs, const uint lvl, const TBBox &bbox, const TOptClusterSize &csize, const idx_t index_ofs, data_t &data) const
 recursively build cluster tree for indices in dofs
 
- Public Member Functions inherited from TGeomCTBuilder
 TGeomCTBuilder (const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0)
 construct cluster tree builder
 
void set_max_lvl (const uint l)
 set maximal leaf level
 
void adjust_bb (const bool b)
 set flag for adjusting bounding box
 
void sort_wrt_size (const bool b)
 set flag for sorting son cluster wrt. size
 

Protected Member Functions

virtual std::pair< std::vector< TNodeSet >, std::vector< TBBox > > split (const uint nsub, const TNodeSet &dofs, data_t &data) const
 split into <nsub> sub sets
 
- Protected Member Functions inherited from TGeomCTBuilder
virtual std::unique_ptr< TGeomClusterbuild_leaf (const TNodeSet &dofs, const uint lvl, const idx_t index_ofs, const TBBox &bbox, data_t &data) const
 create a leaf in a clustertree containing indices in dofs
 
virtual TBBox compute_bb (const TNodeSet &dofs, const data_t &data) const
 compute bounding box of index set defined by dofs
 
virtual void update_bb (const TNodeSet &dofs, TBBox &bbox, const data_t &data) const
 update bounding box of index set defined by dofs
 
virtual void check_bb (TBBox &bbox, const data_t &data) const
 check and update bbox in case of degenerate axis, e.g. very small length
 

Protected Attributes

cluster_type_t _cl_type
 partitioning type
 
split_type_t _split_type
 splitting type
 
- Protected Attributes inherited from TGeomCTBuilder
uint _n_min
 minimal size of a cluster, i.e. not smaller than this
 
uint _min_leaf_lvl
 minimal level on which leaves may occur
 
uint _max_lvl
 maximal level of tree (0: automatic choice)
 
bool _adjust_bb
 flag for adjusting bounding boxes of nodes
 
bool _sort_wrt_size
 flag for sorting sub clusters w.r.t. size
 

Member Enumeration Documentation

◆ cluster_type_t

various options