#ifndef _OTB_TRISKELE_XML_TREE_BUILDER_HPP #define _OTB_TRISKELE_XML_TREE_BUILDER_HPP #ifdef NO_OTB #include #else #include #endif #include "TreeBuilder.hpp" namespace otb { namespace triskele { class XMLTreeBuilder : public TreeBuilder { public: XMLTreeBuilder (const std::string &fileN) : fileName (fileN) {} void buildTree (Tree &tree); static void exportToFile (const Tree &tree, const std::string &fileName); void exportToFile (const Tree &tree) const { return exportToFile (tree, fileName); } private: static void writeNodeChildren (const Tree &tree, const DimNodeId &id, TiXmlElement *node); DimNodeId getNodeCount (const TiXmlElement *node); void readNodeChildren (const TiXmlElement *node, DimNodeId &id); private: std::string fileName; }; } // triskele } // otb #endif // XMLTREEBUILDER_HPP