Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/intern/geometry_nodes_eval_log.cc
| Show All 20 Lines | |||||
| #include "DNA_modifier_types.h" | #include "DNA_modifier_types.h" | ||||
| #include "DNA_space_types.h" | #include "DNA_space_types.h" | ||||
| namespace blender::nodes::geometry_nodes_eval_log { | namespace blender::nodes::geometry_nodes_eval_log { | ||||
| using fn::CPPType; | using fn::CPPType; | ||||
| ModifierLog::ModifierLog(GeoLogger &logger) | ModifierLog::ModifierLog(GeoLogger &logger) | ||||
| : input_geometry_log_(std::move(*logger.input_geometry_log_)), | |||||
| output_geometry_log_(std::move(*logger.output_geometry_log_)) | |||||
| { | { | ||||
| root_tree_logs_ = allocator_.construct<TreeLog>(); | root_tree_logs_ = allocator_.construct<TreeLog>(); | ||||
| LogByTreeContext log_by_tree_context; | LogByTreeContext log_by_tree_context; | ||||
| /* Combine all the local loggers that have been used by separate threads. */ | /* Combine all the local loggers that have been used by separate threads. */ | ||||
| for (LocalGeoLogger &local_logger : logger) { | for (LocalGeoLogger &local_logger : logger) { | ||||
| /* Take ownership of the allocator. */ | /* Take ownership of the allocator. */ | ||||
| ▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | |||||
| void ModifierLog::foreach_node_log(FunctionRef<void(const NodeLog &)> fn) const | void ModifierLog::foreach_node_log(FunctionRef<void(const NodeLog &)> fn) const | ||||
| { | { | ||||
| if (root_tree_logs_) { | if (root_tree_logs_) { | ||||
| root_tree_logs_->foreach_node_log(fn); | root_tree_logs_->foreach_node_log(fn); | ||||
| } | } | ||||
| } | } | ||||
| const GeometryValueLog &ModifierLog::input_geometry_log() const | |||||
| { | |||||
| return input_geometry_log_; | |||||
| } | |||||
| const GeometryValueLog &ModifierLog::output_geometry_log() const | |||||
| { | |||||
| return output_geometry_log_; | |||||
| } | |||||
| const NodeLog *TreeLog::lookup_node_log(StringRef node_name) const | const NodeLog *TreeLog::lookup_node_log(StringRef node_name) const | ||||
| { | { | ||||
| const destruct_ptr<NodeLog> *node_log = node_logs_.lookup_ptr_as(node_name); | const destruct_ptr<NodeLog> *node_log = node_logs_.lookup_ptr_as(node_name); | ||||
| if (node_log == nullptr) { | if (node_log == nullptr) { | ||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| return node_log->get(); | return node_log->get(); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 272 Lines • Show Last 20 Lines | |||||