2#include <Dataflow/RaDataflow.hpp>
4#include <Dataflow/Core/DataflowGraph.hpp>
6#include <Dataflow/Rendering/Nodes/RenderingNode.hpp>
9# include <RadiumRenderNodes/Nodes/Scene/SceneNode.hpp>
10# include <RadiumRenderNodes/Nodes/Sinks/DisplaySinkNode.hpp>
17using namespace Ra::Dataflow::Rendering::Nodes;
18using namespace Ra::Dataflow::Core;
24 ~RenderingGraph()
override =
default;
27 bool add_node(
Node* newNode )
override;
28 bool remove_node(
Node* node )
override;
29 void clear_nodes()
override;
33 m_shaderMngr = shaderMngr;
37 void resize( uint32_t width, uint32_t height );
53 void fromJsonInternal(
const nlohmann::json& )
override;
54 void toJsonInternal( nlohmann::json& )
const override;
69 DisplaySinkNode* m_displaySinkNode {
nullptr };
72 int m_displayObserverId { -1 };
76inline RenderingGraph::RenderingGraph(
const std::string& name ) :
79inline const std::string& RenderingGraph::node_typename() {
80 static std::string demangledTypeName {
"Rendering Graph" };
81 return demangledTypeName;
84inline void RenderingGraph::resize( uint32_t width, uint32_t height ) {
85 for (
auto rn : m_renderingNodes ) {
86 rn->resize( width, height );
93 for(
auto sn : m_dataProviders) {
94 sn->setScene(ros, lights);
101 for(
auto sn : m_dataProviders) {
102 sn->setCameras(cameras);
107inline void RenderingGraph::fromJsonInternal(
const nlohmann::json& ) {}
108inline void RenderingGraph::toJsonInternal( nlohmann::json& )
const {}
Represent a set of connected nodes that define a Direct Acyclic Computational Graph Ownership of node...
Base abstract class for all the nodes added and used by the node system.
hepler function to manage enum as underlying types in VariableSet