triskele/include/TreeBuilder.hpp
Git Merciol 273f7d6647 modifié : include/ArrayTree/ArrayTreeBuilder.hpp
modifié :         include/ArrayTree/ArrayTreeBuilder.tpp
	modifié :         include/QuadTree/QuadTreeBuilder.hpp
	modifié :         include/Tree.hpp
	modifié :         include/TreeBuilder.hpp
	modifié :         include/XMLTree/XMLTreeBuilder.hpp
	modifié :         include/triskeleDealThreads.hpp
	modifié :         src/Attributes/AreaAttribute.cpp
	modifié :         src/QuadTree/QuadTreeBuilder.cpp
	modifié :         src/Tree.cpp
	modifié :         src/XMLTree/XMLTreeBuilder.cpp
	modifié :         src/testMain.cpp
2017-11-28 04:31:40 +01:00

49 lines
1.2 KiB
C++

#ifndef _OTB_TRISKELE_TREE_BUILDER_HPP
#define _OTB_TRISKELE_TREE_BUILDER_HPP
#include "Tree.hpp"
#include "triskeleBase.hpp"
namespace otb {
namespace triskele {
class TreeBuilder {
public:
static void
buildTree (Tree &tree, TreeBuilder &builder) { builder.buildTree (tree); }
static void
buildTree (Tree &tree, TreeBuilder &&builder) { builder.buildTree (tree); }
virtual void
buildTree (Tree &tree) { std::cout << "Test" << std::endl; }
protected:
// Used to set the attributes below with the tree
inline void updateAttributes (Tree &tree) {
leafCount = tree.leafCount;
leafParents = tree.leafParents;
compParents = tree.compParents;
children = tree.children;
childCount = tree.childCount;
}
protected:
// Attributes corresponding to the tree, used to make the construction easier
DimImg leafCount;
/*! Pointers on the parents of each leafs / nodes */
DimNodeId *leafParents, *compParents;
/*! Pointers on the children and count how many children a parents have */
DimNodeId *children, *childCount;
};
} // triskele
} // otb
#endif // _OTB_TRISKELE_TREE_BUILDER_HPP