From 87ba2fcb11c08ff0bbcc2c962d8595ca565d492b Mon Sep 17 00:00:00 2001 From: "Kae..pl" Date: Thu, 25 Aug 2011 20:25:38 +0000 Subject: [PATCH] Fix to a bug that caused loader to crach when loading an object without textures. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8098 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../plugins/blender/materials/MaterialContext.java | 10 ++++++++++ .../jme3/scene/plugins/blender/meshes/MeshHelper.java | 8 +++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java b/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java index 9cc776f25..f6e13d755 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java @@ -109,6 +109,16 @@ public final class MaterialContext { return this.textureType == Type.TwoDimensional ? 2 : 3; } + /** + * This method returns the amount of textures applied for the current + * material. + * + * @return the amount of textures applied for the current material + */ + public int getTexturesCount() { + return textures == null ? 0 : textures.size(); + } + /** * This method determines the type of the texture. * @param texType texture type (from blender) diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java index 40b261327..bce42d8f2 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java @@ -406,9 +406,11 @@ public class MeshHelper extends AbstractBlenderHelper { } for(Entry> entry : materialMap.entrySet()) { MaterialContext materialContext = dataRepository.getMaterialContext(entry.getKey()); - UVCoordinatesGenerator.generateUVCoordinates(materialContext.getUvCoordinatesType(), - materialContext.getProjectionType(), - materialContext.getTextureDimension(), entry.getValue()); + if(materialContext.getTexturesCount()>0) { + UVCoordinatesGenerator.generateUVCoordinates(materialContext.getUvCoordinatesType(), + materialContext.getProjectionType(), + materialContext.getTextureDimension(), entry.getValue()); + } } }