[Bf-blender-cvs] [704811de55a] greasepencil-object: GPencil: Set 3D or 2D mode for baked strokes
Antonio Vazquez
noreply at git.blender.org
Sat Apr 4 11:05:40 CEST 2020
Commit: 704811de55a4c32aa904bca3841d0edc8a313676
Author: Antonio Vazquez
Date: Sat Apr 4 09:38:52 2020 +0200
Branches: greasepencil-object
https://developer.blender.org/rB704811de55a4c32aa904bca3841d0edc8a313676
GPencil: Set 3D or 2D mode for baked strokes
===================================================================
M source/blender/blenkernel/intern/gpencil_geom.c
M source/blender/editors/gpencil/gpencil_mesh.c
M source/blender/editors/object/object_add.c
===================================================================
diff --git a/source/blender/blenkernel/intern/gpencil_geom.c b/source/blender/blenkernel/intern/gpencil_geom.c
index aa297093f19..5adb5fb06c9 100644
--- a/source/blender/blenkernel/intern/gpencil_geom.c
+++ b/source/blender/blenkernel/intern/gpencil_geom.c
@@ -2237,8 +2237,6 @@ void BKE_gpencil_convert_mesh(Main *bmain,
}
bGPdata *gpd = (bGPdata *)ob_gp->data;
- /* Set object in 3D mode. */
- gpd->draw_mode = GP_DRAWMODE_3D;
/* Use evaluated data to get mesh with all modifiers on top. */
Object *ob_eval = (Object *)DEG_get_evaluated_object(depsgraph, ob_mesh);
diff --git a/source/blender/editors/gpencil/gpencil_mesh.c b/source/blender/editors/gpencil/gpencil_mesh.c
index b45a0cb9852..6a60ba530c4 100644
--- a/source/blender/editors/gpencil/gpencil_mesh.c
+++ b/source/blender/editors/gpencil/gpencil_mesh.c
@@ -137,6 +137,8 @@ static int gp_bake_mesh_animation_exec(bContext *C, wmOperator *op)
}
bGPdata *gpd = (bGPdata *)ob_gpencil->data;
+ gpd->draw_mode = (project_type == GP_REPROJECT_KEEP) ? GP_DRAWMODE_3D : GP_DRAWMODE_2D;
+
GP_SpaceConversion gsc = {NULL};
SnapObjectContext *sctx = NULL;
if (project_type != GP_REPROJECT_KEEP) {
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 4b85eb8c9b6..8ddc91772a1 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -2219,7 +2219,7 @@ static int convert_exec(bContext *C, wmOperator *op)
Nurb *nu;
MetaBall *mb;
Mesh *me;
- Object *gpencil_ob = NULL;
+ Object *ob_gpencil = NULL;
const short target = RNA_enum_get(op->ptr, "target");
bool keep_original = RNA_boolean_get(op->ptr, "keep_original");
@@ -2350,15 +2350,19 @@ static int convert_exec(bContext *C, wmOperator *op)
mat4_to_loc_rot_size(loc, rot, size, ob->obmat);
mat3_to_eul(eul, rot);
- gpencil_ob = ED_gpencil_add_object(C, loc, local_view_bits);
- copy_v3_v3(gpencil_ob->loc, loc);
- copy_v3_v3(gpencil_ob->rot, eul);
- copy_v3_v3(gpencil_ob->scale, size);
+ ob_gpencil = ED_gpencil_add_object(C, loc, local_view_bits);
+ copy_v3_v3(ob_gpencil->loc, loc);
+ copy_v3_v3(ob_gpencil->rot, eul);
+ copy_v3_v3(ob_gpencil->scale, size);
unit_m4(matrix);
+ /* Set object in 3D mode. */
+ bGPdata *gpd = (bGPdata *)ob_gpencil->data;
+ gpd->draw_mode = GP_DRAWMODE_3D;
+
BKE_gpencil_convert_mesh(bmain,
depsgraph,
scene,
- gpencil_ob,
+ ob_gpencil,
ob,
angle,
thickness,
@@ -2370,19 +2374,19 @@ static int convert_exec(bContext *C, wmOperator *op)
gpencilConverted = true;
/* Remove unused materials. */
- int actcol = gpencil_ob->actcol;
- for (int slot = 1; slot <= gpencil_ob->totcol; slot++) {
- while (slot <= gpencil_ob->totcol &&
- !BKE_object_material_slot_used(gpencil_ob->data, slot)) {
- gpencil_ob->actcol = slot;
- BKE_object_material_slot_remove(CTX_data_main(C), gpencil_ob);
+ int actcol = ob_gpencil->actcol;
+ for (int slot = 1; slot <= ob_gpencil->totcol; slot++) {
+ while (slot <= ob_gpencil->totcol &&
+ !BKE_object_material_slot_used(ob_gpencil->data, slot)) {
+ ob_gpencil->actcol = slot;
+ BKE_object_material_slot_remove(CTX_data_main(C), ob_gpencil);
if (actcol >= slot) {
actcol--;
}
}
}
- gpencil_ob->actcol = actcol;
+ ob_gpencil->actcol = actcol;
}
else if (ob->type == OB_MESH) {
ob->flag |= OB_DONE;
@@ -2523,10 +2527,10 @@ static int convert_exec(bContext *C, wmOperator *op)
* Nurbs Surface are not supported.
*/
ushort local_view_bits = (v3d && v3d->localvd) ? v3d->local_view_uuid : 0;
- gpencil_ob = ED_gpencil_add_object(C, ob->loc, local_view_bits);
- copy_v3_v3(gpencil_ob->rot, ob->rot);
- copy_v3_v3(gpencil_ob->scale, ob->scale);
- BKE_gpencil_convert_curve(bmain, scene, gpencil_ob, ob, false, false, true);
+ ob_gpencil = ED_gpencil_add_object(C, ob->loc, local_view_bits);
+ copy_v3_v3(ob_gpencil->rot, ob->rot);
+ copy_v3_v3(ob_gpencil->scale, ob->scale);
+ BKE_gpencil_convert_curve(bmain, scene, ob_gpencil, ob, false, false, true);
gpencilConverted = true;
}
}
More information about the Bf-blender-cvs
mailing list