class HmPiso extends HmAncestralObject3d {
	constructor (_sala) {
		super({sala: _sala});
	}
		
	preparar() {
		super.preparar();
		this.cfg = this.sala.cfg.piso;
		this.gui = criarPastaObjeto3d(this, this.sala.gui, "piso sala " + this.sala.cfg.sala);
		this.cor = this.cfg.cor;
		this.altura = this.cfg.altura;
		this.meiaAltura = this.altura / 2;
		this.medidaLajota = this.cfg.medida_lajota;
		this.criarTexturaPiso();
	}

	criarTexturaPiso() {
		var _ml = this.medidaLajota;
		this.texturaPiso = new THREE.TextureLoader().load(this.cfg.nome_arquivo);
		//this.texturaPiso = THREE.ImageUtils.loadTexture(this.cfg.nome_arquivo);
		this.texturaPiso.wrapS = this.texturaPiso.wrapT = THREE.RepeatWrapping;
		this.texturaPiso.repeat.set(this.sala.largura / _ml, this.sala.profundidade / _ml);
	}

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

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

	criarMalha(){
		super.criarMalha();
		if (this.malha) {
			this.malha.receiveShadow = true;
			this.object3d.position.set(0, this.altura / 2, 0);
		}
	}
}