class Filme extends AncestralComum {
	
	antesCriar() {
		super.antesCriar();
		this.cenario = this.dados.cenario;
		this.idContainer = this.dados.idContainer;
		this.ativarEstatistica = this.dados.ativarEstatistica;
		this.cena = this.cenario.cena;
		this.camera = this.cenario.camera;
	}

	duranteCriar() {
		super.duranteCriar()
		//
		//this.renderizador = renderizadorFilme;
		//
		this.criarContainer();;
		//
		this.criarRenderer();
		//
		//this.criarCenario(;
		//
		this.estatistica = this.criarEstatistica();
		//
		this.iniciarEstatistica = function() {
			if (this.ativarEstatistica) this.estatistica.begin();
		}
		//
		this.finalizarEstatistica = function() {
			if (this.ativarEstatistica) this.estatistica.end();
		}
		//
		this.renderizar = function() {
			this.renderizador();
		}
	}

	criarContainer() {
	   this.container = (this.idContainer) ? document.getElementById(this.idContainer) : undefined;
	}

	criarRenderer () {
		var renderer = new THREE.WebGLRenderer({antialias: true });
		renderer.setPixelRatio(window.devicePixelRatio);
		renderer.setSize(window.innerWidth,window.innerHeight);
		renderer.setClearColor("#000000");
		renderer.gammaInput = true;
		renderer.gammaOutput = true;
		this.container.appendChild(renderer.domElement);
		this.renderer = renderer;
	}      

	/*
	criarCenario() {
	   this.cenario = new Cenario();
	}
	*/

	criarEstatistica() {
		this.estatistica = undefined;
		if (this.ativarEstatistica) {
			this.estatistica = new Stats();
			this.container.appendChild(this.estatistica.dom);
		}
	}

	renderizador () {
		this.renderer.render(this.cena,this.camera);
	}
}
//=================================================================================================
// OrbitalAncestral
//=================================================================================================

var Filme = function(dados) {
   AncestralComum.call(this,dados)
}

//-------------------------------------------------------------------------------------------------

Filme.prototype = new AncestralComum();

//-------------------------------------------------------------------------------------------------

Filme.prototype.constructor = Filme;

//-------------------------------------------------------------------------------------------------

Filme.prototype.antesCriar = function() {
   this.cenario = this.dados.cenario;
   this.idContainer = this.dados.idContainer;
   this.ativarEstatistica = this.dados.ativarEstatistica;
   this.cena = this.cenario.cena;
   this.camera = this.cenario.camera;
}

//-------------------------------------------------------------------------------------------------

Filme.prototype.duranteCriar = function() {
   //
   //this.renderizador = renderizadorFilme;
   //
   this.criarContainer();;
   //
   this.criarRenderer();
   //
   //this.criarCenario(;
   //
   this.estatistica = this.criarEstatistica();
   //
   this.iniciarEstatistica = function() {
      if (this.ativarEstatistica) this.estatistica.begin();
   }
   //
   this.finalizarEstatistica = function() {
      if (this.ativarEstatistica) this.estatistica.end();
   }
   //
   this.renderizar = function() {
      this.renderizador();
   }
}

//-------------------------------------------------------------------------------------------------

Filme.prototype.criarContainer = function() {
   this.container = (this.idContainer) ? document.getElementById(this.idContainer) : undefined;
}

//-------------------------------------------------------------------------------------------------

Filme.prototype.criarRenderer = function () {
   var renderer = new THREE.WebGLRenderer({antialias: true });
   renderer.setPixelRatio(window.devicePixelRatio);
   renderer.setSize(window.innerWidth,window.innerHeight);
   renderer.setClearColor("#000000");
   renderer.gammaInput = true;
   renderer.gammaOutput = true;
   this.container.appendChild(renderer.domElement);
   this.renderer = renderer;
}      

//-------------------------------------------------------------------------------------------------
/*
Filme.prototype.criarCenario = function() {
   this.cenario = new Cenario();
}
*/
//-------------------------------------------------------------------------------------------------

Filme.prototype.criarEstatistica = function() {
   this.estatistica = undefined;
   if (this.ativarEstatistica) {
      this.estatistica = new Stats();
      this.container.appendChild(this.estatistica.dom);
   }
}

//-------------------------------------------------------------------------------------------------

Filme.prototype.renderizador = function () {
   this.renderer.render(this.cena,this.camera);
}

//-------------------------------------------------------------------------------------------------