From e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Apr 2019 06:17:24 +0200 Subject: ClangFormat: apply to source, most of intern Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat --- source/blender/modifiers/intern/MOD_edgesplit.c | 203 +++++++++++------------- 1 file changed, 97 insertions(+), 106 deletions(-) (limited to 'source/blender/modifiers/intern/MOD_edgesplit.c') diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 751a70916ab..9c2ad13db94 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -43,124 +43,115 @@ static Mesh *doEdgeSplit(Mesh *mesh, EdgeSplitModifierData *emd) { - Mesh *result; - BMesh *bm; - BMIter iter; - BMEdge *e; - const float threshold = cosf(emd->split_angle + 0.000000175f); - const bool do_split_angle = (emd->flags & MOD_EDGESPLIT_FROMANGLE) != 0 && emd->split_angle < (float)M_PI; - const bool do_split_all = do_split_angle && emd->split_angle < FLT_EPSILON; - const bool calc_face_normals = do_split_angle && !do_split_all; - - bm = BKE_mesh_to_bmesh_ex( - mesh, - &(struct BMeshCreateParams){0}, - &(struct BMeshFromMeshParams){ - .calc_face_normal = calc_face_normals, - .add_key_index = false, - .use_shapekey = false, - .active_shapekey = 0, - .cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX, .emask = CD_MASK_ORIGINDEX, .pmask = CD_MASK_ORIGINDEX}, - }); - - if (do_split_angle) { - BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) { - /* check for 1 edge having 2 face users */ - BMLoop *l1, *l2; - if ((l1 = e->l) && - (l2 = e->l->radial_next) != l1) - { - if (/* 3+ faces on this edge, always split */ - UNLIKELY(l1 != l2->radial_next) || - /* O° angle setting, we want to split on all edges. */ - do_split_all || - /* 2 face edge - check angle*/ - (dot_v3v3(l1->f->no, l2->f->no) < threshold)) - { - BM_elem_flag_enable(e, BM_ELEM_TAG); - } - } - } - } - - if (emd->flags & MOD_EDGESPLIT_FROMFLAG) { - BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) { - /* check for 2 or more edge users */ - if ((e->l) && - (e->l->next != e->l)) - { - if (!BM_elem_flag_test(e, BM_ELEM_SMOOTH)) { - BM_elem_flag_enable(e, BM_ELEM_TAG); - } - } - } - } - - BM_mesh_edgesplit(bm, false, true, false); - - /* BM_mesh_validate(bm); */ /* for troubleshooting */ - - result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL); - BM_mesh_free(bm); - - result->runtime.cd_dirty_vert |= CD_MASK_NORMAL; - return result; + Mesh *result; + BMesh *bm; + BMIter iter; + BMEdge *e; + const float threshold = cosf(emd->split_angle + 0.000000175f); + const bool do_split_angle = (emd->flags & MOD_EDGESPLIT_FROMANGLE) != 0 && + emd->split_angle < (float)M_PI; + const bool do_split_all = do_split_angle && emd->split_angle < FLT_EPSILON; + const bool calc_face_normals = do_split_angle && !do_split_all; + + bm = BKE_mesh_to_bmesh_ex(mesh, + &(struct BMeshCreateParams){0}, + &(struct BMeshFromMeshParams){ + .calc_face_normal = calc_face_normals, + .add_key_index = false, + .use_shapekey = false, + .active_shapekey = 0, + .cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX, + .emask = CD_MASK_ORIGINDEX, + .pmask = CD_MASK_ORIGINDEX}, + }); + + if (do_split_angle) { + BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) { + /* check for 1 edge having 2 face users */ + BMLoop *l1, *l2; + if ((l1 = e->l) && (l2 = e->l->radial_next) != l1) { + if (/* 3+ faces on this edge, always split */ + UNLIKELY(l1 != l2->radial_next) || + /* O° angle setting, we want to split on all edges. */ + do_split_all || + /* 2 face edge - check angle*/ + (dot_v3v3(l1->f->no, l2->f->no) < threshold)) { + BM_elem_flag_enable(e, BM_ELEM_TAG); + } + } + } + } + + if (emd->flags & MOD_EDGESPLIT_FROMFLAG) { + BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) { + /* check for 2 or more edge users */ + if ((e->l) && (e->l->next != e->l)) { + if (!BM_elem_flag_test(e, BM_ELEM_SMOOTH)) { + BM_elem_flag_enable(e, BM_ELEM_TAG); + } + } + } + } + + BM_mesh_edgesplit(bm, false, true, false); + + /* BM_mesh_validate(bm); */ /* for troubleshooting */ + + result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL); + BM_mesh_free(bm); + + result->runtime.cd_dirty_vert |= CD_MASK_NORMAL; + return result; } static void initData(ModifierData *md) { - EdgeSplitModifierData *emd = (EdgeSplitModifierData *) md; + EdgeSplitModifierData *emd = (EdgeSplitModifierData *)md; - /* default to 30-degree split angle, sharpness from both angle & flag */ - emd->split_angle = DEG2RADF(30.0f); - emd->flags = MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG; + /* default to 30-degree split angle, sharpness from both angle & flag */ + emd->split_angle = DEG2RADF(30.0f); + emd->flags = MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG; } -static Mesh *applyModifier( - ModifierData *md, - const ModifierEvalContext *UNUSED(ctx), - Mesh *mesh) +static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *UNUSED(ctx), Mesh *mesh) { - Mesh *result; - EdgeSplitModifierData *emd = (EdgeSplitModifierData *) md; + Mesh *result; + EdgeSplitModifierData *emd = (EdgeSplitModifierData *)md; - if (!(emd->flags & (MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG))) - return mesh; + if (!(emd->flags & (MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG))) + return mesh; - result = doEdgeSplit(mesh, emd); + result = doEdgeSplit(mesh, emd); - return result; + return result; } - ModifierTypeInfo modifierType_EdgeSplit = { - /* name */ "EdgeSplit", - /* structName */ "EdgeSplitModifierData", - /* structSize */ sizeof(EdgeSplitModifierData), - /* type */ eModifierTypeType_Constructive, - /* flags */ eModifierTypeFlag_AcceptsMesh | - eModifierTypeFlag_AcceptsCVs | - eModifierTypeFlag_SupportsMapping | - eModifierTypeFlag_SupportsEditmode | - eModifierTypeFlag_EnableInEditmode, - - /* copyData */ modifier_copyData_generic, - - /* deformVerts */ NULL, - /* deformMatrices */ NULL, - /* deformVertsEM */ NULL, - /* deformMatricesEM */ NULL, - /* applyModifier */ applyModifier, - - /* initData */ initData, - /* requiredDataMask */ NULL, - /* freeData */ NULL, - /* isDisabled */ NULL, - /* updateDepsgraph */ NULL, - /* dependsOnTime */ NULL, - /* dependsOnNormals */ NULL, - /* foreachObjectLink */ NULL, - /* foreachIDLink */ NULL, - /* foreachTexLink */ NULL, - /* freeRuntimeData */ NULL, + /* name */ "EdgeSplit", + /* structName */ "EdgeSplitModifierData", + /* structSize */ sizeof(EdgeSplitModifierData), + /* type */ eModifierTypeType_Constructive, + /* flags */ eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_AcceptsCVs | + eModifierTypeFlag_SupportsMapping | eModifierTypeFlag_SupportsEditmode | + eModifierTypeFlag_EnableInEditmode, + + /* copyData */ modifier_copyData_generic, + + /* deformVerts */ NULL, + /* deformMatrices */ NULL, + /* deformVertsEM */ NULL, + /* deformMatricesEM */ NULL, + /* applyModifier */ applyModifier, + + /* initData */ initData, + /* requiredDataMask */ NULL, + /* freeData */ NULL, + /* isDisabled */ NULL, + /* updateDepsgraph */ NULL, + /* dependsOnTime */ NULL, + /* dependsOnNormals */ NULL, + /* foreachObjectLink */ NULL, + /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, + /* freeRuntimeData */ NULL, }; -- cgit v1.2.3