Blender  V3.3
Public Member Functions | Protected Attributes | List of all members
blender::nodes::SocketRef Class Reference

#include <NOD_node_tree_ref.hh>

Inheritance diagram for blender::nodes::SocketRef:
blender::NonCopyable blender::NonMovable blender::nodes::InputSocketRef blender::nodes::OutputSocketRef

Public Member Functions

PointerRNA rna () const
 
#SocketRef Inline Methods
Span< const SocketRef * > logically_linked_sockets () const
 
Span< const SocketRef * > logically_linked_skipped_sockets () const
 
Span< const SocketRef * > directly_linked_sockets () const
 
Span< const LinkRef * > directly_linked_links () const
 
bool is_directly_linked () const
 
bool is_logically_linked () const
 
const NodeRefnode () const
 
const NodeTreeReftree () const
 
int id () const
 
int index () const
 
bool is_input () const
 
bool is_output () const
 
const SocketRefas_base () const
 
const InputSocketRefas_input () const
 
const OutputSocketRefas_output () const
 
StringRefNull idname () const
 
StringRefNull name () const
 
StringRefNull identifier () const
 
bNodeSocketTypetypeinfo () const
 
bNodeSocketbsocket () const
 
bNodebnode () const
 
bNodeTreebtree () const
 
bool is_available () const
 
bool is_undefined () const
 
voiddefault_value () const
 
template<typename T >
Tdefault_value () const
 

Protected Attributes

NodeRefnode_
 
bNodeSocketbsocket_
 
bool is_input_
 
int id_
 
int index_
 
Vector< LinkRef * > directly_linked_links_
 
MutableSpan< const SocketRef * > directly_linked_sockets_
 
MutableSpan< const SocketRef * > logically_linked_sockets_
 
MutableSpan< const SocketRef * > logically_linked_skipped_sockets_
 
friend NodeTreeRef
 

Detailed Description

Definition at line 62 of file NOD_node_tree_ref.hh.

Member Function Documentation

◆ as_base()

const SocketRef & blender::nodes::SocketRef::as_base ( ) const
inline

Definition at line 395 of file NOD_node_tree_ref.hh.

◆ as_input()

const InputSocketRef & blender::nodes::SocketRef::as_input ( ) const
inline

◆ as_output()

const OutputSocketRef & blender::nodes::SocketRef::as_output ( ) const
inline

Definition at line 406 of file NOD_node_tree_ref.hh.

References BLI_assert, and is_output().

◆ bnode()

bNode * blender::nodes::SocketRef::bnode ( ) const
inline

◆ bsocket()

bNodeSocket * blender::nodes::SocketRef::bsocket ( ) const
inline

◆ btree()

bNodeTree * blender::nodes::SocketRef::btree ( ) const
inline

Definition at line 442 of file NOD_node_tree_ref.hh.

References blender::nodes::NodeRef::btree(), and node_.

Referenced by rna().

◆ default_value() [1/2]

void * blender::nodes::SocketRef::default_value ( ) const
inline

Definition at line 457 of file NOD_node_tree_ref.hh.

References bsocket_, and bNodeSocket::default_value.

◆ default_value() [2/2]

template<typename T >
T * blender::nodes::SocketRef::default_value
inline

Definition at line 462 of file NOD_node_tree_ref.hh.

References bsocket_, bNodeSocket::default_value, and T.

◆ directly_linked_links()

Span< const LinkRef * > blender::nodes::SocketRef::directly_linked_links ( ) const
inline

Definition at line 350 of file NOD_node_tree_ref.hh.

References directly_linked_links_.

◆ directly_linked_sockets()

Span< const SocketRef * > blender::nodes::SocketRef::directly_linked_sockets ( ) const
inline

Definition at line 345 of file NOD_node_tree_ref.hh.

References directly_linked_sockets_.

Referenced by blender::nodes::toposort_from_start_node().

◆ id()

int blender::nodes::SocketRef::id ( ) const
inline

◆ identifier()

StringRefNull blender::nodes::SocketRef::identifier ( ) const
inline

Definition at line 422 of file NOD_node_tree_ref.hh.

References bsocket_, and bNodeSocket::identifier.

Referenced by initialize_group_input().

◆ idname()

StringRefNull blender::nodes::SocketRef::idname ( ) const
inline

◆ index()

int blender::nodes::SocketRef::index ( ) const
inline

Definition at line 380 of file NOD_node_tree_ref.hh.

References index_.

