Commit: 99a6d616e85f8a06dfd3d825f8e3cd350e35f61e
Author: Sybren A. Stüvel
Date:   Thu Jul 5 10:12:36 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB99a6d616e85f8a06dfd3d825f8e3cd350e35f61e

Ported CDDM_apply_vert_normals from DM to Mesh

===================================================================

M       source/blender/blenkernel/BKE_mesh.h
M       source/blender/blenkernel/intern/mesh.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_mesh.h 
b/source/blender/blenkernel/BKE_mesh.h
index c87c22953f1..ee6f1c326ed 100644
--- a/source/blender/blenkernel/BKE_mesh.h
+++ b/source/blender/blenkernel/BKE_mesh.h
@@ -204,6 +204,7 @@ int  BKE_mesh_mselect_active_get(struct Mesh *me, int type);
 void BKE_mesh_mselect_active_set(struct Mesh *me, int index, int type);
 
 void BKE_mesh_apply_vert_coords(struct Mesh *mesh, float (*vertCoords)[3]);
+void BKE_mesh_apply_vert_normals(struct Mesh *mesh, short (*vertNormals)[3]);
 
 
 /* *** mesh_evaluate.c *** */
diff --git a/source/blender/blenkernel/intern/mesh.c 
b/source/blender/blenkernel/intern/mesh.c
index b13f45499f1..5c9736c2620 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -1511,6 +1511,21 @@ void BKE_mesh_apply_vert_coords(Mesh *mesh, float 
(*vertCoords)[3])
        mesh->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
 }
 
+void BKE_mesh_apply_vert_normals(Mesh *mesh, short (*vertNormals)[3])
+{
+       MVert *vert;
+       int i;
+
+       /* this will just return the pointer if it wasn't a referenced layer */
+       vert = CustomData_duplicate_referenced_layer(&mesh->vdata, CD_MVERT, 
mesh->totvert);
+       mesh->mvert = vert;
+
+       for (i = 0; i < mesh->totvert; ++i, ++vert)
+               copy_v3_v3_short(vert->no, vertNormals[i]);
+
+       mesh->runtime.cd_dirty_vert &= ~CD_MASK_NORMAL;
+}
+
 /**
  * Compute 'split' (aka loop, or per face corner's) normals.
  *

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to