2 * This program is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU General Public License
4 * as published by the Free Software Foundation; either version 2
5 * of the License, or (at your option) any later version.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software Foundation,
14 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 * The Original Code is Copyright (C) 2014 Blender Foundation.
17 * All rights reserved.
20 /** \file blender/depsgraph/DEG_depsgraph_debug.h
23 * Public API for Querying and Filtering Depsgraph
26 #ifndef __DEG_DEPSGRAPH_DEBUG_H__
27 #define __DEG_DEPSGRAPH_DEBUG_H__
39 /* ------------------------------------------------ */
41 /* NOTE: Those flags are same bitmask as G.debug_flags */
43 void DEG_debug_flags_set(struct Depsgraph *depsgraph, int flags);
44 int DEG_debug_flags_get(const struct Depsgraph *depsgraph);
46 void DEG_debug_name_set(struct Depsgraph *depsgraph, const char *name);
47 const char *DEG_debug_name_get(struct Depsgraph *depsgraph);
49 /* ------------------------------------------------ */
51 void DEG_stats_simple(const struct Depsgraph *graph,
56 /* ************************************************ */
57 /* Diagram-Based Graph Debugging */
59 void DEG_debug_relations_graphviz(const struct Depsgraph *graph,
63 void DEG_debug_stats_gnuplot(const struct Depsgraph *graph,
66 const char *output_filename);
68 /* ************************************************ */
70 /* Compare two dependency graphs. */
71 bool DEG_debug_compare(const struct Depsgraph *graph1,
72 const struct Depsgraph *graph2);
74 /* Check that dependnecies in the graph are really up to date. */
75 bool DEG_debug_graph_relations_validate(struct Depsgraph *graph,
78 struct ViewLayer *view_layer);
80 /* Perform consistency check on the graph. */
81 bool DEG_debug_consistency_check(struct Depsgraph *graph);
87 #endif /* __DEG_DEPSGRAPH_DEBUG_H__ */