diff options
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); |