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

#include <NOD_node_tree_ref.hh>

Inherits blender::NonCopyable, and blender::NonMovable.

Inherited by blender::nodes::InputSocketRef, and blender::nodes::OutputSocketRef.

Public Member Functions

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
 
PointerRNArna () 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
 
void * default_value () const
 
template<typename T >
Tdefault_value () const
 

Protected Attributes

NodeRefnode_
 
bNodeSocketbsocket_
 
bool is_input_
 
int id_
 
int index_
 
PointerRNA rna_
 
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 73 of file NOD_node_tree_ref.hh.

Member Function Documentation

◆ as_base()

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

Definition at line 361 of file NOD_node_tree_ref.hh.

◆ as_input()

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

Definition at line 366 of file NOD_node_tree_ref.hh.

References BLI_assert, and is_input().

Referenced by blender::nodes::DInputSocket::foreach_origin_socket().

◆ as_output()

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

Definition at line 372 of file NOD_node_tree_ref.hh.

References BLI_assert, and is_output().

Referenced by blender::nodes::DOutputSocket::foreach_target_socket().

◆ bnode()

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

Definition at line 408 of file NOD_node_tree_ref.hh.

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

◆ bsocket()

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

Definition at line 403 of file NOD_node_tree_ref.hh.

References bsocket_.

Referenced by compute_geometry(), and sh_node_value_expand_in_mf_network().

◆ btree()

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

Definition at line 413 of file NOD_node_tree_ref.hh.

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

◆ default_value() [1/2]

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

Definition at line 428 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 433 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 316 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 311 of file NOD_node_tree_ref.hh.

References directly_linked_sockets_.

◆ id()

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

Definition at line 341 of file NOD_node_tree_ref.hh.

References id_.

◆ identifier()

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

Definition at line 393 of file NOD_node_tree_ref.hh.

References bsocket_, and bNodeSocket::identifier.

◆ idname()

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

Definition at line 383 of file NOD_node_tree_ref.hh.

References bsocket_, and bNodeSocket::idname.

Referenced by modifyGeometry().

◆ index()

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

◆ is_available()

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

Definition at line 418 of file NOD_node_tree_ref.hh.

References bsocket_, bNodeSocket::flag, and SOCK_UNAVAIL.

◆ is_directly_linked()

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

Definition at line 321 of file NOD_node_tree_ref.hh.

References directly_linked_sockets_.

◆ 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 356 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 423 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

◆ logically_linked_sockets()

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

Definition at line 301 of file NOD_node_tree_ref.hh.

References logically_linked_sockets_.

◆ name()

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

Definition at line 388 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
inline

Definition at line 378 of file NOD_node_tree_ref.hh.

References rna_.

◆ tree()

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

Definition at line 336 of file NOD_node_tree_ref.hh.

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

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

◆ typeinfo()

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

Definition at line 398 of file NOD_node_tree_ref.hh.

References bsocket_, and bNodeSocket::typeinfo.

Referenced by blender::nodes::insert_unlinked_input(), and log_ui_hints().

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 78 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 79 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 90 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 92 of file NOD_node_tree_ref.hh.

◆ rna_

PointerRNA blender::nodes::SocketRef::rna_
protected

Definition at line 80 of file NOD_node_tree_ref.hh.

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


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