class CenarioAtomicoBasicoPontos extends CenarioAtomicoBasico {
duranteCriar() {
super.duranteCriar();
this.tamPonto = 1;
this.materialS = [this.criarMaterialPontos("#880000",0.9)];
this.materialP = [this.criarMaterialPontos("#008800",0.9),this.criarMaterialPontos("#008800",0.1)];
this.materialD = [this.criarMaterialPontos("#000088",0.9),this.criarMaterialPontos("#000088",0.1)];
this.materialF = [this.criarMaterialPontos("#880088",0.9),this.criarMaterialPontos("#880088",0.1)];
this.materialEletronS = this.criarMaterialPhong("#FF0000", 1);
this.materialEletronP = this.criarMaterialPhong("#00FF00", 1);
this.materialEletronD = this.criarMaterialPhong("#0000FF", 1);
this.materialEletronF = this.criarMaterialPhong("#880088", 1);
this.materialUltimoEletron = this.criarMaterialPhong("#ff6600", 0.3);
this.geometriaEletron = new THREE.SphereGeometry/*BufferGeometry*/(this.raioEletron,50,50,0,doisPi,0,doisPi);
this.geometriaNucleo = new THREE.SphereGeometry/*BufferGeometry*/(this.raioNucleo,50,50,0,doisPi,0,doisPi);
this.materialProton = new THREE.MeshPhongMaterial({color: "purple", transparent: true, opacity: 1, side: THREE.DoubleSide, depthWrite: false});
this.materialNeutron = new THREE.MeshPhongMaterial({color: "yellow", transparent: true, opacity: 1, side: THREE.DoubleSide, depthWrite: false});
this.materialEsferaRaio = this.criarMaterialPontos("#ffffff", 0.1);
}
criarCamera () {
this.camera = new THREE.PerspectiveCamera(45,window.innerWidth / window.innerHeight,1,50000);
this.camera.updateMatrix();
this.camera.lookAt(this.cena.position);
this.camera.position.set(this.cpx,this.cpy,this.cpz);
}
criarMaterialPontos(cor,opacidade) {
return new THREE.PointsMaterial({size: this.tamPonto, color: cor, opacity: opacidade, sizeAttenuation: true, vertexColors: THREE.VertexColors});
}
criarGeometriaCone(raioAcima,raioAbaixo,altura,segLarg,segAlt,Fechar,IniTheta,FimTheta,solicitante) {
var geometria = CenarioAtomicoBasico.prototype.criarGeometriaCone(raioAcima,raioAbaixo,altura,segLarg,segAlt,Fechar,IniTheta,FimTheta,solicitante);
return this.criarGeometriaPontos(geometria,solicitante.material[0].color);
}
criarGeometriaEsfera(raio,segLarg,segAlt,IniPhi,FimPhi,IniTheta,FimTheta,solicitante) {
var geometria = CenarioAtomicoBasico.prototype.criarGeometriaEsfera(raio,segLarg,segAlt,IniPhi,FimPhi,IniTheta,FimTheta,solicitante);
return this.criarGeometriaPontos(geometria,solicitante.material[0].color);
}
criarGeometriaTorus(raio,tubo,segRad,segTub,arco,solicitante) {
var geometria = CenarioAtomicoBasico.prototype.criarGeometriaTorus(raio,tubo,segRad,segTub,arco,solicitante);
return this.criarGeometriaPontos(geometria,solicitante.material[0].color);
}
criarEsferaRaio(raio) {
var geometria = new THREE.SphereGeometry/*BufferGeometry*/(raio,50,50,0,doisPi,0,Math.PI/*doisPi*/);
return this.criarGeometriaPontos(geometria,this.materialEsferaRaio.color);
}
criarMalha(geometria,material) {
return new THREE.Points(geometria,material);
}
}