diff --git a/include/rogue/interfaces/api/Bsp.h b/include/rogue/interfaces/api/Bsp.h index e945e3554..c39bd8b78 100644 --- a/include/rogue/interfaces/api/Bsp.h +++ b/include/rogue/interfaces/api/Bsp.h @@ -18,6 +18,7 @@ #define __ROGUE_INTERFACE_API_BSP_H__ #include #include +#include namespace rogue { namespace interfaces { @@ -26,6 +27,7 @@ namespace api { //! Bsp Class class Bsp { protected: + //boost::python::list _node_list; boost::python::object _obj; bool _isRoot; std::string _name; @@ -75,6 +77,9 @@ class Bsp { //! Read and get std::string readGet(); + + //! Get all nodes in tree + boost::python::list nodeList(); }; typedef std::shared_ptr BspPtr; diff --git a/src/rogue/interfaces/api/Bsp.cpp b/src/rogue/interfaces/api/Bsp.cpp index bb8a8df5d..492be7b03 100644 --- a/src/rogue/interfaces/api/Bsp.cpp +++ b/src/rogue/interfaces/api/Bsp.cpp @@ -178,3 +178,9 @@ std::string ria::Bsp::readGet() { throw(rogue::GeneralError::create("Bsp::set", "Error getting value on node %s", this->_name.c_str())); } } + + +boost::python::list ria::Bsp::nodeList() { + // Retrieve a python list of all nodes in the root tree. + return static_cast(this->_obj.attr("nodeList")); +}