Files
test2/source/blender/blenkernel/BKE_node_tree_dot_export.hh
Jacques Lucke 3943a39c08 Cleanup: rename dot to dot_export namespace
Without this, including `BLI_dot_export.hh` in `delaunay_2d.cc` causes a
compile error because the name `dot` is ambiguous.

Pull Request: https://projects.blender.org/blender/blender/pulls/136385
2025-03-23 13:34:07 +01:00

37 lines
991 B
C++

/* SPDX-FileCopyrightText: 2023 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#include <optional>
#include <string>
#include "DNA_node_types.h"
namespace blender::dot_export {
class DirectedEdge;
}
namespace blender::bke {
/**
* Allows customizing how the generated dot graph looks like.
*/
class bNodeTreeToDotOptions {
public:
virtual std::string socket_name(const bNodeSocket &socket) const;
virtual std::optional<std::string> socket_font_color(const bNodeSocket &socket) const;
virtual void add_edge_attributes(const bNodeLink &link,
dot_export::DirectedEdge &dot_edge) const;
};
/**
* Convert a node tree into the dot format. This can be visualized with tools like graphviz and is
* very useful for debugging purposes.
*/
std::string node_tree_to_dot(const bNodeTree &tree,
const bNodeTreeToDotOptions &options = bNodeTreeToDotOptions());
} // namespace blender::bke