|
Blender V4.3
|
Inherits blender::fn::lazy_function::LazyFunction.
Public Member Functions | |
| LazyFunctionForGizmoNode (const bNode &bnode, MutableSpan< int > r_lf_index_by_bsocket) | |
| void | execute_impl (lf::Params ¶ms, const lf::Context &context) const override |
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 |
Public Attributes | |
| const lf::FunctionNode * | self_node = nullptr |
| Vector< const bNodeLink * > | gizmo_links |
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 |
A lazy-function that is used for gizmo nodes. All inputs are only required if the node is a side effect node. They are evaluated because their value has to be logged. The transform output should only contain the transform if it is a side effect node as well.
Definition at line 877 of file geometry_nodes_lazy_function.cc.
|
inline |
Definition at line 885 of file geometry_nodes_lazy_function.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::fn::lazy_function::LazyFunction::debug_name_, blender::CPPType::get(), gizmo_links, bNodeSocket::identifier, blender::fn::lazy_function::LazyFunction::inputs_, bNode::name, blender::fn::lazy_function::LazyFunction::outputs_, and bNodeSocket::typeinfo.
|
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 912 of file geometry_nodes_lazy_function.cc.
References blender::bke::GeometryComponentEditData::gizmo_edit_hints_, blender::nodes::gizmo_is_used(), bNode::identifier, blender::MatBase< float, 4, 4 >::identity(), blender::fn::lazy_function::LazyFunction::inputs_, params, and blender::nodes::set_default_remaining_node_outputs().
Definition at line 883 of file geometry_nodes_lazy_function.cc.
Referenced by LazyFunctionForGizmoNode().
| const lf::FunctionNode* blender::nodes::LazyFunctionForGizmoNode::self_node = nullptr |
Definition at line 882 of file geometry_nodes_lazy_function.cc.