67 class OutputSocketRef;
71 class InternalLinkRef;
146 bool only_follow_first_input_link,
204 template<
typename T>
T *
storage()
const;
270 std::string
to_dot()
const;
281 void create_linked_socket_caches();
288 namespace node_tree_ref_types {
492 return internal_links_;
497 return *inputs_[index];
502 return *outputs_[index];
512 return tree_->
btree();
645 return nodes_by_type_.lookup(nodetype);
650 return sockets_by_id_;
655 return input_sockets_;
660 return output_sockets_;
675 return btree_->
id.
name + 2;
#define NODE_CUSTOM_GROUP
struct bNodeType NodeTypeUndefined
struct bNodeType * nodeTypeFind(const char *idname)
struct bNodeSocketType NodeSocketTypeUndefined
constexpr const char * c_str() const
const InputSocketRef & from() const
bNodeLink * blink() const
const OutputSocketRef & to() const
bNodeLink * blink() const
const OutputSocketRef & from() const
const InputSocketRef & to() const
const OutputSocketRef & output(int index) const
Span< const InternalLinkRef * > internal_links() const
bNodeType * typeinfo() const
Span< const InputSocketRef * > inputs() const
const InputSocketRef & input(int index) const
bNodeTree * btree() const
Span< const OutputSocketRef * > outputs() const
bool is_reroute_node() const
bool is_group_node() const
bool is_undefined() const
StringRefNull idname() const
bool is_group_input_node() const
bool is_group_output_node() const
StringRefNull name() const
const NodeTreeRef & tree() const
bool has_link_cycles() const
Span< const OutputSocketRef * > output_sockets() const
Span< const SocketRef * > sockets() const
bNodeTree * btree() const
bool has_undefined_nodes_or_sockets() const
NodeTreeRef(bNodeTree *btree)
std::string to_dot() const
Span< const LinkRef * > links() const
Span< const NodeRef * > nodes() const
StringRefNull name() const
Span< const InputSocketRef * > input_sockets() const
Span< const NodeRef * > nodes_by_type(StringRefNull idname) const
Span< const InputSocketRef * > directly_linked_sockets() const
Span< const InputSocketRef * > logically_linked_sockets() const
const NodeRef & node() const
void * default_value() const
Vector< LinkRef * > directly_linked_links_
Span< const SocketRef * > logically_linked_sockets() const
bool is_directly_linked() const
const OutputSocketRef & as_output() const
bNodeSocketType * typeinfo() const
Span< const SocketRef * > directly_linked_sockets() const
bNodeTree * btree() const
StringRefNull idname() const
MutableSpan< const SocketRef * > directly_linked_sockets_
bool is_logically_linked() const
bool is_undefined() const
Span< const SocketRef * > logically_linked_skipped_sockets() const
const NodeTreeRef & tree() const
MutableSpan< const SocketRef * > logically_linked_skipped_sockets_
bNodeSocket * bsocket() const
const SocketRef & as_base() const
bool is_available() const
StringRefNull identifier() const
const InputSocketRef & as_input() const
Span< const LinkRef * > directly_linked_links() const
MutableSpan< const SocketRef * > logically_linked_sockets_
StringRefNull name() const
Map< bNodeTree *, std::unique_ptr< const NodeTreeRef > > NodeTreeRefMap
const NodeTreeRef & get_tree_ref_from_map(NodeTreeRefMap &node_tree_refs, bNodeTree &btree)
struct bNodeSocketType * typeinfo
struct bNodeType * typeinfo