triskele/include/TreeBuilder.hpp
Git Merciol ed9141d5c5 modifié : include/ArrayTree/ArrayTreeBuilder.hpp
modifié :         include/ArrayTree/ArrayTreeBuilder.tpp
	modifié :         include/ArrayTree/Border.hpp
	modifié :         include/ArrayTree/GraphWalker.tpp
	modifié :         include/ArrayTree/Leader.hpp
	modifié :         include/ArrayTree/Leader.tpp
	modifié :         include/ArrayTree/Weight.hpp
	modifié :         include/ArrayTree/Weight.tpp
	modifié :         include/ArrayTree/triskeleArrayTreeBase.hpp
	modifié :         include/ArrayTree/triskeleArrayTreeBase.tpp
	modifié :         include/IImage.hpp
	modifié :         include/IImage.tpp
	modifié :         include/Tree.hpp
	modifié :         include/Tree.tpp
	modifié :         include/TreeBuilder.hpp
	modifié :         include/XMLTree/XMLTreeBuilder.hpp
	modifié :         include/triskeleBase.hpp
	modifié :         include/triskeleDealThreads.hpp
	modifié :         include/triskeleDealThreads.tpp
	modifié :         include/triskeleDebug.hpp
	modifié :         include/triskeleGdalGetType.hpp
	nouveau fichier : src/IImage.cpp
	modifié :         src/QuadTree/QuadTreeBuilder.cpp
	modifié :         src/Tree.cpp
	modifié :         src/testMain.cpp
	modifié :         src/triskeleDebug.cpp
2018-02-18 08:24:25 +01:00

38 lines
1.1 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 inline void buildTree (Tree &tree, TreeBuilder &builder);
static inline void buildTree (Tree &tree, TreeBuilder &&builder);
virtual inline void buildTree (Tree &tree);
protected:
// Used to set the attributes below with the tree
inline void updateAttributes (Tree &tree);
inline DimNodeId getCompCount () const;
inline void setNodeCount (Tree &tree, DimNodeId nodeCount);
// Attributes corresponding to the tree, used to make the construction easier
DimImg leafCount, nodeCount;
/*! 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;
};
#include "TreeBuilder.tpp"
} // triskele
} // otb
#endif // _OTB_TRISKELE_TREE_BUILDER_HPP