[Bf-blender-cvs] [35f8a024969] blender2.8: Implement a new util function to get reference of mesh tex space

Dalai Felinto noreply at git.blender.org
Fri Jun 9 16:39:49 CEST 2017


Commit: 35f8a024969ac81eca7a967884585ab4057ca547
Author: Dalai Felinto
Date:   Fri Jun 9 15:19:02 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB35f8a024969ac81eca7a967884585ab4057ca547

Implement a new util function to get reference of mesh tex space

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

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

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

diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h
index 57922e60f4b..b7a8ae617bd 100644
--- a/source/blender/blenkernel/BKE_mesh.h
+++ b/source/blender/blenkernel/BKE_mesh.h
@@ -123,6 +123,7 @@ const char *BKE_mesh_cmp(struct Mesh *me1, struct Mesh *me2, float thresh);
 
 struct BoundBox *BKE_mesh_boundbox_get(struct Object *ob);
 void BKE_mesh_texspace_get(struct Mesh *me, float r_loc[3], float r_rot[3], float r_size[3]);
+void BKE_mesh_texspace_get_reference(struct Mesh *me, short **r_texflag,  float **r_loc, float **r_rot, float **r_size);
 void BKE_mesh_texspace_copy_from_object(struct Mesh *me, struct Object *ob);
 
 bool BKE_mesh_uv_cdlayer_rename_index(struct Mesh *me, const int poly_index, const int loop_index, const int face_index,
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 768ca0bd4f7..3c3943cb062 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -743,6 +743,18 @@ void BKE_mesh_texspace_get(Mesh *me, float r_loc[3], float r_rot[3], float r_siz
 	if (r_size) copy_v3_v3(r_size, me->size);
 }
 
+void BKE_mesh_texspace_get_reference(Mesh *me, short **r_texflag,  float **r_loc, float **r_rot, float **r_size)
+{
+	if (me->bb == NULL || (me->bb->flag & BOUNDBOX_DIRTY)) {
+		BKE_mesh_texspace_calc(me);
+	}
+
+	if (r_texflag != NULL) *r_texflag = &me->texflag;
+	if (r_loc != NULL) *r_loc = me->loc;
+	if (r_rot != NULL) *r_rot = me->rot;
+	if (r_size != NULL) *r_size = me->size;
+}
+
 void BKE_mesh_texspace_copy_from_object(Mesh *me, Object *ob)
 {
 	float *texloc, *texrot, *texsize;
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index db580e3ea2b..66c3f64f3d5 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -2744,14 +2744,7 @@ int BKE_object_obdata_texspace_get(Object *ob, short **r_texflag, float **r_loc,
 	switch (GS(((ID *)ob->data)->name)) {
 		case ID_ME:
 		{
-			Mesh *me = ob->data;
-			if (me->bb == NULL || (me->bb->flag & BOUNDBOX_DIRTY)) {
-				BKE_mesh_texspace_calc(me);
-			}
-			if (r_texflag) *r_texflag = &me->texflag;
-			if (r_loc) *r_loc = me->loc;
-			if (r_size) *r_size = me->size;
-			if (r_rot) *r_rot = me->rot;
+			BKE_mesh_texspace_get_reference((Mesh *)ob->data, r_texflag, r_loc, r_rot, r_size);
 			break;
 		}
 		case ID_CU:




More information about the Bf-blender-cvs mailing list