package com.akjava.gwt.three.client.js.extras; import com.akjava.gwt.three.client.js.THREE; import com.akjava.gwt.three.client.js.core.Geometry; import com.akjava.gwt.three.client.js.core.Object3D; import com.akjava.gwt.three.client.js.materials.Material; import com.akjava.gwt.three.client.js.scenes.Scene; import com.google.gwt.core.client.JsArray; public class SceneUtils { public static final native void detach(Object3D child,Object3D parent,Scene scene)/*-{ $wnd.THREE.SceneUtils.detach(child,parent,scene); }-*/; public static final native void attach(Object3D child,Object3D scene,Scene parent)/*-{ $wnd.THREE.SceneUtils.attach(child,scene,parent); }-*/; public static native final Object3D createMultiMaterialObject(Geometry geometry, JsArray<Material> materials)/*-{ return $wnd.THREE.SceneUtils.createMultiMaterialObject(geometry,materials); }-*/; public static final Object3D createMultiMaterialObject(Geometry geometry, Iterable<Material> materials){ @SuppressWarnings("unchecked") JsArray<Material> jsmaterials=THREE.createJsArray(); for(Material m:materials){ jsmaterials.push(m); } return createMultiMaterialObject(geometry, jsmaterials); } /** * @deprecated * @param child * @param scene * @param parent */ public static native final void detach(Object3D child,Scene scene,Object3D parent)/*-{ return $wnd.THREE.SceneUtils.detach(child,parent,scene); }-*/; /** * @deprecated * @param child * @param scene * @param parent */ public static native final void attach(Object3D child,Scene scene,Object3D parent)/*-{ return $wnd.THREE.SceneUtils.attach(child,parent,scene); }-*/; }