Blender V4.3
blender::nodes::GeoNodeExecParams Class Reference

#include <NOD_geometry_exec.hh>

Public Member Functions

 GeoNodeExecParams (const bNode &node, lf::Params &params, const lf::Context &lf_context, const Span< int > lf_input_for_output_bsocket_usage, const Span< int > lf_input_for_attribute_propagation_to_output, const FunctionRef< std::string(int)> get_output_attribute_id)
 
template<typename T >
T extract_input (StringRef identifier)
 
void check_input_geometry_set (StringRef identifier, const GeometrySet &geometry_set) const
 
void check_output_geometry_set (const GeometrySet &geometry_set) const
 
template<typename T >
T get_input (StringRef identifier) const
 
template<typename T >
void set_output (StringRef identifier, T &&value)
 
geo_eval_log::GeoTreeLoggerget_local_tree_logger () const
 
void set_input_unused (StringRef identifier)
 
bool output_is_required (StringRef identifier) const
 
const bNodenode () const
 
const Objectself_object () const
 
const Depsgraph * depsgraph () const
 
Mainbmain () const
 
GeoNodesLFUserDatauser_data () const
 
GeoNodesLFLocalUserDatalocal_user_data () const
 
void error_message_add (const NodeWarningType type, StringRef message) const
 
void set_default_remaining_outputs ()
 
void used_named_attribute (StringRef attribute_name, NamedAttributeUsage usage)
 
bool anonymous_attribute_output_is_required (const StringRef output_identifier)
 
std::optional< std::string > get_output_anonymous_attribute_id_if_needed (const StringRef output_identifier, const bool force_create=false)
 
NodeAttributeFilter get_attribute_filter (const StringRef output_identifier) const
 

Static Public Attributes

template<typename T >
static constexpr bool is_field_base_type_v
 
template<typename T >
static constexpr bool stored_as_SocketValueVariant_v
 

Detailed Description

Definition at line 71 of file NOD_geometry_exec.hh.

Constructor & Destructor Documentation

◆ GeoNodeExecParams()

blender::nodes::GeoNodeExecParams::GeoNodeExecParams ( const bNode & node,
lf::Params & params,
const lf::Context & lf_context,
const Span< int > lf_input_for_output_bsocket_usage,
const Span< int > lf_input_for_attribute_propagation_to_output,
const FunctionRef< std::string(int)> get_output_attribute_id )
inline

Definition at line 81 of file NOD_geometry_exec.hh.

Member Function Documentation

◆ anonymous_attribute_output_is_required()

bool blender::nodes::GeoNodeExecParams::anonymous_attribute_output_is_required ( const StringRef output_identifier)
inline

Return true when the anonymous attribute referenced by the given output should be created.

Definition at line 274 of file NOD_geometry_exec.hh.

References blender::fn::lazy_function::Params::get_input().

Referenced by get_output_anonymous_attribute_id_if_needed().

◆ bmain()

Main * blender::nodes::GeoNodeExecParams::bmain ( ) const

Definition at line 24 of file node_geometry_exec.cc.

References DEG_get_bmain(), and depsgraph().

◆ check_input_geometry_set()

◆ check_output_geometry_set()

void blender::nodes::GeoNodeExecParams::check_output_geometry_set ( const GeometrySet & geometry_set) const

◆ depsgraph()

const Depsgraph * blender::nodes::GeoNodeExecParams::depsgraph ( ) const
inline

Definition at line 236 of file NOD_geometry_exec.hh.

References user_data().

Referenced by bmain().

◆ error_message_add()

void blender::nodes::GeoNodeExecParams::error_message_add ( const NodeWarningType type,
StringRef message ) const

Add an error message displayed at the top of the node when displaying the node tree, and potentially elsewhere in Blender.

Definition at line 29 of file node_geometry_exec.cc.

References get_local_tree_logger().

◆ extract_input()

template<typename T >
T blender::nodes::GeoNodeExecParams::extract_input ( StringRef identifier)
inline

Get the input value for the input socket with the given identifier.

This method can only be called once for each identifier.

Definition at line 118 of file NOD_geometry_exec.hh.

References BLI_assert, check_input_geometry_set(), blender::bke::SocketValueVariant::extract(), blender::fn::lazy_function::Params::extract_input(), extract_input(), blender::CPPType::get(), stored_as_SocketValueVariant_v, and bNode::type.

Referenced by extract_input().

◆ get_attribute_filter()

NodeAttributeFilter blender::nodes::GeoNodeExecParams::get_attribute_filter ( const StringRef output_identifier) const
inline

