style(resize): 三维视口Resize监听放入sdk中;3DTiles模型新增视口Resize时的自动处理
This commit is contained in:
@@ -436,6 +436,8 @@ export class Signals {
|
||||
|
||||
this.viewer.modules.viewHelper.update();
|
||||
|
||||
this.viewer.modules.tilesManage.resize();
|
||||
|
||||
App.csm.updateFrustums();
|
||||
this.render();
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@
|
||||
*/
|
||||
import {TilesRenderer} from "3d-tiles-renderer";
|
||||
import type {PriorityQueue} from "3d-tiles-renderer";
|
||||
import {Mesh, Sphere, Vector3, Quaternion, Material, Scene} from 'three';
|
||||
import {Mesh, Sphere, Vector3, Quaternion, Material, Scene, PerspectiveCamera, WebGLRenderer} from 'three';
|
||||
import { MeshBVH,StaticGeometryGenerator,/*CENTER*/ } from 'three-mesh-bvh';
|
||||
import Tiles from "@/core/objects/Tile.ts";
|
||||
|
||||
export class TilesManage {
|
||||
private scene:Scene;
|
||||
private camera: PerspectiveCamera;
|
||||
private renderer: WebGLRenderer;
|
||||
|
||||
protected _tilesMergeMesh:Mesh | null = null;
|
||||
|
||||
@@ -34,8 +36,10 @@ export class TilesManage {
|
||||
|
||||
needRender = false;
|
||||
|
||||
constructor(scene:Scene) {
|
||||
constructor(scene:Scene,camera:PerspectiveCamera,renderer:WebGLRenderer) {
|
||||
this.scene = scene;
|
||||
this.camera = camera;
|
||||
this.renderer = renderer;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -136,6 +140,14 @@ export class TilesManage {
|
||||
tiles.dispose();
|
||||
}
|
||||
|
||||
resize(){
|
||||
for (const tiles of this.tilesMap.values()) {
|
||||
tiles.forEach(_tiles => {
|
||||
_tiles.renderer.setResolutionFromRenderer(this.camera, this.renderer);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
update() {
|
||||
for (const tiles of this.tilesMap.values()) {
|
||||
tiles.forEach(tile => tile.update());
|
||||
|
||||
Reference in New Issue
Block a user