[Bf-blender-cvs] [a4287db20db] soc-2019-npr: LANPR: Fix smooth contour modifier merge errors.

YimingWu noreply at git.blender.org
Tue Jun 18 10:23:46 CEST 2019


Commit: a4287db20db995aae22e02fb6e9702e0697c72d6
Author: YimingWu
Date:   Tue Jun 18 16:22:27 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rBa4287db20db995aae22e02fb6e9702e0697c72d6

LANPR: Fix smooth contour modifier merge errors.

===================================================================

M	source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
M	source/blender/makesdna/DNA_gpencil_modifier_types.h
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesrna/intern/rna_gpencil_modifier.c
M	source/blender/modifiers/intern/MOD_mybmesh.c

===================================================================

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
index 6a170f3bf3a..75707792f53 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
@@ -68,24 +68,16 @@
 #include "MOD_gpencil_util.h"
 #include "MOD_gpencil_modifiertypes.h"
 
-<<<<<<< HEAD
 #include "lanpr_access.h"
 
 static void initData(GpencilModifierData *md)
 {
   StrokeGpencilModifierData *gpmd = (StrokeGpencilModifierData *)md;
   gpmd->object = NULL;
-=======
-static void initData(GpencilModifierData *md)
-{
-	StrokeGpencilModifierData *gpmd = (StrokeGpencilModifierData *)md;
-	gpmd->object = NULL;
->>>>>>> DarkdefenderRepo/npr_tess
 }
 
 static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
 {
-<<<<<<< HEAD
   BKE_gpencil_modifier_copyData_generic(md, target);
 }
 
@@ -109,193 +101,19 @@ static void bakeModifier(Main *UNUSED(bmain),
       deformStroke(md, depsgraph, ob, gpl, gpf);
     }
   }
