|
@@ -3,6 +3,10 @@ import HorizontalBox from "./HorizontalBox";
|
|
|
import VerticalBox from "./VerticalBox";
|
|
|
import SimpleLabel from "./object/SimpleLabel";
|
|
|
|
|
|
+// import { Line2 } from "three/examples/jsm/lines/Line2.js";
|
|
|
+// import { LineGeometry } from "three/examples/jsm/lines/LineGeometry.js";
|
|
|
+// import { LineMaterial } from "three/examples/jsm/lines/LineMaterial.js";
|
|
|
+
|
|
|
export default class BoxManager {
|
|
|
constructor(scene) {
|
|
|
this.scene = scene;
|
|
@@ -11,6 +15,7 @@ export default class BoxManager {
|
|
|
this.model = new THREE.Group();
|
|
|
this.model.name = "boxManager";
|
|
|
this.maps = {};
|
|
|
+ this.obb = new THREE.Box3();
|
|
|
this.imgList = [];
|
|
|
this.opacity = 1;
|
|
|
|
|
@@ -37,18 +42,21 @@ export default class BoxManager {
|
|
|
// this.model.position.y += 0.3;
|
|
|
// this.model.visible =false;
|
|
|
this.scene.scene.add(this.model);
|
|
|
+ this.setArea();
|
|
|
// console.log("this.scene.scene", this.scene.scene);
|
|
|
};
|
|
|
|
|
|
onBindEvent = () => {
|
|
|
const _this = this;
|
|
|
- this.loadingManager.onStart = function (url, itemsLoaded, itemsTotal) {
|
|
|
+ this.loadingManager.onStart = (url, itemsLoaded, itemsTotal) => {
|
|
|
// console.log( 'Started loading file: ' + url + '.\nLoaded ' + itemsLoaded + ' of ' + itemsTotal + ' files.' );
|
|
|
console.log("loading_manager: loading...");
|
|
|
+
|
|
|
};
|
|
|
this.loadingManager.onLoad = () => {
|
|
|
console.log("loading_manager: loading complete!");
|
|
|
this.scene.emit("loaded");
|
|
|
+
|
|
|
};
|
|
|
this.loadingManager.onProgress = function (url, itemsLoaded, itemsTotal) {
|
|
|
// console.log( 'Loading file: ' + url + '.\nLoaded ' + itemsLoaded + ' of ' + itemsTotal + ' files.' );
|
|
@@ -57,7 +65,25 @@ export default class BoxManager {
|
|
|
console.error("loading_manager: error loading " + url);
|
|
|
};
|
|
|
};
|
|
|
+ setArea() {
|
|
|
+ const object = this.model;
|
|
|
+ const boundingBox = new THREE.Box3().setFromObject(object);
|
|
|
+ // boundingBox.expandByScalar(1.3);
|
|
|
+ const size = boundingBox.getSize(new THREE.Vector3());
|
|
|
+ this.obb = boundingBox;
|
|
|
+ console.log("boundingBox-size", size);
|
|
|
+ // const topLine = [
|
|
|
+ // -size.x,
|
|
|
+ // 0,
|
|
|
+ // (size.z + 0.3) / -2,
|
|
|
+ // size.x + 0.1,
|
|
|
+ // 0,
|
|
|
+ // (size.z + 0.3) / -2,
|
|
|
+ // ];
|
|
|
|
|
|
+ // helper.scale.set(1.2, 1.2, 1.2);
|
|
|
+ // helper.update();
|
|
|
+ }
|
|
|
setVisible = (val) => {
|
|
|
if (!this.model) return;
|
|
|
this.model.visible = val;
|