var ModelViewer = function($dom_element) { var $this = this; this.container = document.createElement('div'); this.dom_element = $dom_element; $dom_element.append(this.container); this.container.style.display = "none"; this.camera = null; this.scene = null; this.renderer = null; this.controls = null; this.object = null; this.width = parseFloat($dom_element.width()); this.height = parseFloat($dom_element.height()); this.visible = true; this.stats = null; this.scale = 1; this.wireframe = false; this.rendering = false; this.initHtml(); this.initScene(); function renderLoop() { requestAnimationFrame(renderLoop); if($this.rendering) { $this.render(); } $this.stats.update(); } renderLoop(); }; ModelViewer.prototype.initHtml = function () { $this = this; var buttons = document.createElement("div"); buttons.setAttribute("class", "modelviewer-buttons"); var toggleButton = $('