Modifier: use simplified bmesh -> mesh conversion
This commit is contained in:
@@ -546,8 +546,7 @@ Mesh *AbcMeshWriter::getFinalMesh(bool &r_needsfree)
|
||||
|
||||
BM_mesh_triangulate(bm, quad_method, ngon_method, tag_only, NULL, NULL, NULL);
|
||||
|
||||
struct BMeshToMeshParams bmmp = {0};
|
||||
Mesh *result = BKE_mesh_from_bmesh_nomain(bm, &bmmp);
|
||||
Mesh *result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
BM_mesh_free(bm);
|
||||
|
||||
mesh = result;
|
||||
|
@@ -1202,7 +1202,7 @@ static Mesh *create_orco_mesh(Object *ob, Mesh *me, BMEditMesh *em, int layer)
|
||||
int free;
|
||||
|
||||
if (em) {
|
||||
mesh = BKE_mesh_from_bmesh_nomain(em->bm, &(struct BMeshToMeshParams){0});
|
||||
mesh = BKE_mesh_from_bmesh_for_eval_nomain(em->bm, 0);
|
||||
}
|
||||
else {
|
||||
mesh = BKE_mesh_copy_for_eval(me, true);
|
||||
@@ -2016,7 +2016,7 @@ static void editbmesh_calc_modifiers(
|
||||
|
||||
}
|
||||
else {
|
||||
me = BKE_mesh_from_bmesh_nomain(em->bm, &(struct BMeshToMeshParams){0});
|
||||
me = BKE_mesh_from_bmesh_for_eval_nomain(em->bm, 0);
|
||||
ASSERT_IS_VALID_MESH(me);
|
||||
|
||||
if (deformedVerts) {
|
||||
|
@@ -769,11 +769,7 @@ Mesh *BKE_mesh_from_bmesh_for_eval_nomain(BMesh *bm, const int64_t cd_mask_extra
|
||||
Mesh *BKE_mesh_from_editmesh_with_coords_thin_wrap(
|
||||
BMEditMesh *em, CustomDataMask data_mask, float (*vertexCos)[3])
|
||||
{
|
||||
Mesh *me = BKE_mesh_from_bmesh_nomain(
|
||||
em->bm,
|
||||
&(struct BMeshToMeshParams){
|
||||
.cd_mask_extra = data_mask,
|
||||
});
|
||||
Mesh *me = BKE_mesh_from_bmesh_for_eval_nomain(em->bm, data_mask);
|
||||
if (vertexCos) {
|
||||
/* We will own this array in the future. */
|
||||
BKE_mesh_apply_vert_coords(me, vertexCos);
|
||||
|
@@ -1094,7 +1094,7 @@ Mesh *BKE_modifier_get_evaluated_mesh_from_evaluated_object(Object *ob_eval, boo
|
||||
/* Note: currently we have no equivalent to derived cagemesh or even final dm in BMEditMesh...
|
||||
* This is TODO in core depsgraph/modifier stack code still. */
|
||||
BMEditMesh *em = BKE_editmesh_from_object(ob_eval);
|
||||
me = BKE_mesh_from_bmesh_nomain(em->bm, &(struct BMeshToMeshParams){0});
|
||||
me = BKE_mesh_from_bmesh_for_eval_nomain(em->bm, 0);
|
||||
*r_free_mesh = true;
|
||||
}
|
||||
else {
|
||||
|
@@ -448,7 +448,7 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
|
||||
if (set_wn_strength)
|
||||
bevel_set_weighted_normal_face_strength(bm, scene);
|
||||
|
||||
result = BKE_mesh_from_bmesh_nomain(bm, &(struct BMeshToMeshParams){0});
|
||||
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
|
||||
BLI_assert(bm->vtoolflagpool == NULL &&
|
||||
bm->etoolflagpool == NULL &&
|
||||
|
@@ -317,7 +317,7 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
|
||||
MEM_freeN(looptris);
|
||||
}
|
||||
|
||||
result = BKE_mesh_from_bmesh_nomain(bm, &((struct BMeshToMeshParams){0}));
|
||||
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
|
||||
BM_mesh_free(bm);
|
||||
|
||||
|
@@ -186,7 +186,7 @@ static Mesh *applyModifier(
|
||||
|
||||
/* update for display only */
|
||||
dmd->face_count = bm->totface;
|
||||
result = BKE_mesh_from_bmesh_nomain(bm, &((struct BMeshToMeshParams){0}));
|
||||
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
BLI_assert(bm->vtoolflagpool == NULL &&
|
||||
bm->etoolflagpool == NULL &&
|
||||
bm->ftoolflagpool == NULL); /* make sure we never alloc'd these */
|
||||
|
@@ -106,7 +106,7 @@ static Mesh *doEdgeSplit(Mesh *mesh, EdgeSplitModifierData *emd, const ModifierE
|
||||
|
||||
/* BM_mesh_validate(bm); */ /* for troubleshooting */
|
||||
|
||||
result = BKE_mesh_from_bmesh_nomain(bm, &((struct BMeshToMeshParams){0}));
|
||||
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
BM_mesh_free(bm);
|
||||
|
||||
result->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
|
||||
|
@@ -162,7 +162,7 @@ static void deformVerts(
|
||||
|
||||
if (edit_btmesh) {
|
||||
/* In edit mode get directly from the edit mesh. */
|
||||
psmd->mesh_original = BKE_mesh_from_bmesh_nomain(edit_btmesh->bm, &(struct BMeshToMeshParams){0});
|
||||
psmd->mesh_original = BKE_mesh_from_bmesh_for_eval_nomain(edit_btmesh->bm, 0);
|
||||
}
|
||||
else {
|
||||
/* Otherwise get regular mesh. */
|
||||
|
@@ -126,7 +126,7 @@ static void deformVertsEM(
|
||||
Mesh *mesh_src = mesh;
|
||||
|
||||
if (mesh_src == NULL) {
|
||||
mesh_src = BKE_mesh_from_bmesh_nomain(editData->bm, &(struct BMeshToMeshParams){0});
|
||||
mesh_src = BKE_mesh_from_bmesh_for_eval_nomain(editData->bm, 0);
|
||||
}
|
||||
|
||||
BLI_assert(mesh_src->totvert == numVerts);
|
||||
|
@@ -1880,7 +1880,7 @@ static Mesh *base_skin(Mesh *origmesh,
|
||||
if (!bm)
|
||||
return NULL;
|
||||
|
||||
result = BKE_mesh_from_bmesh_nomain(bm, &(struct BMeshToMeshParams){0});
|
||||
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
BM_mesh_free(bm);
|
||||
|
||||
result->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
|
||||
|
@@ -232,7 +232,7 @@ static void deformVertsEM(
|
||||
Mesh *mesh_src = mesh;
|
||||
|
||||
if (mesh_src == NULL) {
|
||||
mesh_src = BKE_mesh_from_bmesh_nomain(editData->bm, &(struct BMeshToMeshParams){0});
|
||||
mesh_src = BKE_mesh_from_bmesh_for_eval_nomain(editData->bm, 0);
|
||||
}
|
||||
|
||||
BLI_assert(mesh_src->totvert == numVerts);
|
||||
|
@@ -53,7 +53,7 @@ static Mesh *triangulate_mesh(Mesh *mesh, const int quad_method, const int ngon_
|
||||
|
||||
BM_mesh_triangulate(bm, quad_method, ngon_method, false, NULL, NULL, NULL);
|
||||
|
||||
result = BKE_mesh_from_bmesh_nomain(bm, &((struct BMeshToMeshParams){0}));
|
||||
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
BM_mesh_free(bm);
|
||||
|
||||
total_edges = result->totedge;
|
||||
|
@@ -177,7 +177,7 @@ Mesh *MOD_get_mesh_eval(
|
||||
}
|
||||
else if (ob->type == OB_MESH) {
|
||||
if (em) {
|
||||
mesh = BKE_mesh_from_bmesh_nomain(em->bm, &(struct BMeshToMeshParams){0});
|
||||
mesh = BKE_mesh_from_bmesh_for_eval_nomain(em->bm, 0);
|
||||
}
|
||||
else {
|
||||
/* TODO(sybren): after modifier conversion of DM to Mesh is done, check whether
|
||||
|
@@ -332,7 +332,7 @@ static void deformVertsEM(
|
||||
Mesh *mesh_src = mesh;
|
||||
|
||||
if (mesh_src == NULL) {
|
||||
mesh_src = BKE_mesh_from_bmesh_nomain(em->bm, &(struct BMeshToMeshParams){0});
|
||||
mesh_src = BKE_mesh_from_bmesh_for_eval_nomain(em->bm, 0);
|
||||
}
|
||||
|
||||
BLI_assert(mesh_src->totvert == numVerts);
|
||||
|
@@ -93,7 +93,7 @@ static Mesh *WireframeModifier_do(WireframeModifierData *wmd, Object *ob, Mesh *
|
||||
MAX2(ob->totcol - 1, 0),
|
||||
false);
|
||||
|
||||
result = BKE_mesh_from_bmesh_nomain(bm, &(struct BMeshToMeshParams){0});
|
||||
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
|
||||
BM_mesh_free(bm);
|
||||
|
||||
result->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
|
||||
|
Reference in New Issue
Block a user