diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-26 17:27:15 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-26 17:33:44 +0300 |
commit | a01c1849e9f593e277da044c4f30a459d9391d75 (patch) | |
tree | 6cc8df5fbb7407b25dced0dabeaa5e81befe44bb /source/blender/depsgraph/DEG_depsgraph.h | |
parent | e99350aeaa82ffd3765ea0b2c03e57ba3b837646 (diff) |
Depsgraph: Add utility function to initialize evaluation context from scene and layer
Diffstat (limited to 'source/blender/depsgraph/DEG_depsgraph.h')
-rw-r--r-- | source/blender/depsgraph/DEG_depsgraph.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/source/blender/depsgraph/DEG_depsgraph.h b/source/blender/depsgraph/DEG_depsgraph.h index 8af186eae05..540367712f1 100644 --- a/source/blender/depsgraph/DEG_depsgraph.h +++ b/source/blender/depsgraph/DEG_depsgraph.h @@ -65,26 +65,27 @@ struct Main; struct PointerRNA; struct PropertyRNA; +struct Scene; struct SceneLayer; +typedef enum eEvaluationMode { + DAG_EVAL_VIEWPORT = 0, /* evaluate for OpenGL viewport */ + DAG_EVAL_PREVIEW = 1, /* evaluate for render with preview settings */ + DAG_EVAL_RENDER = 2, /* evaluate for render purposes */ +} eEvaluationMode; + /* Dependency graph evaluation context * * This structure stores all the local dependency graph data, * which is needed for it's evaluation, */ typedef struct EvaluationContext { - int mode; + eEvaluationMode mode; float ctime; struct SceneLayer *scene_layer; } EvaluationContext; -typedef enum eEvaluationMode { - DAG_EVAL_VIEWPORT = 0, /* evaluate for OpenGL viewport */ - DAG_EVAL_PREVIEW = 1, /* evaluate for render with preview settings */ - DAG_EVAL_RENDER = 2, /* evaluate for render purposes */ -} eEvaluationMode; - /* DagNode->eval_flags */ enum { /* Regardless to curve->path animation flag path is to be evaluated anyway, @@ -198,13 +199,18 @@ void DEG_ids_check_recalc(struct Main *bmain, /* Evaluation Context ---------------------------- */ /* Create new evaluation context. */ -struct EvaluationContext *DEG_evaluation_context_new(int mode); +struct EvaluationContext *DEG_evaluation_context_new(eEvaluationMode mode); /* Initialize evaluation context. * Used by the areas which currently overrides the context or doesn't have * access to a proper one. */ -void DEG_evaluation_context_init(struct EvaluationContext *eval_ctx, int mode); +void DEG_evaluation_context_init(struct EvaluationContext *eval_ctx, + eEvaluationMode mode); +void DEG_evaluation_context_init_from_scene(struct EvaluationContext *eval_ctx, + struct Scene *scene, + struct SceneLayer *scene_layer, + eEvaluationMode mode); /* Free evaluation context. */ void DEG_evaluation_context_free(struct EvaluationContext *eval_ctx); |