Loading [MathJax]/extensions/TeX/AMSmath.js
HLIBpro  3.0
All Classes Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
TGeomPartCTBuilder Class Reference

Enhances other geometrical ct builders by allowing the user to define the first level of index partitioning by a given vector.

#include <TBSPCTBuilder.hh>

Inheritance diagram for TGeomPartCTBuilder:
TGeomCTBuilder

Public Member Functions

 TGeomPartCTBuilder (const std::vector< idx_t > &first_lvl_part, const TGeomCTBuilder *base_builder, const adjust_depth_mode_t adjust_depth)
 
virtual ~TGeomPartCTBuilder ()
 dtor
 
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
 use user defined partition for first level and partitioning strategy for rest
 
- Public Member Functions inherited from TGeomCTBuilder
 TGeomCTBuilder (const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0)
 construct cluster tree builder
 
virtual std::unique_ptr< TClusterTreebuild (const TCoordinate *coord, const idx_t idx_ofs=0) const
 
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
 

Additional Inherited Members

- 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 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
 
bool _adjust_bb
 flag for adjusting bounding boxes of nodes
 
bool _sort_wrt_size
 flag for sorting sub clusters w.r.t. size
 

Constructor & Destructor Documentation

◆ TGeomPartCTBuilder()

TGeomPartCTBuilder ( const std::vector< idx_t > &  first_lvl_part,
const TGeomCTBuilder base_builder,
const adjust_depth_mode_t  adjust_depth 
)

construct cluster tree with first partition defined by first_lvl_part and base ct builder base_builder