[Bf-blender-cvs] [f2453ecdcd1] blender2.8: Merge branch 'master' into blender2.8

Brecht Van Lommel noreply at git.blender.org
Sat Feb 17 01:44:51 CET 2018


Commit: f2453ecdcd179fb696494d03501c0dd149ee1ed2
Author: Brecht Van Lommel
Date:   Sat Feb 17 01:39:29 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBf2453ecdcd179fb696494d03501c0dd149ee1ed2

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/collada/collada_utils.cpp
index f351ebf7952,415daccfa3d..117e2ef7f76
--- a/source/blender/collada/collada_utils.cpp
+++ b/source/blender/collada/collada_utils.cpp
@@@ -841,3 -863,172 +870,11 @@@ void bc_sanitize_mat(float mat[4][4], i
  		for (int j = 0; j < 4; j++)
  			mat[i][j] = double_round(mat[i][j], precision);
  }
+ 
+ void bc_sanitize_mat(double mat[4][4], int precision)
+ {
+ 	for (int i = 0; i < 4; i++)
+ 		for (int j = 0; j < 4; j++)
+ 			mat[i][j] = double_round(mat[i][j], precision);
+ }
+ 
 -/*
 -* Returns name of Active UV Layer or empty String if no active UV Layer defined.
 -* Assuming the Object is of type MESH
 -*/
 -std::string bc_get_active_uvlayer_name(Object *ob)
 -{
 -	Mesh *me = (Mesh *)ob->data;
 -	return bc_get_active_uvlayer_name(me);
 -}
 -
 -/*
 - * Returns name of Active UV Layer or empty String if no active UV Layer defined
 - */
 -std::string bc_get_active_uvlayer_name(Mesh *me)
 -{
 -	int num_layers = CustomData_number_of_layers(&me->fdata, CD_MTFACE);
 -	if (num_layers) {
 -		char *layer_name = bc_CustomData_get_active_layer_name(&me->fdata, CD_MTFACE);
 -		if (layer_name) {
 -			return std::string(layer_name);
 -		}
 -	}
 -	return "";
 -}
 -
 -/*
 - * Returns UV Layer name or empty string if layer index is out of range
 - */
 -std::string bc_get_uvlayer_name(Mesh *me, int layer)
 -{
 -	int num_layers = CustomData_number_of_layers(&me->fdata, CD_MTFACE);
 -	if (num_layers && layer < num_layers) {
 -		char *layer_name = bc_CustomData_get_layer_name(&me->fdata, CD_MTFACE, layer);
 -		if (layer_name) {
 -			return std::string(layer_name);
 -		}
 -	}
 -	return "";
 -}
 -
 -/**********************************************************************
 -*
 -* Return the list of Mesh objects with assigned UVtextures and Images
 -* Note: We need to create artificaial materials for each of them
 -*
 -***********************************************************************/
 -std::set<Object *> bc_getUVTexturedObjects(Scene *sce, bool all_uv_layers)
 -{
 -	std::set <Object *> UVObjects;
 -	Base *base = (Base *)sce->base.first;
 -
 -	while (base) {
 -		Object *ob = base->object;
 -		bool has_uvimage = false;
 -		if (ob->type == OB_MESH) {
 -			Mesh *me = (Mesh *)ob->data;
 -			int active_uv_layer = CustomData_get_active_layer_index(&me->pdata, CD_MTEXPOLY);
 -
 -			for (int i = 0; i < me->pdata.totlayer && !has_uvimage; i++) {
 -				if (all_uv_layers || active_uv_layer == i)
 -				{
 -					if (me->pdata.layers[i].type == CD_MTEXPOLY) {
 -						MTexPoly *txface = (MTexPoly *)me->pdata.layers[i].data;
 -						MPoly *mpoly = me->mpoly;
 -						for (int j = 0; j < me->totpoly; j++, mpoly++, txface++) {
 -
 -							Image *ima = txface->tpage;
 -							if (ima != NULL) {
 -								has_uvimage = true;
 -								break;
 -							}
 -						}
 -					}
 -				}
 -			}
 -
 -			if (has_uvimage) {
 -				UVObjects.insert(ob);
 -			}
 -		}
 -		base = base->next;
 -	}
 -	return UVObjects;
 -}
 -
 -/**********************************************************************
 -*
 -* Return the list of UV Texture images from all exported Mesh Items
 -* Note: We need to create one artificial material for each Image.
 -*
 -***********************************************************************/
 -std::set<Image *> bc_getUVImages(Scene *sce, bool all_uv_layers)
 -{
 -	std::set <Image *> UVImages;
 -	Base *base = (Base *)sce->base.first;
 -
 -	while (base) {
 -		Object *ob = base->object;
 -		bool has_uvimage = false;
 -		if (ob->type == OB_MESH) {
 -			Mesh *me = (Mesh *)ob->data;
 -			int active_uv_layer = CustomData_get_active_layer_index(&me->pdata, CD_MTEXPOLY);
 -
 -			for (int i = 0; i < me->pdata.totlayer && !has_uvimage; i++) {
 -				if (all_uv_layers || active_uv_layer == i)
 -				{
 -					if (me->pdata.layers[i].type == CD_MTEXPOLY) {
 -						MTexPoly *txface = (MTexPoly *)me->pdata.layers[i].data;
 -						MPoly *mpoly = me->mpoly;
 -						for (int j = 0; j < me->totpoly; j++, mpoly++, txface++) {
 -
 -							Image *ima = txface->tpage;
 -							if (ima != NULL) {
 -								if (UVImages.find(ima) == UVImages.end())
 -									UVImages.insert(ima);
 -							}
 -						}
 -					}
 -				}
 -			}
 -		}
 -		base = base->next;
 -	}
 -	return UVImages;
 -}
 -
 -/**********************************************************************
 -*
 -* Return the list of UV Texture images for the given Object
 -* Note: We need to create one artificial material for each Image.
 -*
 -***********************************************************************/
 -std::set<Image *> bc_getUVImages(Object *ob, bool all_uv_layers)
 -{
 -	std::set <Image *> UVImages;
 -
 -	bool has_uvimage = false;
 -	if (ob->type == OB_MESH) {
 -		Mesh *me = (Mesh *)ob->data;
 -		int active_uv_layer = CustomData_get_active_layer_index(&me->pdata, CD_MTEXPOLY);
 -
 -		for (int i = 0; i < me->pdata.totlayer && !has_uvimage; i++) {
 -			if (all_uv_layers || active_uv_layer == i)
 -			{
 -				if (me->pdata.layers[i].type == CD_MTEXPOLY) {
 -					MTexPoly *txface = (MTexPoly *)me->pdata.layers[i].data;
 -					MPoly *mpoly = me->mpoly;
 -					for (int j = 0; j < me->totpoly; j++, mpoly++, txface++) {
 -
 -						Image *ima = txface->tpage;
 -						if (ima != NULL) {
 -							if (UVImages.find(ima) == UVImages.end())
 -								UVImages.insert(ima);
 -						}
 -					}
 -				}
 -			}
 -		}
 -	}
 -	return UVImages;
 -}



More information about the Bf-blender-cvs mailing list