|
Blender V5.0
|
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 112 of file node_geo_switch.cc.
|
inline |
Definition at line 118 of file node_geo_switch.cc.
References blender::bke::bNodeSocketType::base_cpp_type, BLI_assert, blender::fn::lazy_function::LazyFunction::debug_name_, blender::CPPType::get(), NodeSwitch::input_type, blender::fn::lazy_function::LazyFunction::inputs_, blender::fn::lazy_function::Maybe, bNode::name, blender::fn::lazy_function::LazyFunction::outputs_, and blender::nodes::socket_type_supports_fields().
|
inline |
Definition at line 174 of file node_geo_switch.cc.
References blender::nodes::SocketValueVariant::ConstructIn(), ELEM, blender::bke::SocketValueVariant::extract(), false_input_index, blender::nodes::FieldOperation::from(), 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 142 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 156 of file node_geo_switch.cc.
References false_input_index, blender::CPPType::move_construct(), blender::fn::lazy_function::LazyFunction::outputs_, params, and true_input_index.
Referenced by execute_impl().
|
inline |
Definition at line 200 of file node_geo_switch.cc.
References BLI_assert, BLI_assert_unreachable, float, and T.
Referenced by execute_field().
|
staticconstexpr |
Definition at line 153 of file node_geo_switch.cc.
Referenced by execute_field(), and execute_single().
|
staticconstexpr |
Definition at line 154 of file node_geo_switch.cc.
Referenced by execute_field(), and execute_single().