TestModelExportingCloning fails with new Animation system

@nehon thought to report this to you.

Running following test fails

with this exception

java.lang.IllegalArgumentException: Object is not cloneable, type:class com.jme3.anim.tween.action.ClipAction
	at com.jme3.util.clone.Cloner.clone(Cloner.java:262)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
	at com.jme3.anim.AnimComposer.cloneFields(AnimComposer.java:191)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
	at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:66)
	at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:43)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:228)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
	at com.jme3.scene.Spatial.cloneFields(Spatial.java:1446)
	at com.jme3.scene.Node.cloneFields(Node.java:725)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
	at com.jme3.scene.Spatial.clone(Spatial.java:1359)
	at com.jme3.scene.Node.clone(Node.java:684)
	at com.jme3.scene.Node.clone(Node.java:61)
	at com.jme3.scene.Spatial.clone(Spatial.java:1389)
	at jme3test.model.anim.TestModelExportingCloning.simpleInitApp(TestModelExportingCloning.java:66)
	at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:220)
	at com.jme3.system.lwjgl.LwjglWindow.initInThread(LwjglWindow.java:475)
	at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:574)
	at com.jme3.system.lwjgl.LwjglWindow.create(LwjglWindow.java:423)
	at com.jme3.app.LegacyApplication.start(LegacyApplication.java:463)
	at com.jme3.app.LegacyApplication.start(LegacyApplication.java:424)
	at com.jme3.app.SimpleApplication.start(SimpleApplication.java:125)
	at jme3test.model.anim.TestModelExportingCloning.main(TestModelExportingCloning.java:46)
Caused by: java.lang.CloneNotSupportedException: No public clone method found for:class com.jme3.anim.tween.action.ClipAction
	at com.jme3.util.clone.Cloner.javaClone(Cloner.java:366)
	at com.jme3.util.clone.Cloner.clone(Cloner.java:260)
	... 25 more
1 Like

Tween interface which comes from Lemur extends Cloneable but clone method is not implemented on ClipAction tween.
On the other hand, we have JmeCloneable interface which is used for jme clone system.

JME’s clone system will use either.

JmeCloneable is for when you need to clone children in a way that shared references should continue to be shared in the clone.

1 Like

Please open an issue at GitHub:
https://github.com/jMonkeyEngine/jmonkeyengine/issues/new

1 Like

@sgold done.

https://github.com/jMonkeyEngine/jmonkeyengine/issues/972

1 Like