Enhances geometrical ct builder by allowing to group indices, e.g. the groups are clustered and later expanded, ensuring that all indices in a group are in the same cluster NOTE: bounding boxes per index are not yet supported (bb_min/bb_max)
#include <TBSPCTBuilder.hh>
|
std::unique_ptr< TGeomCluster > | expand (TCluster *cluster, const std::vector< std::deque< uint > > &group_to_idx, const TCoordinate *coord, const TPermutation &group_perm, TPermutation &perm, const idx_t idx_ofs) const |
|
virtual std::unique_ptr< TGeomCluster > | build_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
|
|
|
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
|
|
◆ TGeomGroupCTBuilder()
construct cluster tree with index grouping defined by groups and base ct builder base_builder
◆ build()
build cluster tree out of coordinate set \coord but with respect to additional index groups defined by
- See also
- _groups
Reimplemented from TGeomCTBuilder.
◆ expand()
recursively expand index groups and update the corresponding cluster, e.g. size, bounding box, etc.