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 TClusterTree * | build (const TCoordinate *coord, const idx_t idx_ofs=0) const |
|
virtual TClusterTree * | build (const TCoordinate *coord, const TSparseMatrix *S, const idx_t idx_ofs=0) const |
|
| TBSPCTBuilder () |
| default ctor
|
|
| 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
|
|
|
virtual 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 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
|
|
virtual 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
|
|
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 TBSPCTBuilder.
build nested dissection cluster tree out of coordinate set coord and additional connectivity defined by sparse matrix S