diff --git a/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java b/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java index 4adc32185..67799e79f 100644 --- a/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java +++ b/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java @@ -9,6 +9,7 @@ import com.jme3.gde.blender.BlenderTool; import com.jme3.gde.core.assets.ProjectAssetManager; import com.jme3.gde.core.assets.SpatialAssetDataObject; import com.jme3.gde.core.util.Beans; +import com.jme3.gde.core.util.SpatialUtil; import com.jme3.scene.Spatial; import java.io.IOException; import java.util.logging.Level; @@ -35,6 +36,9 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb @Override public Spatial loadAsset() { + if (savable != null) { + return (Spatial) savable; + } if (SUFFIX == null) { throw new IllegalStateException("Suffix for blender filetype is null! Set SUFFIX = \"sfx\" in constructor!"); } @@ -73,7 +77,7 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb replaceFiles(); listListener.stop(); savable = spatial; - storeOriginalPathUserData(); + SpatialUtil.storeOriginalPathUserData(spatial); return spatial; } catch (IOException ex) { Exceptions.printStackTrace(ex); diff --git a/sdk/jme3-ogretools/src/com/jme3/gde/ogretools/OgreBinaryMeshDataObject.java b/sdk/jme3-ogretools/src/com/jme3/gde/ogretools/OgreBinaryMeshDataObject.java index f36cdfe45..0c59e3e8e 100644 --- a/sdk/jme3-ogretools/src/com/jme3/gde/ogretools/OgreBinaryMeshDataObject.java +++ b/sdk/jme3-ogretools/src/com/jme3/gde/ogretools/OgreBinaryMeshDataObject.java @@ -7,21 +7,18 @@ package com.jme3.gde.ogretools; import com.jme3.asset.AssetKey; import com.jme3.gde.core.assets.ProjectAssetManager; import com.jme3.gde.core.assets.SpatialAssetDataObject; +import com.jme3.gde.core.util.SpatialUtil; import com.jme3.gde.ogretools.convert.OgreXMLConvert; import com.jme3.gde.ogretools.convert.OgreXMLConvertOptions; import com.jme3.scene.Spatial; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressHandleFactory; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.filesystems.FileLock; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.loaders.DataObjectExistsException; import org.openide.loaders.MultiFileLoader; import org.openide.util.Exceptions; @@ -34,6 +31,9 @@ public class OgreBinaryMeshDataObject extends SpatialAssetDataObject { @Override public Spatial loadAsset() { + if (savable != null) { + return (Spatial) savable; + } ProgressHandle handle = ProgressHandleFactory.createHandle("Converting OgreBinary"); handle.start(); //mesh @@ -64,7 +64,7 @@ public class OgreBinaryMeshDataObject extends SpatialAssetDataObject { replaceXmlFiles(mgr); listListener.stop(); savable = spatial; - storeOriginalPathUserData(); + SpatialUtil.storeOriginalPathUserData(spatial); lock.releaseLock(); File deleteFile = new File(options.getDestFile()); deleteFile.delete();