Class xlifepp::ClusterTree#
-
template<typename T = FeDof>
class ClusterTree#
-
frontal class of a tree representation (xlifepp::ClusterNode class) of cloud of objects that have a characteristic Point of location Be cautious, it uses a pointer to a vector of T that has to be kept in memory.
Full copy of objects should be safer but it is memory expansive, see later
Public Functions
-
ClusterTree(const std::vector<T>&, ClusteringMethod, number_t, number_t = 0, bool = true, bool = true, CloseNodeRule = _fmmCloseNodeRule, real_t = 1.)#
-
constructor from a list of objects
-
void print(std::ostream&) const#
-
print tree
-
void printLeaves(std::ostream&) const#
-
print only leaves of the tree
-
void saveToFile(const string_t &fn, bool withRealBox = false) const#
-
save points and bounding boxes or real bounding boxes on file (withRealBox=true)
save points and bounding box on file (for graphic representation)
-
void updateBoundingBoxes()#
-
update recursively bounding boxes
-
void updateCloseNodes()#
-
update recursively closeNodes vector
-
void updateDofNumbers()#
-
update recursively dofNumbers_ vector
-
void updateElements()#
-
update recursively elements_ vector
-
void updateInfo()#
-
update tree info (depth, number of nodes, …)
-
void updateNumbers()#
-
update recursively numbers_ vector
-
void updateParentNumbers()#
-
update recursively all parentNumbers_ vector
-
void updateRealBoundingBoxes()#
-
update recursively real bounding boxes
Public Members
-
bool clearObjects_#
-
if true deallocate vector points_ when clear
-
CloseNodeRule closeRule_#
-
rule to decide if two tree nodes are close
-
real_t etaClose_#
-
scalar parameter for the CloseNodeRule
-
ClusteringMethod method_#
-
clustering method (see enum)
-
bool noEmptyBox_#
-
do not keep empty boxes in tree
-
bool storeNodeData_#
-
store data on each node if true
-
bool withOverlap_#
-
true if dof numbering of nodes overlap (case of a cluster of elements)
-
ClusterTree(const std::vector<T>&, ClusteringMethod, number_t, number_t = 0, bool = true, bool = true, CloseNodeRule = _fmmCloseNodeRule, real_t = 1.)#