class HmAncestralObject3d extends HmAncestral {
constructor(_dados) {
super(_dados);
}
classe() {
return null;
}
// object3d = new THREE.Object3D();
preparar() {
super.preparar();
this.object3d = new THREE.Object3D();
//this.object3d = new THREE.Object3D();
}
criar() {
super.criar();
var classe = this.classe();
if (classe) this.criarObjeto(classe);
this.criarMalha();
}
criarGeometria() {
return null;
}
criarMaterial() {
return null;
}
criarMalha() {
this.geometria = this.criarGeometria();
this.material = this.criarMaterial();
if (this.geometria && this.material)
this.malha = this.criarObjetoMesh(new THREE.Mesh(this.geometria,this.material));
return this.malha;
}
criarObjeto(_objeto,_vetor) {
var _obj = (typeof _objeto === "function") ? new _objeto(this) : _objeto;
this.object3d.add(_obj.object3d);
if (_vetor) { _vetor.push(_obj); }
return _obj;
}
criarObjetoMesh(_objeto,_vetor) {
return this.criarObjeto({object3d: _objeto},_vetor);
}
interceptado(_x,_y) {
return false;
}
vetorExternoInterceptado(_vetor,_x,_y) {
this._vetor.find(function(_obj){return _obj.interceptado(_x,_y)});
}
}