Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-05-03 13:39:12 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-05-03 13:42:05 +0300
commitb5eb6548d1e7f8c01d84e4949ce614c83c7174c8 (patch)
tree77e9c6a992ad86ec850a712cfd6f5b154ec40a54 /source/blender/depsgraph/DEG_depsgraph_query.h
parentec474291a7e388f9a37e5e5409f42d4353789478 (diff)
Depsgraph: Remove filtering API
This was an attempt to speed up motion path calculation, which didn't really work in real world animation files, where animators already hide and disable all the heavy collections. Filtering approach also doesn't allow to have multiple frames evaluated in multiple threads easily. Filtering also adds extra complexity on keeping the graph in a correct and consistent state. Fixes T64057: Blender crash when use motion paths
Diffstat (limited to 'source/blender/depsgraph/DEG_depsgraph_query.h')
-rw-r--r--source/blender/depsgraph/DEG_depsgraph_query.h34
1 files changed, 1 insertions, 33 deletions
diff --git a/source/blender/depsgraph/DEG_depsgraph_query.h b/source/blender/depsgraph/DEG_depsgraph_query.h
index 89e4958eddc..78434411a22 100644
--- a/source/blender/depsgraph/DEG_depsgraph_query.h
+++ b/source/blender/depsgraph/DEG_depsgraph_query.h
@@ -20,7 +20,7 @@
/** \file
* \ingroup depsgraph
*
- * Public API for Querying and Filtering Depsgraph.
+ * Public API for Querying Depsgraph.
*/
#ifndef __DEG_DEPSGRAPH_QUERY_H__
@@ -205,38 +205,6 @@ void DEG_foreach_dependent_ID(const Depsgraph *depsgraph,
void DEG_foreach_ID(const Depsgraph *depsgraph, DEGForeachIDCallback callback, void *user_data);
-/* ********************* DEG graph filtering ****************** */
-
-/* ComponentKey for nodes we want to be able to evaluate in the filtered graph */
-typedef struct DEG_FilterTarget {
- struct DEG_FilterTarget *next, *prev;
-
- struct ID *id;
- /* TODO: component identifiers - Component Type, Subdata/Component Name */
-} DEG_FilterTarget;
-
-typedef enum eDEG_FilterQuery_Granularity {
- DEG_FILTER_NODES_ALL = 0,
- DEG_FILTER_NODES_NO_OPS = 1,
- DEG_FILTER_NODES_ID_ONLY = 2,
-} eDEG_FilterQuery_Granularity;
-
-typedef struct DEG_FilterQuery {
- /* List of DEG_FilterTarget's */
- struct ListBase targets;
-
- /* Level of detail in the resulting graph */
- eDEG_FilterQuery_Granularity detail_level;
-} DEG_FilterQuery;
-
-/* Obtain a new graph instance that only contains the subset of desired nodes
- * WARNING: Do NOT pass an already filtered depsgraph through this function again,
- * as we are currently unable to accurately recreate it.
- */
-Depsgraph *DEG_graph_filter(const Depsgraph *depsgraph,
- struct Main *bmain,
- DEG_FilterQuery *query);
-
#ifdef __cplusplus
} /* extern "C" */
#endif