Get information about which attributes should be propagated to the given output.

Definition at line 299 of file NOD_geometry_exec.hh.

References blender::fn::lazy_function::Params::get_input().

◆ get_input()

template<typename T >
T blender::nodes::GeoNodeExecParams::get_input ( StringRef identifier) const
inline

Get the input value for the input socket with the given identifier.

Definition at line 147 of file NOD_geometry_exec.hh.

References BLI_assert, check_input_geometry_set(), blender::CPPType::get(), blender::fn::lazy_function::Params::get_input(), get_input(), stored_as_SocketValueVariant_v, and bNode::type.

Referenced by get_input().

◆ get_local_tree_logger()

geo_eval_log::GeoTreeLogger * blender::nodes::GeoNodeExecParams::get_local_tree_logger ( ) const
inline

◆ get_output_anonymous_attribute_id_if_needed()

std::optional< std::string > blender::nodes::GeoNodeExecParams::get_output_anonymous_attribute_id_if_needed ( const StringRef output_identifier,
const bool force_create = false )
inline

Return a new anonymous attribute id for the given output. None is returned if the anonymous attribute is not needed.

Definition at line 286 of file NOD_geometry_exec.hh.

References anonymous_attribute_output_is_required().

◆ local_user_data()

GeoNodesLFLocalUserData * blender::nodes::GeoNodeExecParams::local_user_data ( ) const
inline

◆ node()

const bNode & blender::nodes::GeoNodeExecParams::node ( ) const
inline

Get the node that is currently being executed.

Definition at line 223 of file NOD_geometry_exec.hh.

◆ output_is_required()

bool blender::nodes::GeoNodeExecParams::output_is_required ( StringRef identifier) const
inline

Returns true when the output has to be computed.

Definition at line 214 of file NOD_geometry_exec.hh.

References blender::fn::lazy_function::Params::get_output_usage().

◆ self_object()

const Object * blender::nodes::GeoNodeExecParams::self_object ( ) const
inline

Definition at line 228 of file NOD_geometry_exec.hh.

References user_data().

◆ set_default_remaining_outputs()

void blender::nodes::GeoNodeExecParams::set_default_remaining_outputs ( )

◆ set_input_unused()

void blender::nodes::GeoNodeExecParams::set_input_unused ( StringRef identifier)
inline

Tell the evaluator that a specific input won't be used anymore.

Definition at line 205 of file NOD_geometry_exec.hh.

References blender::fn::lazy_function::Params::set_input_unused().

◆ set_output()

template<typename T >
void blender::nodes::GeoNodeExecParams::set_output ( StringRef identifier,
T && value )
inline

Store the output value for the given socket identifier.

Definition at line 173 of file NOD_geometry_exec.hh.

References BLI_assert, check_output_geometry_set(), blender::CPPType::get(), blender::fn::lazy_function::Params::set_output(), set_output(), stored_as_SocketValueVariant_v, and bNode::type.

Referenced by set_output().

◆ used_named_attribute()

void blender::nodes::GeoNodeExecParams::used_named_attribute ( StringRef attribute_name,
NamedAttributeUsage usage )

Definition at line 39 of file node_geometry_exec.cc.

◆ user_data()

GeoNodesLFUserData * blender::nodes::GeoNodeExecParams::user_data ( ) const
inline

Member Data Documentation

◆ is_field_base_type_v

template<typename T >
bool blender::nodes::GeoNodeExecParams::is_field_base_type_v
inlinestaticconstexpr
Initial value:
int,
bool,
std::string,
draw_view in_light_buf[] float
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
#define T
QuaternionBase< float > Quaternion
constexpr bool is_same_any_v
MatBase< float, 4, 4 > float4x4
ColorSceneLinear4f< eAlpha::Premultiplied > ColorGeometry4f
Definition BLI_color.hh:337
VecBase< float, 3 > float3

Definition at line 98 of file NOD_geometry_exec.hh.

◆ stored_as_SocketValueVariant_v

template<typename T >
bool blender::nodes::GeoNodeExecParams::stored_as_SocketValueVariant_v
inlinestaticconstexpr
Initial value:
=
is_field_base_type_v<T> || fn::is_field_v<T> || bke::is_VolumeGrid_v<T> ||
static constexpr bool is_field_base_type_v
static constexpr bool is_field_v
Definition FN_field.hh:217

Definition at line 109 of file NOD_geometry_exec.hh.

Referenced by extract_input(), get_input(), and set_output().


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