|
Blender V4.3
|
Inherits blender::fn::lazy_function::LazyFunction.
Public Member Functions | |
| LazyFunctionForSwitchNode (const bNode &node) | |
| void | execute_impl (lf::Params ¶ms, const lf::Context &) const override |
| void | execute_single (const bool condition, lf::Params ¶ms) const |
| void | execute_field (Field< bool > condition, lf::Params ¶ms) const |
| const MultiFunction & | get_switch_multi_function () const |
Public Member Functions inherited from blender::fn::lazy_function::LazyFunction | |
| virtual | ~LazyFunction ()=default |
| virtual std::string | name () const |
| virtual std::string | input_name (int index) const |
| virtual std::string | output_name (int index) const |
| virtual void * | init_storage (LinearAllocator<> &allocator) const |
| virtual void | destruct_storage (void *storage) const |
| virtual void | possible_output_dependencies (int output_index, FunctionRef< void(Span< int >)> fn) const |
| bool | always_used_inputs_available (const Params ¶ms) const |
| bool | allow_missing_requested_inputs () const |
| Span< Input > | inputs () const |
| Span< Output > | outputs () const |
| void | execute (Params ¶ms, const Context &context) const |
Static Public Attributes | |
| static constexpr int | false_input_index = 1 |
| static constexpr int | true_input_index = 2 |
Additional Inherited Members | |
Protected Attributes inherited from blender::fn::lazy_function::LazyFunction | |
| const char * | debug_name_ = "unknown" |
| Vector< Input > | inputs_ |
| Vector< Output > | outputs_ |
| bool | allow_missing_requested_inputs_ = false |
Definition at line 96 of file node_geo_switch.cc.
|
inline |
Definition at line 102 of file node_geo_switch.cc.
References blender::bke::bNodeSocketType::base_cpp_type, BLI_assert, blender::fn::lazy_function::LazyFunction::debug_name_, blender::bke::bNodeSocketType::geometry_nodes_cpp_type, blender::CPPType::get(), NodeSwitch::input_type, blender::fn::lazy_function::LazyFunction::inputs_, blender::CPPType::name(), blender::fn::lazy_function::LazyFunction::outputs_, and blender::nodes::socket_type_supports_fields().
|
inline |
Definition at line 158 of file node_geo_switch.cc.
References blender::fn::FieldOperation::Create(), ELEM, blender::bke::SocketValueVariant::extract(), false_input_index, get_switch_multi_function(), params, and true_input_index.
Referenced by execute_impl().
|
inlineoverridevirtual |
Needs to be implemented by subclasses. This is separate from execute so that additional debugging logic can be implemented in execute.
Implements blender::fn::lazy_function::LazyFunction.
Definition at line 126 of file node_geo_switch.cc.
References execute_field(), execute_single(), blender::bke::SocketValueVariant::get(), blender::bke::SocketValueVariant::is_context_dependent_field(), and params.
|
inline |
Definition at line 140 of file node_geo_switch.cc.
References false_input_index, blender::fn::lazy_function::LazyFunction::outputs_, params, and true_input_index.
Referenced by execute_impl().
|
inline |
Definition at line 184 of file node_geo_switch.cc.
References BLI_assert, BLI_assert_unreachable, float, int, and blender::CPPType::to_static_type_tag().
Referenced by execute_field().
|
staticconstexpr |
Definition at line 137 of file node_geo_switch.cc.
Referenced by execute_field(), and execute_single().
|
staticconstexpr |
Definition at line 138 of file node_geo_switch.cc.
Referenced by execute_field(), and execute_single().