class HmParedes extends HmAncestralObject3dVetor {
constructor (_sala) {
super({sala: _sala});
}
preparar() {
super.preparar();
this.cfg = this.sala.cfg.paredes;
this.gui = this.sala.gui.addFolder("paredes"+" sala " + this.sala.cfg.sala);
}
criar() {
super.criar();
this.criarTextura();
this.criarParedeExternaDianteira();
this.criarParedeExternaEsquerda();
this.criarParedeExternaTraseira();
this.criarParedeExternaDireita();
}
criarTextura() {
this.texturaParede = new THREE.TextureLoader().load("img/textura/marmore/crema-bege-01a.jpg");
//this.texturaParede = THREE.ImageUtils.loadTexture("img/textura/marmore/crema-bege-01a.jpg");
}
criarParede(_numParede, _angulo, _eixo, _largura, _altura, _profundidade, _x, _z) {
this.criarObjetoVetor(
new HmParede(this, _numParede, this.texturaParede,
_angulo, _eixo, _largura, _altura, _profundidade, _x, this.sala.altura / 2, _z));
}
criarParedeExternaHorizontal(_numParede, _angulo, _eixo, sinal) {
var d = this;
var _profundidadeSala = d.sala.profundidade;
var _larguraParede = d.sala.largura;
var _alturaParede = d.sala.altura;
var _profundidadeParede = this.cfg[_numParede].profundidade;
var _z = sinal * ((_profundidadeSala / 2) + (_profundidadeParede / 2));
this.criarParede(_numParede, _angulo, _eixo,
_larguraParede, _alturaParede, _profundidadeParede, 0, _z);
}
criarParedeExternaVertical(_numParede, _angulo, _eixo, _sinal) {
var d = this;
var _larguraSala = d.sala.largura;
var _larguraParede = d.sala.profundidade; // - (_profundidadeParede * 2);
var _alturaParede = d.sala.altura;
var _profundidadeParede = this.cfg[_numParede].profundidade;
var _x = _sinal * ((_larguraSala / 2) - (_profundidadeParede / 2));
this.criarParede(_numParede,_angulo,_eixo,_larguraParede,_alturaParede,_profundidadeParede,_x,0);
}
criarParedeExternaDianteira() {
this.criarParedeExternaHorizontal(0, Math.PI, "x", 1);
}
criarParedeExternaEsquerda() {
this.criarParedeExternaVertical(1, Math.PI * 0.5, "y", -1);
}
criarParedeExternaTraseira() {
this.criarParedeExternaHorizontal(2, 0, "x", -1);
}
criarParedeExternaDireita() {
this.criarParedeExternaVertical(3, Math.PI * 1.5, "y", 1);
}
}