Blender V4.5
blender::nodes::Bundle Class Reference

#include <NOD_geometry_nodes_bundle.hh>

Inherits blender::ImplicitSharingMixin.

Classes

struct  Item
 
struct  StoredItem
 

Public Member Functions

 Bundle ()
 
 Bundle (const Bundle &other)
 
 Bundle (Bundle &&other) noexcept
 
Bundleoperator= (const Bundle &other)
 
Bundleoperator= (Bundle &&other) noexcept
 
 ~Bundle ()
 
void add_new (SocketInterfaceKey key, const bke::bNodeSocketType &type, const void *value)
 
bool add (const SocketInterfaceKey &key, const bke::bNodeSocketType &type, const void *value)
 
bool add (SocketInterfaceKey &&key, const bke::bNodeSocketType &type, const void *value)
 
bool remove (const SocketInterfaceKey &key)
 
bool contains (const SocketInterfaceKey &key) const
 
std::optional< Itemlookup (const SocketInterfaceKey &key) const
 
Span< StoredItemitems () const
 
void delete_self () override
 
- Public Member Functions inherited from blender::ImplicitSharingInfo
virtual ~ImplicitSharingInfo ()
 
bool is_mutable () const
 
bool is_expired () const
 
void add_user () const
 
void add_weak_user () const
 
void tag_ensured_mutable () const
 
int64_t version () const
 
int strong_users () const
 
void remove_user_and_delete_if_last () const
 
void remove_weak_user_and_delete_if_last () const
 

Static Public Member Functions

static BundlePtr create ()
 

Detailed Description

A bundle is a map containing keys and their corresponding values. Values are stored as the type they have in Geometry Nodes (#bNodeSocketType::geometry_nodes_cpp_type).

Definition at line 20 of file NOD_geometry_nodes_bundle.hh.

Constructor & Destructor Documentation

◆ Bundle() [1/3]

blender::nodes::Bundle::Bundle ( )
default

Referenced by operator=().

◆ Bundle() [2/3]

blender::nodes::Bundle::Bundle ( const Bundle & other)

Definition at line 48 of file blenkernel/intern/geometry_nodes_bundle.cc.

References add_new().

◆ Bundle() [3/3]

blender::nodes::Bundle::Bundle ( Bundle && other)
noexcept

Definition at line 55 of file blenkernel/intern/geometry_nodes_bundle.cc.

◆ ~Bundle()

blender::nodes::Bundle::~Bundle ( )

Definition at line 38 of file blenkernel/intern/geometry_nodes_bundle.cc.

References MEM_freeN().

Referenced by operator=().

Member Function Documentation

◆ add() [1/2]

bool blender::nodes::Bundle::add ( const SocketInterfaceKey & key,
const bke::bNodeSocketType & type,
const void * value )

◆ add() [2/2]

bool blender::nodes::Bundle::add ( SocketInterfaceKey && key,
const bke::bNodeSocketType & type,
const void * value )

Definition at line 103 of file nodes/intern/geometry_nodes_bundle.cc.

References key, and value.

◆ add_new()

◆ contains()

bool blender::nodes::Bundle::contains ( const SocketInterfaceKey & key) const

Definition at line 131 of file blenkernel/intern/geometry_nodes_bundle.cc.

References key.

Referenced by add_new().

◆ create()

static BundlePtr blender::nodes::Bundle::create ( )
inlinestatic

◆ delete_self()

void blender::nodes::Bundle::delete_self ( )
overridevirtual

◆ items()

Span< StoredItem > blender::nodes::Bundle::items ( ) const
inline

◆ lookup()

std::optional< Bundle::Item > blender::nodes::Bundle::lookup ( const SocketInterfaceKey & key) const

◆ operator=() [1/2]

Bundle & blender::nodes::Bundle::operator= ( Bundle && other)
noexcept

Definition at line 70 of file blenkernel/intern/geometry_nodes_bundle.cc.

◆ operator=() [2/2]

Bundle & blender::nodes::Bundle::operator= ( const Bundle & other)

Definition at line 60 of file blenkernel/intern/geometry_nodes_bundle.cc.

References Bundle(), and ~Bundle().

◆ remove()

bool blender::nodes::Bundle::remove ( const SocketInterfaceKey & key)

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