Fix failing curve modifiers tests
This commit is contained in:
parent
2741dd3b16
commit
df39bce40a
|
@ -705,7 +705,7 @@ void BKE_mesh_calc_poly_angles(const struct MPoly *mpoly,
|
|||
|
||||
void BKE_mesh_poly_edgehash_insert(struct EdgeHash *ehash,
|
||||
const struct MPoly *mp,
|
||||
const int *poly_verts);
|
||||
const int *corner_verts);
|
||||
void BKE_mesh_poly_edgebitmap_insert(unsigned int *edge_bitmap,
|
||||
const struct MPoly *mp,
|
||||
const int *poly_edges);
|
||||
|
|
|
@ -93,7 +93,7 @@ static void make_edges_mdata_extend(Mesh &mesh)
|
|||
EdgeHash *eh = BLI_edgehash_new_ex(__func__, eh_reserve);
|
||||
|
||||
for (const MPoly &poly : polys) {
|
||||
BKE_mesh_poly_edgehash_insert(eh, &poly, &corner_verts[poly.loopstart]);
|
||||
BKE_mesh_poly_edgehash_insert(eh, &poly, corner_verts.data());
|
||||
}
|
||||
|
||||
const int totedge_new = BLI_edgehash_len(eh);
|
||||
|
|
|
@ -258,13 +258,19 @@ void BKE_mesh_calc_poly_angles(const MPoly *mpoly,
|
|||
}
|
||||
}
|
||||
|
||||
void BKE_mesh_poly_edgehash_insert(EdgeHash *ehash, const MPoly *mp, const int *poly_verts)
|
||||
void BKE_mesh_poly_edgehash_insert(EdgeHash *ehash, const MPoly *mp, const int *corner_verts)
|
||||
{
|
||||
using namespace blender;
|
||||
for (const int i : IndexRange(mp->totloop).drop_back(1)) {
|
||||
BLI_edgehash_reinsert(ehash, poly_verts[i], poly_verts[i + 1], nullptr);
|
||||
int i = mp->totloop;
|
||||
|
||||
int corner_next = mp->loopstart; /* first loop */
|
||||
int corner = corner_next + (i - 1); /* last loop */
|
||||
|
||||
while (i-- != 0) {
|
||||
BLI_edgehash_reinsert(ehash, corner_verts[corner], corner_verts[corner_next], nullptr);
|
||||
|
||||
corner = corner_next;
|
||||
corner_next++;
|
||||
}
|
||||
BLI_edgehash_reinsert(ehash, poly_verts[0], poly_verts[mp->totloop - 1], nullptr);
|
||||
}
|
||||
|
||||
void BKE_mesh_poly_edgebitmap_insert(uint *edge_bitmap, const MPoly *mp, const int *poly_edges)
|
||||
|
|
Loading…
Reference in New Issue