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);
}
}
}