diff --git a/src/Base/Builder3D.cpp b/src/Base/Builder3D.cpp index 25cfe518ba..25be7114ed 100644 --- a/src/Base/Builder3D.cpp +++ b/src/Base/Builder3D.cpp @@ -957,7 +957,8 @@ void InventorBuilder::endSeparator() * A more elaborate description of the constructor. */ Builder3D::Builder3D() - : InventorBuilder(result) + : result{} + , builder{result} { } @@ -1010,6 +1011,21 @@ void Builder3D::saveToFile(const char* FileName) file << result.str(); } +void Builder3D::addNode(const NodeItem& item) +{ + builder.addNode(item); +} + +void Builder3D::beginSeparator() +{ + builder.beginSeparator(); +} + +void Builder3D::endSeparator() +{ + builder.endSeparator(); +} + // ----------------------------------------------------------------------------- template diff --git a/src/Base/Builder3D.h b/src/Base/Builder3D.h index 64e2d662cf..22521f79e3 100644 --- a/src/Base/Builder3D.h +++ b/src/Base/Builder3D.h @@ -604,7 +604,6 @@ public: * \brief Closes the last added separator node. */ void endSeparator(); - /** @name Appearance handling */ private: void increaseIndent(); @@ -642,11 +641,11 @@ private: * \endcode * \see Base::ConsoleSingleton */ -class BaseExport Builder3D : public InventorBuilder +class BaseExport Builder3D { public: Builder3D(); - virtual ~Builder3D(); + ~Builder3D(); /// clear the string buffer void clear(); @@ -659,9 +658,24 @@ public: void saveToFile(const char* FileName); //@} + /*! + * \brief addNode + * Writes the content of the added node to the output stream. + */ + void addNode(const NodeItem&); + /*! + * \brief Sets a separator node. + */ + void beginSeparator(); + /*! + * \brief Closes the last added separator node. + */ + void endSeparator(); + private: /// the result string std::stringstream result; + InventorBuilder builder; }; /**