[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