Blender V5.0
blender::bke::EvaluateClosureComputeContext Class Reference

#include <BKE_compute_contexts.hh>

Inherits blender::bke::NodeComputeContext.

Public Member Functions

 EvaluateClosureComputeContext (const ComputeContext *parent, int32_t node_id, const bNodeTree *tree=nullptr, const std::optional< nodes::ClosureSourceLocation > &closure_source_location=std::nullopt)
std::optional< nodes::ClosureSourceLocationclosure_source_location () const
bool is_recursive () const
Public Member Functions inherited from blender::bke::NodeComputeContext
 NodeComputeContext (const ComputeContext *parent, int32_t node_id, const bNodeTree *tree=nullptr)
int32_t node_id () const
const bNodeTreetree () const
const bNodenode () const
Public Member Functions inherited from blender::ComputeContext
 ComputeContext (const ComputeContext *parent)
virtual ~ComputeContext ()=default
const ComputeContextHashhash () const
const ComputeContextparent () const
void print_stack (std::ostream &stream, StringRef name) const

Additional Inherited Members

Protected Attributes inherited from blender::ComputeContext
const ComputeContextparent_ = nullptr
ComputeContextHash hash_

Detailed Description

Definition at line 165 of file BKE_compute_contexts.hh.

Constructor & Destructor Documentation

◆ EvaluateClosureComputeContext()

blender::bke::EvaluateClosureComputeContext::EvaluateClosureComputeContext ( const ComputeContext * parent,
int32_t node_id,
const bNodeTree * tree = nullptr,
const std::optional< nodes::ClosureSourceLocation > & closure_source_location = std::nullopt )

Member Function Documentation

◆ closure_source_location()

std::optional< nodes::ClosureSourceLocation > blender::bke::EvaluateClosureComputeContext::closure_source_location ( ) const
inline

Definition at line 176 of file BKE_compute_contexts.hh.

Referenced by EvaluateClosureComputeContext().

◆ is_recursive()

bool blender::bke::EvaluateClosureComputeContext::is_recursive ( ) const

True if there is a parent context that evaluates the same closure already. This can only be used when the #ClosureSourceLocation is available.

Definition at line 151 of file compute_contexts.cc.

References blender::ComputeContext::ComputeContext(), EvaluateClosureComputeContext(), blender::ComputeContext::parent(), and blender::ComputeContext::parent_.

Referenced by blender::nodes::find_origin_sockets_through_contexts(), and blender::nodes::find_target_sockets_through_contexts().


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