From 253c5d25f79f08e8801778bc7d36403c9419901d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 18 Jun 2021 14:38:25 +1000 Subject: Cleanup: move mesh tessellation into it's own file This matches BMesh which also has tessellation in it's own file. Using a separate file helps with organization when extracting code into smaller functions. --- source/blender/blenkernel/BKE_mesh.h | 47 ++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 21 deletions(-) (limited to 'source/blender/blenkernel/BKE_mesh.h') diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h index c24e87b3788..2a1fbc8273b 100644 --- a/source/blender/blenkernel/BKE_mesh.h +++ b/source/blender/blenkernel/BKE_mesh.h @@ -247,7 +247,6 @@ bool BKE_mesh_minmax(const struct Mesh *me, float r_min[3], float r_max[3]); void BKE_mesh_transform(struct Mesh *me, const float mat[4][4], bool do_keys); void BKE_mesh_translate(struct Mesh *me, const float offset[3], const bool do_keys); -void BKE_mesh_tessface_calc(struct Mesh *mesh); void BKE_mesh_tessface_ensure(struct Mesh *mesh); void BKE_mesh_tessface_clear(struct Mesh *mesh); @@ -270,6 +269,32 @@ void BKE_mesh_vert_coords_apply_with_mat4(struct Mesh *mesh, void BKE_mesh_vert_coords_apply(struct Mesh *mesh, const float (*vert_coords)[3]); void BKE_mesh_vert_normals_apply(struct Mesh *mesh, const short (*vert_normals)[3]); +/* *** mesh_tessellate.c *** */ + +void BKE_mesh_loops_to_tessdata(struct CustomData *fdata, + struct CustomData *ldata, + struct MFace *mface, + const int *polyindices, + unsigned int (*loopindices)[4], + const int num_faces); + +int BKE_mesh_tessface_calc_ex(struct CustomData *fdata, + struct CustomData *ldata, + struct CustomData *pdata, + struct MVert *mvert, + int totface, + int totloop, + int totpoly, + const bool do_face_nor_copy); +void BKE_mesh_tessface_calc(struct Mesh *mesh); + +void BKE_mesh_recalc_looptri(const struct MLoop *mloop, + const struct MPoly *mpoly, + const struct MVert *mvert, + int totloop, + int totpoly, + struct MLoopTri *mlooptri); + /* *** mesh_evaluate.c *** */ void BKE_mesh_calc_normals_mapping_simple(struct Mesh *me); @@ -521,12 +546,6 @@ void BKE_mesh_loops_to_mface_corners(struct CustomData *fdata, const bool hasPCol, const bool hasOrigSpace, const bool hasLNor); -void BKE_mesh_loops_to_tessdata(struct CustomData *fdata, - struct CustomData *ldata, - struct MFace *mface, - const int *polyindices, - unsigned int (*loopindices)[4], - const int num_faces); void BKE_mesh_tangent_loops_to_tessdata(struct CustomData *fdata, struct CustomData *ldata, struct MFace *mface, @@ -534,20 +553,6 @@ void BKE_mesh_tangent_loops_to_tessdata(struct CustomData *fdata, unsigned int (*loopindices)[4], const int num_faces, const char *layer_name); -int BKE_mesh_tessface_calc_ex(struct CustomData *fdata, - struct CustomData *ldata, - struct CustomData *pdata, - struct MVert *mvert, - int totface, - int totloop, - int totpoly, - const bool do_face_nor_copy); -void BKE_mesh_recalc_looptri(const struct MLoop *mloop, - const struct MPoly *mpoly, - const struct MVert *mvert, - int totloop, - int totpoly, - struct MLoopTri *mlooptri); void BKE_mesh_convert_mfaces_to_mpolys(struct Mesh *mesh); void BKE_mesh_do_versions_convert_mfaces_to_mpolys(struct Mesh *mesh); void BKE_mesh_convert_mfaces_to_mpolys_ex(struct ID *id, -- cgit v1.2.3