Blender V4.3
NOD_rna_define.hh File Reference
#include <optional>
#include "BLI_function_ref.hh"
#include "RNA_define.hh"
#include "WM_types.hh"

Go to the source code of this file.

Classes

struct  blender::nodes::EnumRNAAccessors
 

Namespaces

namespace  blender
 
namespace  blender::nodes
 

Macros

#define NOD_inline_enum_accessors(member)
 
#define NOD_storage_enum_accessors(member)
 

Functions

void rna_Node_update (Main *bmain, Scene *scene, PointerRNA *ptr)
 
void rna_Node_socket_update (Main *bmain, Scene *scene, PointerRNA *ptr)
 
void rna_Node_update_relations (Main *bmain, Scene *scne, PointerRNA *ptr)
 
const EnumPropertyItemblender::nodes::enum_items_filter (const EnumPropertyItem *original_item_array, FunctionRef< bool(const EnumPropertyItem &item)> fn)
 
PropertyRNAblender::nodes::RNA_def_node_enum (StructRNA *srna, const char *identifier, const char *ui_name, const char *ui_description, const EnumPropertyItem *static_items, const EnumRNAAccessors accessors, std::optional< int > default_value, const EnumPropertyItemFunc item_func, const bool allow_animation)
 

Macro Definition Documentation

◆ NOD_inline_enum_accessors

#define NOD_inline_enum_accessors ( member)
Value:
EnumRNAAccessors( \
[](PointerRNA *ptr, PropertyRNA * /*prop*/) -> int { \
const bNode &node = *static_cast<const bNode *>(ptr->data); \
return node.member; \
}, \
[](PointerRNA *ptr, PropertyRNA * /*prop*/, const int value) { \
bNode &node = *static_cast<bNode *>(ptr->data); \
node.member = value; \
})
void * data
Definition RNA_types.hh:42
PointerRNA * ptr
Definition wm_files.cc:4126

Generates accessor methods for a property stored directly in the bNode, typically bNode->custom1 or similar.

Definition at line 35 of file NOD_rna_define.hh.

