Merge branch 'master' into blender2.8
[blender.git] / source / blender / blenkernel / BKE_curve.h
index be05f7d413647717c966905ea6d3c9330ccfabe7..ebce4643a878f61a2102265bb9c07c7eda08eed3 100644 (file)
@@ -36,6 +36,7 @@
 struct BezTriple;
 struct Curve;
 struct EditNurb;
+struct EvaluationContext;
 struct GHash;
 struct ListBase;
 struct Main;
@@ -122,12 +123,12 @@ void BKE_curve_editNurb_keyIndex_free(struct GHash **keyindex);
 void BKE_curve_editNurb_free(struct Curve *cu);
 struct ListBase *BKE_curve_editNurbs_get(struct Curve *cu);
 
-float *BKE_curve_make_orco(struct Scene *scene, struct Object *ob, int *r_numVerts);
+float *BKE_curve_make_orco(struct EvaluationContext *eval_ctx, struct Scene *scene, struct Object *ob, int *r_numVerts);
 float *BKE_curve_surf_make_orco(struct Object *ob);
 
 void BKE_curve_bevelList_free(struct ListBase *bev);
 void BKE_curve_bevelList_make(struct Object *ob, struct ListBase *nurbs, bool for_render);
-void BKE_curve_bevel_make(struct Scene *scene, struct Object *ob,  struct ListBase *disp,
+void BKE_curve_bevel_make(struct EvaluationContext *eval_ctx, struct Scene *scene, struct Object *ob,  struct ListBase *disp,
                           const bool for_render, const bool use_render_resolution);
 
 void BKE_curve_forward_diff_bezier(float q0, float q1, float q2, float q3, float *p, int it, int stride);
@@ -213,12 +214,18 @@ void BKE_nurb_handles_test(struct Nurb *nu, const bool use_handles);
 
 /* **** Depsgraph evaluation **** */
 
-struct EvaluationContext;
-
 void BKE_curve_eval_geometry(struct EvaluationContext *eval_ctx,
                              struct Curve *curve);
 
 void BKE_curve_eval_path(struct EvaluationContext *eval_ctx,
                          struct Curve *curve);
 
+/* Draw Cache */
+enum {
+       BKE_CURVE_BATCH_DIRTY_ALL = 0,
+       BKE_CURVE_BATCH_DIRTY_SELECT,
+};
+void BKE_curve_batch_cache_dirty(struct Curve *cu, int mode);
+void BKE_curve_batch_cache_free(struct Curve *cu);
+
 #endif  /* __BKE_CURVE_H__ */