192using Clock = std::chrono::steady_clock;
297 bool reduced_node_warnings_ =
false;
298 bool reduced_execution_times_ =
false;
299 bool reduced_socket_values_ =
false;
300 bool reduced_viewer_node_logs_ =
false;
301 bool reduced_existing_attributes_ =
false;
302 bool reduced_used_named_attributes_ =
false;
303 bool reduced_debug_messages_ =
false;
304 bool reduced_evaluated_gizmo_nodes_ =
false;
#define BLI_STRUCT_EQUALITY_OPERATORS_2(Type, m1, m2)
#define ENUM_OPERATORS(_type, _max)
static const CPPType & get()
Vector< std::string > input_tooltips
FieldInfoLog(const GField &field)
GenericValueLog(const GMutablePointer value)
GeoTreeLog & get_tree_log(const ComputeContextHash &compute_context_hash)
GeoTreeLogger & get_local_tree_logger(const ComputeContext &compute_context)
static Map< const bke::bNodeTreeZone *, GeoTreeLog * > get_tree_log_by_zone_for_node_editor(const SpaceNode &snode)
static const ViewerNodeLog * find_viewer_node_log_for_path(const ViewerPath &viewer_path)
static Map< const bke::bNodeTreeZone *, ComputeContextHash > get_context_hash_by_zone_for_node_editor(const SpaceNode &snode, StringRefNull modifier_name)
Map< int, ValueLog * > input_values_
Map< StringRefNull, NamedAttributeUsage > used_named_attributes
Map< int, ValueLog * > output_values_
VectorSet< NodeWarning > warnings
std::chrono::nanoseconds execution_time
Vector< StringRefNull > debug_messages
Vector< const GeometryAttributeInfo * > existing_attributes
void ensure_evaluated_gizmo_nodes()
void ensure_used_named_attributes()
VectorSet< NodeWarning > all_warnings
Set< int > evaluated_gizmo_nodes
void ensure_existing_attributes()
void ensure_socket_values()
void ensure_node_warnings(const bNodeTree *tree)
bool try_convert_primitive_socket_value(const GenericValueLog &value_log, const CPPType &dst_type, void *dst)
std::chrono::nanoseconds execution_time
void ensure_execution_times()
void ensure_viewer_node_logs()
GeoTreeLog(GeoModifierLog *modifier_log, Vector< GeoTreeLogger * > tree_loggers)
Map< int32_t, ViewerNodeLog *, 0 > viewer_node_logs
std::optional< T > find_primitive_socket_value(const bNodeSocket &query_socket)
Map< StringRefNull, NamedAttributeUsage > used_named_attributes
Map< int32_t, GeoNodeLog > nodes
void ensure_debug_messages()
ValueLog * find_socket_value_log(const bNodeSocket &query_socket)
std::chrono::nanoseconds execution_time
linear_allocator::ChunkedList< EvaluatedGizmoNode > evaluated_gizmo_nodes
linear_allocator::ChunkedList< AttributeUsageWithNode > used_named_attributes
linear_allocator::ChunkedList< NodeExecutionTime, 16 > node_execution_times
linear_allocator::ChunkedList< ViewerNodeLogWithNode > viewer_node_logs
std::optional< ComputeContextHash > parent_hash
std::optional< int32_t > parent_node_id
linear_allocator::ChunkedList< WarningWithNode > node_warnings
linear_allocator::ChunkedList< DebugMessage > debug_messages
void log_viewer_node(const bNode &viewer_node, bke::GeometrySet geometry)
LinearAllocator * allocator
linear_allocator::ChunkedList< SocketValueLog, 16 > input_socket_values
void log_value(const bNode &node, const bNodeSocket &socket, GPointer value)
linear_allocator::ChunkedList< SocketValueLog, 16 > output_socket_values
Vector< ComputeContextHash > children_hashes
std::optional< EditDataInfo > edit_data_info
std::optional< GridInfo > grid_info
std::optional< MeshInfo > mesh_info
GeometryInfoLog(const bke::GeometrySet &geometry_set)
std::optional< GreasePencilInfo > grease_pencil_info
std::optional< PointCloudInfo > pointcloud_info
Vector< bke::GeometryComponent::Type > component_types
std::optional< InstancesInfo > instances_info
std::optional< VolumeInfo > volume_info
Vector< GeometryAttributeInfo > attributes
std::optional< CurveInfo > curve_info
virtual ~ValueLog()=default
bke::GeometrySet geometry
static const char * modifier_name[LS_MODIFIER_NUM]
int node_warning_type_icon(const NodeWarningType type)
std::chrono::steady_clock Clock
Clock::time_point TimePoint
int node_warning_type_severity(const NodeWarningType type)
std::unique_ptr< T, DestructValueAtAddress< T > > destruct_ptr
uint64_t get_default_hash(const T &v)
unsigned __int64 uint64_t
NamedAttributeUsage usage
StringRefNull attribute_name
destruct_ptr< ValueLog > value
destruct_ptr< ViewerNodeLog > viewer_log
std::optional< eCustomDataType > data_type
std::optional< bke::AttrDomain > domain
bool has_deformed_positions