Blender V4.3
blender::ComputeContext Class Referenceabstract

#include <BLI_compute_context.hh>

Inherited by blender::bke::ForeachGeometryElementZoneComputeContext, blender::bke::GroupNodeComputeContext, blender::bke::ModifierComputeContext, blender::bke::OperatorComputeContext, blender::bke::RepeatZoneComputeContext, and blender::bke::SimulationZoneComputeContext.

Public Member Functions

 ComputeContext (const char *static_type, const ComputeContext *parent)
virtual ~ComputeContext ()=default
const ComputeContextHashhash () const
const char * static_type () const
const ComputeContextparent () const
void print_stack (std::ostream &stream, StringRef name) const
virtual void print_current_in_line (std::ostream &stream) const =0

Protected Attributes

ComputeContextHash hash_

Friends

std::ostream & operator<< (std::ostream &stream, const ComputeContext &compute_context)

Detailed Description

Identifies the context in which a computation happens. This context can be used to identify values logged during the computation. For more details, see the comment at the top of the file.

This class should be subclassed to implement specific contexts.

Definition at line 73 of file BLI_compute_context.hh.

Constructor & Destructor Documentation

◆ ComputeContext()

◆ ~ComputeContext()

virtual blender::ComputeContext::~ComputeContext ( )
virtualdefault

Member Function Documentation

◆ hash()

const ComputeContextHash & blender::ComputeContext::hash ( ) const
inline

Definition at line 101 of file BLI_compute_context.hh.

References hash_.

Referenced by blender::nodes::LazyFunctionForGeometryNode::anonymous_attribute_name_for_output(), blender::nodes::gizmos::apply_gizmo_change(), blender::nodes::LazyFunctionForGroupNode::execute_impl(), blender::nodes::LazyFunctionForSimulationInputsUsage::execute_impl(), blender::nodes::LazyFunctionForSimulationZone::execute_impl(), blender::nodes::LazyFunctionForViewerInputUsage::execute_impl(), blender::nodes::ForeachGeometryElementNodeExecuteWrapper::execute_node(), blender::nodes::RepeatBodyNodeExecuteWrapper::execute_node(), blender::find_side_effect_nodes_for_active_gizmos(), blender::ed::space_node::find_sockets_on_active_gizmo_paths(), blender::nodes::gizmos::get_editable_gizmo_elem(), blender::nodes::geo_eval_log::GeoModifierLog::get_local_tree_logger(), blender::nodes::ForeachGeometryElementZoneSideEffectProvider::get_nodes_with_side_effects(), blender::nodes::GeometryNodesLazyFunctionSideEffectProvider::get_nodes_with_side_effects(), blender::nodes::RepeatZoneSideEffectProvider::get_nodes_with_side_effects(), blender::get_root_tree_log(), blender::nodes::gizmo_is_used(), blender::ComputeContextBuilder::hash(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::make_attribute_field(), blender::nodes::node_geo_simulation_cc::make_attribute_field(), blender::ed::geometry::run_node_group_exec(), blender::try_add_side_effect_node(), and blender::ed::view3d::geometry_nodes_gizmos::WIDGETGROUP_geometry_nodes_refresh().

◆ parent()

◆ print_current_in_line()

virtual void blender::ComputeContext::print_current_in_line ( std::ostream & stream) const
pure virtual

Print information about this specific context. This has to be implemented by each subclass.

References ComputeContext().

Referenced by print_stack().

◆ print_stack()

◆ static_type()

const char * blender::ComputeContext::static_type ( ) const
inline

Definition at line 106 of file BLI_compute_context.hh.

Referenced by ComputeContext().

◆ operator<<

std::ostream & operator<< ( std::ostream & stream,
const ComputeContext & compute_context )
friend

Definition at line 50 of file compute_context.cc.

References ComputeContext(), and print_stack().

Member Data Documentation

◆ hash_


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