Combines binary space partitioning with nested dissection based on connectivity defined by a sparse matrix.
#include <TBSPCTBuilder.hh>
Public Member Functions |
| 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 (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
|
Protected Member Functions |
virtual TGeomCluster * | divide (const TNodeSet &dofs, uint lvl, TBBox &bbox, const TOptClusterSize &csize, data_t &data) const |
| recursively build cluster tree
|
virtual TGeomCluster * | divide_if (const TNodeSet &dofs, const uint lvl, const uint max_lvl, TBBox &bbox, const TOptClusterSize &csize, data_t &data) const |
| recursively build cluster tree for interfaces clusters
|
virtual TGeomCluster * | build_leaf (const TNodeSet &dofs, const uint lvl, TBBox &bbox, data_t &data) const |
| create a leaf in a clustertree containing indices in dofs
|
virtual void | compute_bb (const TNodeSet &dofs, TBBox &bbox, 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
|
Additional Inherited Members |
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
|
Constructor & Destructor Documentation
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 )")
Member Function Documentation
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