Combines binary space partitioning with nested dissection based on connectivity defined by a sparse matrix.
#include <TBSPCTBuilder.hh>
|
| TBSPNDCTBuilder (const TSparseMatrix *S, const TBSPPartStrat *part_strat, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0) |
|
| TBSPNDCTBuilder (const TBSPPartStrat *part_strat, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0) |
|
virtual std::unique_ptr< TClusterTree > | build (const TCoordinate *coord, const idx_t idx_ofs=0) const |
|
virtual std::unique_ptr< TClusterTree > | build (const TCoordinate *coord, const TSparseMatrix *S, const idx_t idx_ofs=0) const |
|
virtual std::unique_ptr< TGeomCluster > | divide (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
|
|
virtual std::unique_ptr< TGeomCluster > | divide_if (const TNodeSet &dofs, const uint lvl, const uint max_lvl, const TBBox &bbox, const TOptClusterSize &csize, const idx_t index_ofs, data_t &data) const |
| recursively build cluster tree for interfaces clusters
|
|
| TBSPCTBuilder (const TBSPPartStrat *part_strat, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0) |
| construct BSP cluster tree builder with partitioning strategy part_strat
|
|
virtual | ~TBSPCTBuilder () |
| dtor
|
|
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
|
|
| TGeomCTBuilder (const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0) |
| construct cluster tree builder
|
|
|
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
|
|
virtual TBBox | support_size (const node_t node, const bool only_idx, const data_t &data) const |
| compute support size for single index
|
|
const TBSPPartStrat * | _part_strat |
| type of partitioning strategy
|
|
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
|
|
construct cluster tree with partition strategy defined by part_strat and connectivity defined by S
construct cluster tree with partition strategy defined by part_strat (must use "build( coord, S )")
build nested dissection cluster tree out of coordinate set coord and additional connectivity defined by local sparse matrix
Reimplemented from TGeomCTBuilder.
build nested dissection cluster tree out of coordinate set coord and additional connectivity defined by sparse matrix S