Skip to content

Class organization

Otto Link edited this page Apr 22, 2024 · 14 revisions

Namespace(s)

Class structure

---
title: QtNodes-based
---
classDiagram
    class NodeDelegateModel["QtNodes::NodeDelegateModel"]

    class DataFlowGraphModel["QtNodes::DataFlowGraphModel"] {
        - std::shared_ptr<NodeDelegateModelRegistry> _registry
        - std::unordered_map<NodeId, std::unique_ptr<NodeDelegateModel>> _models
    }

    class DataFlowGraphicsScene["QtNodes::DataFlowGraphicsScene"]

    class NodeEditorWidget {
        + std::string graph_id
        - std::unique_ptr<hesiod::HsdDataFlowGraphModel> model
        - std::unique_ptr<QtNodes::DataFlowGraphicsScene> scene
    }

    NodeEditorWidget "1" *-- "1" ModelConfig
    NodeEditorWidget "1" *-- "1" Viewer2dWidget
    NodeEditorWidget "1" *-- "1" Viewer3dWidget
    NodeEditorWidget "1" *-- "1" NodeSettingsWidget
    NodeEditorWidget "1" *-- "1" DataFlowGraphicsScene
    NodeEditorWidget "1" *-- "1" HsdDataFlowGraphModel

    QMainWindow <|-- MainWindow
    MainWindow "1" *-- "n" NodeEditorWidget

    %% QWidget <|-- Viewer2dWidget

    %% QWidget <|-- Viewer3dWidget
    Viewer3dWidget "1" *-- "1" HmapGLViewer
    %% QOpenGLWidget <|-- HmapGLViewer

    %% QWidget <|-- NodeEditorWidget

    DataFlowGraphModel <|-- HsdDataFlowGraphModel
    DataFlowGraphModel "1" *-- "*" NodeDelegateModel
    %% AbstractGraphModel <-- DataFlowGraphModel

    %%DataFlowGraphicsScene "1" o-- "1" DataFlowGraphModel



    NodeDelegateModel <|-- BaseNode
    BaseNode <|-- NoiseFbm
    BaseNode <|-- GammaCorrection

    %% BaseNode "1" *-- "1" Preview
    %% BaseNode "1" *-- "1" QMenu


    %% --- QtNodes colors

    style DataFlowGraphModel fill:#f9f
    style NodeDelegateModel fill:#f9f
    style DataFlowGraphicsScene fill:#f9f

    %% --- Qt colors

    style QMainWindow fill: #41CD52
Loading

Former ImGui-based version

See Class organization, ImGui version [DEPRECATED]

Clone this wiki locally