Referenced by blender::modifiers::geometry_nodes::GeometryNodesEvaluator::add_value_to_input_socket(), blender::modifiers::geometry_nodes::NodeParamsProvider::can_get_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::can_set_output(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::destruct_input_value_if_exists(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_unknown_node(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::extract_group_outputs(), blender::modifiers::geometry_nodes::NodeParamsProvider::extract_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::extract_multi_input(), blender::ed::space_node::viewer_linking::find_output_socket_to_be_viewed(), blender::nodes::DOutputSocket::get_active_corresponding_group_output_socket(), blender::nodes::DInputSocket::get_corresponding_group_input_sockets(), blender::nodes::DOutputSocket::get_corresponding_group_node_input(), blender::nodes::DInputSocket::get_corresponding_group_node_output(), blender::modifiers::geometry_nodes::get_implicit_socket_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::get_input(), blender::bke::node_field_inferencing::get_interface_input_field_type(), blender::bke::node_field_inferencing::get_interface_output_field_dependency(), initialize_group_input(), blender::ed::space_node::viewer_linking::is_viewer_socket_in_viewer(), blender::modifiers::geometry_nodes::NodeParamsProvider::lazy_output_is_required(), blender::modifiers::geometry_nodes::NodeParamsProvider::lazy_require_input(), blender::modifiers::geometry_nodes::NodeParamsProvider::output_is_required(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::send_output_required_notification(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::send_output_unused_notification(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::set_input_required(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::set_input_unused(), blender::modifiers::geometry_nodes::NodeParamsProvider::set_output(), and blender::modifiers::geometry_nodes::GeometryNodesEvaluator::should_forward_to_socket().

◆ is_available()

bool blender::nodes::SocketRef::is_available ( ) const
inline

◆ is_directly_linked()

bool blender::nodes::SocketRef::is_directly_linked ( ) const
inline

◆ is_input()

bool blender::nodes::SocketRef::is_input ( ) const
inline

◆ is_logically_linked()

bool blender::nodes::SocketRef::is_logically_linked ( ) const
inline

◆ is_output()

bool blender::nodes::SocketRef::is_output ( ) const
inline

Definition at line 390 of file NOD_node_tree_ref.hh.

References is_input_.

Referenced by as_output(), and blender::nodes::DOutputSocket::DOutputSocket().

◆ is_undefined()

bool blender::nodes::SocketRef::is_undefined ( ) const
inline

Definition at line 452 of file NOD_node_tree_ref.hh.

References bsocket_, NodeSocketTypeUndefined, and bNodeSocket::typeinfo.

◆ logically_linked_skipped_sockets()

Span< const SocketRef * > blender::nodes::SocketRef::logically_linked_skipped_sockets ( ) const
inline

Definition at line 340 of file NOD_node_tree_ref.hh.

References logically_linked_skipped_sockets_.

◆ logically_linked_sockets()

Span< const SocketRef * > blender::nodes::SocketRef::logically_linked_sockets ( ) const
inline

Definition at line 335 of file NOD_node_tree_ref.hh.

References logically_linked_sockets_.

◆ name()

StringRefNull blender::nodes::SocketRef::name ( ) const
inline

Definition at line 417 of file NOD_node_tree_ref.hh.

References bsocket_, and bNodeSocket::name.

◆ node()

const NodeRef & blender::nodes::SocketRef::node ( ) const
inline

◆ rna()

PointerRNA blender::nodes::SocketRef::rna ( ) const

Definition at line 672 of file node_tree_ref.cc.

References bsocket_, btree(), RNA_pointer_create(), and tree().

◆ tree()

const NodeTreeRef & blender::nodes::SocketRef::tree ( ) const
inline

◆ typeinfo()

bNodeSocketType * blender::nodes::SocketRef::typeinfo ( ) const
inline

Member Data Documentation

◆ bsocket_

bNodeSocket* blender::nodes::SocketRef::bsocket_
protected

◆ directly_linked_links_

Vector<LinkRef *> blender::nodes::SocketRef::directly_linked_links_
protected

◆ directly_linked_sockets_

MutableSpan<const SocketRef *> blender::nodes::SocketRef::directly_linked_sockets_
protected

◆ id_

int blender::nodes::SocketRef::id_
protected

Definition at line 67 of file NOD_node_tree_ref.hh.

Referenced by id(), and blender::nodes::NodeTreeRef::NodeTreeRef().

◆ index_

int blender::nodes::SocketRef::index_
protected

Definition at line 68 of file NOD_node_tree_ref.hh.

Referenced by index(), and blender::nodes::NodeTreeRef::NodeTreeRef().

◆ is_input_

bool blender::nodes::SocketRef::is_input_
protected

◆ logically_linked_skipped_sockets_

MutableSpan<const SocketRef *> blender::nodes::SocketRef::logically_linked_skipped_sockets_
protected

Definition at line 78 of file NOD_node_tree_ref.hh.

Referenced by logically_linked_skipped_sockets().

◆ logically_linked_sockets_

MutableSpan<const SocketRef *> blender::nodes::SocketRef::logically_linked_sockets_
protected

◆ node_

NodeRef* blender::nodes::SocketRef::node_
protected

◆ NodeTreeRef

friend blender::nodes::SocketRef::NodeTreeRef
protected

Definition at line 80 of file NOD_node_tree_ref.hh.


The documentation for this class was generated from the following files: