const PhSim = require(".");
/**
* @function
* @param {Object} sim
* @param {HTMLCanvasElement} canvas
* @memberof PhSim
*/
PhSim.createFromCanvas = function(sim,canvas) {
var o = Object.create(sim);
o.canvas = canvas;
return new PhSim(o);
}
/**
* @function
* @param {Object} sim
* @param {HTMLElement} container
* @memberof PhSim
*/
PhSim.createFromContainer = function(sim,container) {
var o = Object.create(sim);
o.container = container;
return new PhSim(o);
}
/**
* @function
* @param {*} sim
* @memberof PhSim.DymSim
*/
PhSim.createContainer = function(sim) {
var container = document.createElement("div");
return this.createFromContainer(sim,container);
}
/**
* @function
* @param {String} jsonURL - URL For JSON File
* @param {function} onload - Onload function
* @memberof PhSim
*/
PhSim.loadFromJSON = function(jsonURL,onload) {
var x = new XMLHttpRequest();
x.open("GET",jsonURL);
var f = function(){
var o = PhSim.createContainer(JSON.parse(x.responseText));
onload(o);
x.removeEventListener("load",f);
}
x.addEventListener("load",f)
x.send();
}
/**
* @function
* @memberof PhSim
*/
PhSim.prototype.configRender = function() {
this.assignPhRender(new PhSim.PhRender(this.ctx));
if(!this.noCamera) {
this.camera = new PhSim.Camera(this);
this.camera.translate(-this.camera.x,-this.camera.y);
}
}