function init(){if(typeof THREE=="undefined"&&typeof require!="undefined")var THREE=require("three");RK.STLExporter=function(){};RK.STLExporter.prototype={constructor:THREE.STLExporter,parse:function(){var vector=new THREE.Vector3;var normalMatrixWorld=new THREE.Matrix3;return function(scenes){console.log(scenes);var output="";output+="solid exported\n";for(var scene_nr in scenes){scenes[scene_nr].traverse(function(object){if(object instanceof RK.Mesh){if(object.visible==false)return;var geometry=object.geometry;var matrixWorld=object.matrixWorld;var skeleton=object.skeleton;var mesh=object;if(geometry instanceof RK.BufferGeometry){var oldgeometry=geometry.clone();geometry=(new RK.Geometry).fromBufferGeometry(geometry);var skinIndex=oldgeometry.getAttribute("skinIndex");var skinWeight=oldgeometry.getAttribute("skinWeight");var morphTarget=oldgeometry.getAttribute("morphTarget0");var mtcount=0;while(typeof morphTarget!=="undefined"){mtcount++;morphTarget=oldgeometry.getAttribute("morphTarget"+mtcount)}if(typeof skinIndex!=="undefined"){geometry.skinIndices=[];geometry.skinWeights=[];geometry.morphTargets=[];for(var j=0;j").css({"margin-left":"20px","font-size":"1.4em",color:"rgba(255, 255, 255, 0.8)",cursor:"pointer"}).text("Export Figure");var stl_base=$("").css({"margin-left":"20px","font-size":"1.4em",color:"rgba(255, 255, 255, 0.8)",cursor:"pointer"}).text("Export Figure + Base");var sjson=$("").css({"margin-left":"20px","font-size":"1.4em",color:"rgba(255, 255, 255, 0.8)",cursor:"pointer"}).text("Save JSON");var ljson=$("").attr({type:"file",id:"ljson"}).css({display:"none"}).text("Load JSON");var labeljson=$("").attr({for:"ljson"}).css({"margin-left":"20px","font-size":"1.4em",color:"rgba(255, 255, 255, 0.8)",cursor:"pointer"}).text("Load JSON");character_area.append(stl);character_area.append(stl_base);character_area.append(sjson);character_area.append(ljson);character_area.append(labeljson);character_area.css("right",0);stl.click(function(e){e.preventDefault();var exporter=new RK.STLExporter;var objs=CK.activeCharacter.threeObj.children;var character=objs[0];var figure=[];var max_objs=0;var i;for(i in objs){if(objs[i].children.length>objs[max_objs].children.length){console.log("Id "+max_objs+" is not the character");character=objs[i];max_objs=i}}if(character.children.length>9){console.log("Found Character, id="+max_objs);console.log(character);figure.push(character)}if(CK.activeCharacter.characterData.parts.mount!==undefined){console.log("Exporting Mount");var mount=undefined;for(i in objs){var j;for(j in objs[i].children){if(objs[i].children[j].name=="mount"&&objs[i].children.length<10){console.log("Found mount, id="+i+","+j);mount=objs[i]}}}console.log(mount);figure.push(mount);console.log(figure)}console.log(figure);var stlString=exporter.parse(figure);var name=CK.activeCharacter.name;name=name===""?"unnamed":name;download(stlString,name+".stl","application/sla")});stl_base.click(function(e){e.preventDefault();var exporter=new RK.STLExporter;var stlString=exporter.parse([CK.activeCharacter.threeObj]);var name=CK.activeCharacter.name;name=name===""?"unnamed":name;download(stlString,name+"_base.stl","application/sla")});sjson.click(function(e){e.preventDefault();var char_json=JSON.stringify(CK.activeCharacter.characterData);var name=CK.activeCharacter.name;name=name===""?"unnamed":name;download(char_json,name+".json","text/plain")});ljson.on("change",function(e){e.preventDefault();var file=e.target.files[0];var reader=new FileReader;reader.onload=function(theFile){return function(e){e.preventDefault();CK.change(JSON.parse(e.target.result))}}(file);reader.readAsText(file)})}function injectScriptAndUse(url,callback){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=url;script.onload=function(){callback()};head.appendChild(script)}injectScriptAndUse("//code.jquery.com/jquery-3.3.1.min.js",function(){injectScriptAndUse("//raw.githubusercontent.com/mrdoob/three.js/dev/build/three.min.js",function(){injectScriptAndUse("//danml.com/js/download.js",init)})});