Blender V5.0
group_nodes.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "node_parser.h"
8
9/* TODO: #pxr::UsdMtlxRead() doesn't perform node-graphs.
10 * Uncomment USE_MATERIALX_NODEGRAPH after fixing it. */
11// #define USE_MATERIALX_NODEGRAPH
12
14
16
18 friend GroupInputNodeParser;
19
20 protected:
22
23 public:
25 const bNode *node,
26 const bNodeSocket *socket_out,
28 GroupNodeParser *group_parser,
29 bool use_group_default);
30 NodeItem compute() override;
31 NodeItem compute_full() override;
32};
33
35 public:
37 NodeItem compute() override;
38 NodeItem compute_full() override;
39
40 private:
41 static std::string out_name(const bNodeSocket *out_socket);
42};
43
44class GroupInputNodeParser : public GroupNodeParser {
45 public:
47 NodeItem compute() override;
48 NodeItem compute_full() override;
49
50 private:
51 std::string in_name() const;
52};
53
54} // namespace blender::nodes::materialx
GroupNodeParser(NodeGraph &graph, const bNode *node, const bNodeSocket *socket_out, NodeItem::Type to_type, GroupNodeParser *group_parser, bool use_group_default)
GroupNodeParser(NodeGraph &graph, const bNode *node, const bNodeSocket *socket_out, NodeItem::Type to_type, GroupNodeParser *group_parser, bool use_group_default)
GroupNodeParser(NodeGraph &graph, const bNode *node, const bNodeSocket *socket_out, NodeItem::Type to_type, GroupNodeParser *group_parser, bool use_group_default)
NodeParser(NodeGraph &graph, const bNode *node, const bNodeSocket *socket_out, NodeItem::Type to_type, GroupNodeParser *group_parser)
static Type to_type(const GPUType type)