-=======
-	BKE_gpencil_modifier_copyData_generic(md, target);
-}
-
-static void generate_geometry(
-        GpencilModifierData *md, Depsgraph *UNUSED(depsgraph),
-        Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
-{
-	StrokeGpencilModifierData *gpmd = (StrokeGpencilModifierData *)md;
-
-	if( gpmd->object == NULL ){
-		printf("NULL object!\n");
-    	return;
-	}
-
-	int color_idx = 0;
-	int tot_points = 0;
-	short thickness = 1;
-
-	float mat[4][4];
-
-	unit_m4(mat);
-
-	BMesh *bm;
-
-	bm = BKE_mesh_to_bmesh_ex(
-			gpmd->object->data,
-			&(struct BMeshCreateParams){0},
-			&(struct BMeshFromMeshParams){
-			.calc_face_normal = true,
-			.cd_mask_extra = CD_MASK_ORIGINDEX,
-			});
-
- 	BMVert *vert;
-	BMIter iter;
-
-	BM_ITER_MESH (vert, &iter, bm, BM_VERTS_OF_MESH) {
-
-        //Have we already used this vert?
-		if(!BM_elem_flag_test(vert, BM_ELEM_SELECT)){
-        	continue;
-		}
-
-		BMVert *prepend_vert = NULL;
-		BMVert *next_vert = vert;
-		//Chain together the C verts and export them as GP strokes (chain in object space)
-		BMVert *edge_vert;
-		BMEdge *e;
-		BMIter iter_e;
-
-		LinkNodePair chain = {NULL, NULL};
-
-		int connected_c_verts;
-
-		while( next_vert != NULL ){
-
-			connected_c_verts = 0;
-			vert = next_vert;
-
-			BLI_linklist_append(&chain, vert);
-
-			BM_elem_flag_disable(vert, BM_ELEM_SELECT);
-
-			BM_ITER_ELEM (e, &iter_e, vert, BM_EDGES_OF_VERT) {
-				edge_vert = BM_edge_other_vert(e, vert);
-
-				if(BM_elem_flag_test(edge_vert, BM_ELEM_SELECT)){
-					if( connected_c_verts == 0 ){
-                    	next_vert = edge_vert;
-					} else if( connected_c_verts == 1 && prepend_vert == NULL ){
-                    	prepend_vert = edge_vert;
-					} else {
-                    	printf("C verts not connected in a simple line!\n");
-					}
-					connected_c_verts++;
-				}
-
-			}
-
-			if( connected_c_verts == 0 ){
-            	next_vert = NULL;
-			}
-
-		}
-
-		LinkNode *pre_list = chain.list;
-
-		while( prepend_vert != NULL ) {
-
-			connected_c_verts = 0;
-            vert = prepend_vert;
-
-			BLI_linklist_prepend(&pre_list, vert);
-
-			BM_elem_flag_disable(vert, BM_ELEM_SELECT);
-
-			BM_ITER_ELEM (e, &iter_e, vert, BM_EDGES_OF_VERT) {
-				edge_vert = BM_edge_other_vert(e, vert);
-
-				if(BM_elem_flag_test(edge_vert, BM_ELEM_SELECT)){
-					if( connected_c_verts == 0 ){
-                    	prepend_vert = edge_vert;
-					} else {
-                    	printf("C verts not connected in a simple line!\n");
-					}
-					connected_c_verts++;
-				}
-
-			}
-
-			if( connected_c_verts == 0 ){
-            	prepend_vert = NULL;
-			}
-		}
-
-		tot_points = BLI_linklist_count(pre_list);
-
-		printf("Tot points: %d\n", tot_points);
-
-		if( tot_points <= 1 ){
-			//Don't draw a stroke, chain too short.
-			printf("Chain to short\n");
-        	continue;
-		}
-
-		float *stroke_data = BLI_array_alloca(stroke_data, tot_points * GP_PRIM_DATABUF_SIZE);
-
-		int array_idx = 0;
-
-		for (LinkNode *entry = pre_list; entry; entry = entry->next) {
-			vert = entry->link;
-			stroke_data[array_idx] = vert->co[0];
-			stroke_data[array_idx + 1] = vert->co[1];
-			stroke_data[array_idx + 2] = vert->co[2];
-
-			stroke_data[array_idx + 3] = 1.0f; //thickness
-			stroke_data[array_idx + 4] = 1.0f; //hardness?
-
-			array_idx += 5;
-		}
-
-		/* generate stroke */
-		bGPDstroke *gps;
-		gps = BKE_gpencil_add_stroke(gpf, color_idx, tot_points, thickness);
-		BKE_gpencil_stroke_add_points(gps, stroke_data, tot_points, mat);
-
-		BLI_linklist_free(pre_list, NULL);
-	}
-
-	BM_mesh_free(bm);
-}
-
-static void bakeModifier(
-        Main *UNUSED(bmain), Depsgraph *depsgraph,
-        GpencilModifierData *md, Object *ob)
-{
-
-	bGPdata *gpd = ob->data;
-
-	for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
-		for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
-			generate_geometry(md, depsgraph, ob, gpl, gpf);
-			return;
-		}
-	}
->>>>>>> DarkdefenderRepo/npr_tess
 }
 
 /* -------------------------------- */
 
 /* Generic "generateStrokes" callback */
 static void generateStrokes(
-<<<<<<< HEAD
     GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
 {
   deformStroke(md, depsgraph, ob, gpl, gpf);
-=======
-        GpencilModifierData *md, Depsgraph *depsgraph,
-        Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
-{
-	generate_geometry(md, depsgraph, ob, gpl, gpf);
->>>>>>> DarkdefenderRepo/npr_tess
 }
 
 static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
 {
-<<<<<<< HEAD
   StrokeGpencilModifierData *lmd = (StrokeGpencilModifierData *)md;
   if (lmd->object != NULL) {
     DEG_add_object_relation(ctx->node, lmd->object, DEG_OB_COMP_GEOMETRY, "Stroke Modifier");
@@ -337,46 +155,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Stroke = {
     /* foreachIDLink */ NULL,
     /* foreachTexLink */ NULL,
     /* getDuplicationFactor */ NULL,
-=======
-	StrokeGpencilModifierData *lmd = (StrokeGpencilModifierData *)md;
-	if (lmd->object != NULL) {
-		DEG_add_object_relation(ctx->node, lmd->object, DEG_OB_COMP_GEOMETRY, "Stroke Modifier");
-		DEG_add_object_relation(ctx->node, lmd->object, DEG_OB_COMP_TRANSFORM, "Stroke Modifier");
-	}
-	DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Stroke Modifier");
-}
-
-static void foreachObjectLink(
-	GpencilModifierData *md, Object *ob,
-	ObjectWalkFunc walk, void *userData)
-{
-	StrokeGpencilModifierData *mmd = (StrokeGpencilModifierData *)md;
-
-	walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
-}
-
-
-GpencilModifierTypeInfo modifierType_Gpencil_Stroke = {
-	/* name */              "Stroke",
-	/* structName */        "StrokeGpencilModifierData",
-	/* structSize */        sizeof(StrokeGpencilModifierData),
-	/* type */              eGpencilModifierTypeType_Gpencil,
-	/* flags */             0,
-
-	/* copyData */          copyData,
-
-	/* deformStroke */      NULL,
-	/* generateStrokes */   generateStrokes,
-	/* bakeModifier */      bakeModifier,
-	/* remapTime */         NULL,
-
-	/* initData */          initData,
-	/* freeData */          NULL,
-	/* isDisabled */        NULL,
-	/* updateDepsgraph */   updateDepsgraph,
-	/* dependsOnTime */     NULL,
-	/* foreachObjectLink */ foreachObjectLink,
-	/* foreachIDLink */     NULL,
-	/* foreachTexLink */    NULL,
->>>>>>> DarkdefenderRepo/npr_tess
 };
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index 6310664741d..4e9c03468f1 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -31,7 +31,6 @@
 struct RNG;
 
 typedef enum GpencilModifierType {
-<<<<<<< HEAD
   eGpencilModifierType_None = 0,
   eGpencilModifierType_Noise = 1,
   eGpencilModifierType_Subdiv = 2,
@@ -53,27 +52,6 @@ typedef enum GpencilModifierType {
   eGpencilModifierType_Sample = 18,
   eGpencilModifierType_Backbone = 19,
   NUM_GREASEPENCIL_MODIFIER_TYPES,
-=======
-	eGpencilModifierType_None      = 0,
-	eGpencilModifierType_Noise     = 1,
-	eGpencilModifierType_Subdiv    = 2,
-	eGpencilModifierType_Thick     = 3,
-	eGpencilModifierType_Tint      = 4,
-	eGpencilModifierType_Array     = 5,
-	eGpencilModifierType_Build     = 6,
-	eGpencilModifierType_Opacity   = 7,
-	eGpencilModifierType_Color     = 8,
-	eGpencilModifierType_Lattice   = 9,
-	eGpencilModifierType_Simplify  = 10,
-	eGpencilModifierType_Smooth    = 11,
-	eGpencilModifierType_Hook      = 12,
-	eGpencilModifierType_Offset    = 13,
-	eGpencilModifierType_Mirror    = 14,
-	eGpencilModifierType_Armature  = 15,
-	eGpencilModifierType_Time      = 16,
-	eGpencilModifierType_Stroke    = 17,
-	NUM_GREASEPENCIL_MODIFIER_TYPES
->>>>>>> DarkdefenderRepo/npr_tess
 } GpencilModifierType;
 
 typedef enum GpencilModifierMode {
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 03d54c60998..036a7f054a9 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -1774,19 +1774,11 @@ enum {
 
 /* Modifier data stored in the blend file */
 typedef struct MyBMeshModifierData {
-<<<<<<< HEAD
   ModifierData modifier;
   struct Object *camera_ob;
   void *osd_eval;
   int flag; /* options stored here */
   short _pad[2];
-=======
-	ModifierData modifier;
-	struct Object *camera_ob;
-	void *osd_eval;
-	int flag;  /* options stored here */
-	short _pad[2];
->>>>>>> DarkdefenderRepo/npr_tess
 } MyBMeshModifierData;
 
 typedef struct DataTransferModifierData {
@@ -1981,6 +1973,7 @@ enum {
   MOD_MYBMESH_RAD_I = (1 << 5),
   MOD_MYBMESH_RAD_FLIP = (1 << 6),
   MOD_MYBMESH_OPTI = (1 << 7),
+  MOD_MYBMESH_SEL = (1 << 8),
 };
 
 typedef struct FeatureLineModifierData {
diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c
index 7bb6d8a0521..84fbec5fe5e 100644
--- a/source/blender/makesrna/intern/rna_gpencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c
@@ -183,7 +183,6 @@ static const EnumPropertyItem rna_enum_time_mode_item

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list