class HmTeto extends HmAncestralObject3d {
	constructor (_sala) {
		super({sala: _sala});
	}
		
	preparar() {
		super.preparar();
		this.sala = this.sala;
		var d = this;
		var s = d.sala;
		this.cfg = s.cfg.teto;
		this.gui = criarPastaObjeto3d(this,s.gui,"teto sala " + s.cfg.sala);
		this.cor = this.cfg.cor;
		this.altura = this.cfg.altura;
		if (this.cfg.ativar_pontos_luz) {
			this.criarPontosLuz();
		}
		if (this.cfg.ativar_holofotes) {
			this.criarHolofotes();
		}
		var _y = s.cfg.altura + (this.cfg.altura / 2);
		this.object3d.position.set(0, _y, 0);
		this.object3d.rotation.x = Math.PI * 0.5;
	}

	criarGeometria() {
		return new THREE.BoxGeometry(this.sala.largura, this.sala.profundidade, this.altura);
	}

	criarMaterial() {
		return (_obj3D.usarCanvasRenderer) ?
			new THREE.MeshBasicMaterial({color: this.cor/*,map: this.textura*/}) :
			new THREE.MeshPhongMaterial({color: this.cor,opacity: 1,transparent: false});
			// Paredes verdes claras
			/*
				this.material = new THREE.MeshPhongMaterial({
				color: 0xFFCCAA, 
				ambient: 0xffffff, 
				specular: 0x050505});
			*/
	}

	criarPontosLuz() {
		this.pontosLuz = this.criarObjeto(HmPontosLuz);
	}

	criarHolofotes() {
		this.holofotes = this.criarObjeto(HmHolofotes);
	}
}