diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_mesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_mesh.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h index d6b9f0a70ca..07d04a55496 100644 --- a/source/blender/blenkernel/BKE_mesh.h +++ b/source/blender/blenkernel/BKE_mesh.h @@ -295,6 +295,7 @@ enum { MLNOR_SPACEARR_BMLOOP_PTR = 1, }; +/* Low-level custom normals functions. */ void BKE_lnor_spacearr_init(MLoopNorSpaceArray *lnors_spacearr, const int numLoops, const char data_type); void BKE_lnor_spacearr_clear(MLoopNorSpaceArray *lnors_spacearr); void BKE_lnor_spacearr_free(MLoopNorSpaceArray *lnors_spacearr); @@ -308,11 +309,7 @@ void BKE_lnor_space_add_loop( void BKE_lnor_space_custom_data_to_normal(MLoopNorSpace *lnor_space, const short clnor_data[2], float r_custom_lnor[3]); void BKE_lnor_space_custom_normal_to_data(MLoopNorSpace *lnor_space, const float custom_lnor[3], short r_clnor_data[2]); -bool BKE_mesh_has_custom_loop_normals(struct Mesh *me); - -void BKE_mesh_calc_normals_split(struct Mesh *mesh); -void BKE_mesh_calc_normals_split_ex(struct Mesh *mesh, struct MLoopNorSpaceArray *r_lnors_spacearr); - +/* Medium-level custom normals functions. */ void BKE_mesh_normals_loop_split( const struct MVert *mverts, const int numVerts, struct MEdge *medges, const int numEdges, struct MLoop *mloops, float (*r_loopnors)[3], const int numLoops, @@ -335,6 +332,16 @@ void BKE_mesh_normals_loop_to_vertex( const int numVerts, const struct MLoop *mloops, const int numLoops, const float (*clnors)[3], float (*r_vert_clnors)[3]); +/* High-level custom normals functions. */ +bool BKE_mesh_has_custom_loop_normals(struct Mesh *me); + +void BKE_mesh_calc_normals_split(struct Mesh *mesh); +void BKE_mesh_calc_normals_split_ex(struct Mesh *mesh, struct MLoopNorSpaceArray *r_lnors_spacearr); + +void BKE_mesh_set_custom_normals(struct Mesh *mesh, float (*r_custom_loopnors)[3]); +void BKE_mesh_set_custom_normals_from_vertices(struct Mesh *mesh, float (*r_custom_vertnors)[3]); + + void BKE_mesh_calc_poly_normal( const struct MPoly *mpoly, const struct MLoop *loopstart, const struct MVert *mvarray, float r_no[3]); |