Referenced by blender::nodes::node_fn_align_euler_to_vector_cc::node_rna(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_rna(), blender::nodes::node_fn_axes_to_rotation_cc::node_rna(), blender::nodes::node_fn_boolean_math_cc::node_rna(), blender::nodes::node_fn_hash_value_cc::node_rna(), blender::nodes::node_fn_integer_math_cc::node_rna(), blender::nodes::node_fn_rotate_rotation_cc::node_rna(), blender::nodes::node_fn_value_to_string_cc::node_rna(), blender::nodes::node_geo_attribute_domain_size_cc::node_rna(), blender::nodes::node_geo_attribute_statistic_cc::node_rna(), blender::nodes::node_geo_blur_attribute_cc::node_rna(), blender::nodes::node_geo_boolean_cc::node_rna(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_rna(), blender::nodes::node_geo_evaluate_at_index_cc::node_rna(), blender::nodes::node_geo_evaluate_on_domain_cc::node_rna(), blender::nodes::node_geo_get_named_grid_cc::node_rna(), blender::nodes::node_geo_remove_attribute_cc::node_rna(), blender::nodes::node_geo_sample_grid_cc::node_rna(), blender::nodes::node_geo_sample_grid_index_cc::node_rna(), blender::nodes::node_geo_sample_nearest_cc::node_rna(), blender::nodes::node_geo_sample_nearest_surface_cc::node_rna(), blender::nodes::node_geo_sample_uv_surface_cc::node_rna(), blender::nodes::node_geo_scale_elements_cc::node_rna(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_rna(), blender::nodes::node_geo_set_curve_normal_cc::node_rna(), blender::nodes::node_geo_set_shade_smooth_cc::node_rna(), blender::nodes::node_geo_sort_elements_cc::node_rna(), blender::nodes::node_geo_split_to_instances_cc::node_rna(), blender::nodes::node_geo_store_named_grid_cc::node_rna(), blender::nodes::node_geo_tool_active_element_cc::node_rna(), blender::nodes::node_geo_tool_set_selection_cc::node_rna(), blender::nodes::node_geo_transform_geometry_cc::node_rna(), blender::nodes::node_geo_triangulate_cc::node_rna(), and blender::nodes::node_geo_warning_cc::node_rna().

◆ NOD_storage_enum_accessors

#define NOD_storage_enum_accessors ( member)
Value:
EnumRNAAccessors( \
[](PointerRNA *ptr, PropertyRNA * /*prop*/) -> int { \
const bNode &node = *static_cast<const bNode *>(ptr->data); \
return node_storage(node).member; \
}, \
[](PointerRNA *ptr, PropertyRNA * /*prop*/, const int value) { \
bNode &node = *static_cast<bNode *>(ptr->data); \
node_storage(node).member = value; \
})

Generates accessor methods for a property stored in bNode->storage. This is expected to be used in a node file that uses NODE_STORAGE_FUNCS.

Definition at line 50 of file NOD_rna_define.hh.

Referenced by blender::nodes::node_fn_combine_color_cc::node_rna(), blender::nodes::node_fn_compare_cc::node_rna(), blender::nodes::node_fn_separate_color_cc::node_rna(), blender::nodes::node_geo_accumulate_field_cc::node_rna(), blender::nodes::node_geo_collection_info_cc::node_rna(), blender::nodes::node_geo_curve_fill_cc::node_rna(), blender::nodes::node_geo_curve_fillet_cc::node_rna(), blender::nodes::node_geo_curve_primitive_arc_cc::node_rna(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_rna(), blender::nodes::node_geo_curve_primitive_circle_cc::node_rna(), blender::nodes::node_geo_curve_primitive_line_cc::node_rna(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_rna(), blender::nodes::node_geo_curve_resample_cc::node_rna(), blender::nodes::node_geo_curve_spline_type_cc::node_rna(), blender::nodes::node_geo_curve_to_points_cc::node_rna(), blender::nodes::node_geo_curve_trim_cc::node_rna(), blender::nodes::node_geo_delete_geometry_cc::node_rna(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_rna(), blender::nodes::node_geo_duplicate_elements_cc::node_rna(), blender::nodes::node_geo_extrude_mesh_cc::node_rna(), blender::nodes::node_geo_gizmo_dial_cc::node_rna(), blender::nodes::node_geo_gizmo_linear_cc::node_rna(), blender::nodes::node_geo_index_switch_cc::node_rna(), blender::nodes::node_geo_input_named_attribute_cc::node_rna(), blender::nodes::node_geo_menu_switch_cc::node_rna(), blender::nodes::node_geo_merge_by_distance_cc::node_rna(), blender::nodes::node_geo_merge_layers_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_rna(), blender::nodes::node_geo_mesh_primitive_line_cc::node_rna(), blender::nodes::node_geo_mesh_to_points_cc::node_rna(), blender::nodes::node_geo_mesh_to_volume_cc::node_rna(), blender::nodes::node_geo_object_info_cc::node_rna(), blender::nodes::node_geo_points_to_volume_cc::node_rna(), blender::nodes::node_geo_proximity_cc::node_rna(), blender::nodes::node_geo_raycast_cc::node_rna(), blender::nodes::node_geo_separate_geometry_cc::node_rna(), blender::nodes::node_geo_set_curve_handles_cc::node_rna(), blender::nodes::node_geo_store_named_attribute_cc::node_rna(), blender::nodes::node_geo_subdivision_surface_cc::node_rna(), blender::nodes::node_geo_switch_cc::node_rna(), blender::nodes::node_geo_uv_unwrap_cc::node_rna(), blender::nodes::node_geo_viewer_cc::node_rna(), and blender::nodes::node_geo_volume_to_mesh_cc::node_rna().

Function Documentation

◆ rna_Node_socket_update()

◆ rna_Node_update()

void rna_Node_update ( Main * bmain,
Scene * scene,
PointerRNA * ptr )

◆ rna_Node_update_relations()

void rna_Node_update_relations ( Main * bmain,
Scene * scne,
PointerRNA * ptr )