81 return input_tooltips_;
103 std::unique_ptr<GeometrySet> full_geometry_;
138 return component_types_;
143 return full_geometry_.get();
208 std::unique_ptr<LinearAllocator<>> allocator_;
220 this->allocator_ = std::make_unique<LinearAllocator<>>();
247 std::unique_ptr<GeometryValueLog> input_geometry_log_;
248 std::unique_ptr<GeometryValueLog> output_geometry_log_;
255 : log_full_sockets_(
std::move(log_full_sockets)),
262 input_geometry_log_ = std::make_unique<GeometryValueLog>(geometry);
267 output_geometry_log_ = std::make_unique<GeometryValueLog>(geometry);
272 return threadlocals_.
local();
277 return threadlocals_.
begin();
282 return threadlocals_.
end();
308 std::chrono::microseconds exec_time_;
334 return debug_messages_;
339 return used_named_attributes_;
374 std::unique_ptr<GeometryValueLog> input_geometry_log_;
375 std::unique_ptr<GeometryValueLog> output_geometry_log_;
382 return *root_tree_logs_;
405 TreeLog &lookup_or_add_tree_log(LogByTreeContext &log_by_tree_context,
407 NodeLog &lookup_or_add_node_log(LogByTreeContext &log_by_tree_context,
DNode node);
408 SocketLog &lookup_or_add_socket_log(LogByTreeContext &log_by_tree_context,
DSocket socket);
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
GFieldValueLog(fn::GField field, bool log_full_field)
const CPPType & type() const
const fn::GField & field() const
Span< std::string > input_tooltips() const
GenericValueLog(GMutablePointer data)
void log_output_geometry(const GeometrySet &geometry)
void log_input_geometry(const GeometrySet &geometry)
GeoLogger(Set< DSocket > log_full_sockets)
std::optional< CurveInfo > curve_info
Span< GeometryAttributeInfo > attributes() const
std::optional< MeshInfo > mesh_info
Span< GeometryComponentType > component_types() const
GeometryValueLog(const GeometrySet &geometry_set, bool log_full_geometry=false)
const GeometrySet * full_geometry() const
std::optional< PointCloudInfo > pointcloud_info
std::optional< EditDataInfo > edit_data_info
std::optional< InstancesInfo > instances_info
LocalGeoLogger(GeoLogger &main_logger)
void log_node_warning(DNode node, NodeWarningType type, std::string message)
void log_debug_message(DNode node, std::string message)
void log_multi_value_socket(DSocket socket, Span< GPointer > values)
void log_execution_time(DNode node, std::chrono::microseconds exec_time)
void log_used_named_attribute(DNode node, std::string attribute_name, eNamedAttrUsage usage)
void log_value_for_sockets(Span< DSocket > sockets, GPointer value)
const TreeLog & root_tree() const
static const NodeLog * find_node_by_node_editor_context(const SpaceNode &snode, const bNode &node)
ModifierLog(GeoLogger &logger)
void foreach_node_log(FunctionRef< void(const NodeLog &)> fn) const
const GeometryValueLog * input_geometry_log() const
static const TreeLog * find_tree_by_node_editor_context(const SpaceNode &snode)
static const NodeLog * find_node_by_spreadsheet_editor_context(const SpaceSpreadsheet &sspreadsheet)
const GeometryValueLog * output_geometry_log() const
static const SocketLog * find_socket_by_node_editor_context(const SpaceNode &snode, const bNode &node, const bNodeSocket &socket)
static const ModifierLog * find_root_by_node_editor_context(const SpaceNode &snode)
Span< SocketLog > output_logs() const
void execution_time(std::chrono::microseconds exec_time)
Span< UsedNamedAttribute > used_named_attributes() const
std::chrono::microseconds execution_time() const
Vector< const GeometryAttributeInfo * > lookup_available_attributes() const
Span< NodeWarning > warnings() const
Span< SocketLog > input_logs() const
const SocketLog * lookup_socket_log(eNodeSocketInOut in_out, int index) const
Span< std::string > debug_messages() const
const ValueLog * value() const
const TreeLog * lookup_child_log(StringRef node_name) const
void foreach_node_log(FunctionRef< void(const NodeLog &)> fn) const
const NodeLog * lookup_node_log(StringRef node_name) const
virtual ~ValueLog()=default
ENUM_OPERATORS(eNamedAttrUsage, eNamedAttrUsage::Remove)
std::unique_ptr< T, DestructValueAtAddress< T > > destruct_ptr
std::optional< eCustomDataType > data_type
std::optional< eAttrDomain > domain
bool has_deformed_positions
std::chrono::microseconds exec_time
UsedNamedAttribute attribute
destruct_ptr< ValueLog > value