|
@@ -17867,7 +17867,8 @@
|
|
if (text == void 0) text = '';
|
|
if (text == void 0) text = '';
|
|
if (this.text !== text) {
|
|
if (this.text !== text) {
|
|
if (!(text instanceof Array)) {
|
|
if (!(text instanceof Array)) {
|
|
- this.text = [text + ''];
|
|
|
|
|
|
+ this.text = text.split('\n'); //如果是input手动输入的\n这里会是\\n且不会被拆分, 绘制的依然是\n。
|
|
|
|
+ //this.text = [text + '']
|
|
} else this.text = text;
|
|
} else this.text = text;
|
|
this.updateTexture();
|
|
this.updateTexture();
|
|
}
|
|
}
|
|
@@ -19011,6 +19012,8 @@
|
|
constructor() {
|
|
constructor() {
|
|
super();
|
|
super();
|
|
delete this.sceneBG;
|
|
delete this.sceneBG;
|
|
|
|
+ this.overlayScene = new Scene();
|
|
|
|
+ viewer.addEventListener("render.pass.perspective_overlay", this.renderOverlay.bind(this));
|
|
this.cameraP = new PerspectiveCamera(this.fov, 1, Potree.config.view.near, Potree.config.view.cameraFar);
|
|
this.cameraP = new PerspectiveCamera(this.fov, 1, Potree.config.view.near, Potree.config.view.cameraFar);
|
|
this.cameraO = new OrthographicCamera(-1, 1, 1, -1, Potree.config.view.near, Potree.settings.cameraFar);
|
|
this.cameraO = new OrthographicCamera(-1, 1, 1, -1, Potree.config.view.near, Potree.settings.cameraFar);
|
|
this.cameraP.limitFar = true; //add
|
|
this.cameraP.limitFar = true; //add
|
|
@@ -19154,29 +19157,20 @@
|
|
bg2.layers.set(Potree.config.renderLayers.bg2);
|
|
bg2.layers.set(Potree.config.renderLayers.bg2);
|
|
this.bg2 = bg2;
|
|
this.bg2 = bg2;
|
|
}
|
|
}
|
|
-
|
|
|
|
- // { // lights
|
|
|
|
- // {
|
|
|
|
- // let light = new THREE.DirectionalLight(0xffffff);
|
|
|
|
- // light.position.set(10, 10, 1);
|
|
|
|
- // light.target.position.set(0, 0, 0);
|
|
|
|
- // this.scene.add(light);
|
|
|
|
- // }
|
|
|
|
-
|
|
|
|
- // {
|
|
|
|
- // let light = new THREE.DirectionalLight(0xffffff);
|
|
|
|
- // light.position.set(-10, 10, 1);
|
|
|
|
- // light.target.position.set(0, 0, 0);
|
|
|
|
- // this.scene.add(light);
|
|
|
|
- // }
|
|
|
|
-
|
|
|
|
- // {
|
|
|
|
- // let light = new THREE.DirectionalLight(0xffffff);
|
|
|
|
- // light.position.set(0, -10, 20);
|
|
|
|
- // light.target.position.set(0, 0, 0);
|
|
|
|
- // this.scene.add(light);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
|
|
+ }
|
|
|
|
+ renderOverlay() {
|
|
|
|
+ var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
+ // measure tag
|
|
|
|
+ if (this.overlayScene.children.filter(e => e.visible).length == 0) return;
|
|
|
|
+ var renderer = o.renderer || this.viewer.renderer;
|
|
|
|
+ Potree.Utils.setCameraLayers(o.camera, ['sceneObjects']);
|
|
|
|
+ viewer.dispatchEvent({
|
|
|
|
+ type: "render.begin2",
|
|
|
|
+ name: 'overlays',
|
|
|
|
+ viewport: o.viewport,
|
|
|
|
+ renderer: o.renderer
|
|
|
|
+ });
|
|
|
|
+ renderer.render(this.overlayScene, o.camera);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
;
|
|
;
|
|
@@ -22257,6 +22251,7 @@
|
|
*/
|
|
*/
|
|
|
|
|
|
//xzw add
|
|
//xzw add
|
|
|
|
+ var labelorder = 5;
|
|
var config$1 = {
|
|
var config$1 = {
|
|
//配置参数 不可修改
|
|
//配置参数 不可修改
|
|
displayMode: {
|
|
displayMode: {
|
|
@@ -22529,8 +22524,28 @@
|
|
measureLabel: 8,
|
|
measureLabel: 8,
|
|
sorptionSign: 10,
|
|
sorptionSign: 10,
|
|
model: 10,
|
|
model: 10,
|
|
- model: 10,
|
|
|
|
|
|
+ path: {
|
|
|
|
+ label: labelorder,
|
|
|
|
+ edge: labelorder,
|
|
|
|
+ line: labelorder - 1,
|
|
|
|
+ marker: labelorder
|
|
|
|
+ },
|
|
|
|
+ tag: {
|
|
|
|
+ label: labelorder,
|
|
|
|
+ spot: labelorder,
|
|
|
|
+ line: labelorder - 1,
|
|
|
|
+ onMesh: {
|
|
|
|
+ line: labelorder - 1,
|
|
|
|
+ spot: labelorder - 2
|
|
|
|
+ }
|
|
|
|
+ },
|
|
magnifier: 50
|
|
magnifier: 50
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ renderOrder:
|
|
|
|
+ 理想情况是大家渲染层级都一样,用真实的遮挡情况。(depthTest为false的话会three会自动根据深度调整渲染顺序, 只是随着角度变化常有错) 但有时候为了处理特殊情况,如希望热点的线永在热点之后不穿出,需要增加层级。但热点和热点之间、热点和其他物品是平等的,而降低的层级总被远处的高层级遮挡。
|
|
|
|
+ 因此无论何时尽量减少层级数目。如有必要,可临时将容易被忽视穿帮的线条设置为低层级。
|
|
|
|
+ */
|
|
},
|
|
},
|
|
siteModel: {
|
|
siteModel: {
|
|
names: {
|
|
names: {
|
|
@@ -42112,12 +42127,6 @@
|
|
width2d: 200
|
|
width2d: 200
|
|
};
|
|
};
|
|
var titleLineHeight = 2;
|
|
var titleLineHeight = 2;
|
|
- var renderOrders = {
|
|
|
|
- path: 1,
|
|
|
|
- marker: 2,
|
|
|
|
- line: 3,
|
|
|
|
- label: 4
|
|
|
|
- };
|
|
|
|
var arrowCountMax = 100; //箭头总数不能超过这个值。 The count value passed into the constructor represents the maximum number of instances of this mesh. You can change the number of instances at runtime to an integer value in the range [0, count].If you need more instances than the original count value, you have to create a new InstancedMesh.
|
|
var arrowCountMax = 100; //箭头总数不能超过这个值。 The count value passed into the constructor represents the maximum number of instances of this mesh. You can change the number of instances at runtime to an integer value in the range [0, count].If you need more instances than the original count value, you have to create a new InstancedMesh.
|
|
var lastArrowCamPos,
|
|
var lastArrowCamPos,
|
|
lastArrowCount = 0;
|
|
lastArrowCount = 0;
|
|
@@ -42202,7 +42211,7 @@
|
|
setMarkerScale(marker,this.halfPathWidth)
|
|
setMarkerScale(marker,this.halfPathWidth)
|
|
marker.markerSelectStates = {}
|
|
marker.markerSelectStates = {}
|
|
Potree.Utils.setObjectLayers(marker, 'measure' )
|
|
Potree.Utils.setObjectLayers(marker, 'measure' )
|
|
- marker.renderOrder = renderOrders.marker
|
|
|
|
|
|
+ marker.renderOrder = Potree.config.renderOrders.path.marker
|
|
|
|
|
|
}
|
|
}
|
|
return
|
|
return
|
|
@@ -42237,8 +42246,8 @@
|
|
},
|
|
},
|
|
borderRadius: 6,
|
|
borderRadius: 6,
|
|
fontsize: this.fontsize || 13,
|
|
fontsize: this.fontsize || 13,
|
|
- renderOrder: renderOrders.label,
|
|
|
|
- pickOrder: renderOrders.label,
|
|
|
|
|
|
+ renderOrder: Potree.config.renderOrders.path.label,
|
|
|
|
+ pickOrder: Potree.config.renderOrders.path.label,
|
|
clipDistance: 10,
|
|
clipDistance: 10,
|
|
fadeFar: this.fadeFar
|
|
fadeFar: this.fadeFar
|
|
}));
|
|
}));
|
|
@@ -42249,7 +42258,7 @@
|
|
transparent: true,
|
|
transparent: true,
|
|
fadeFar: this.fadeFar
|
|
fadeFar: this.fadeFar
|
|
}));
|
|
}));
|
|
- line.renderOrder = renderOrders.line;
|
|
|
|
|
|
+ line.renderOrder = Potree.config.renderOrders.line;
|
|
group.add(line);
|
|
group.add(line);
|
|
group.add(this.titleLabel);
|
|
group.add(this.titleLabel);
|
|
this.titleLabel.position.z = titleLineHeight;
|
|
this.titleLabel.position.z = titleLineHeight;
|
|
@@ -42308,7 +42317,8 @@
|
|
})));
|
|
})));
|
|
//new THREE.MeshBasicMaterial({depthWrite:false, transparent:true, color:this.pathColor || '#fff', opacity:0.5, side:2}))
|
|
//new THREE.MeshBasicMaterial({depthWrite:false, transparent:true, color:this.pathColor || '#fff', opacity:0.5, side:2}))
|
|
this.add(this.edge);
|
|
this.add(this.edge);
|
|
- this.edge.renderOrder = renderOrders.path;
|
|
|
|
|
|
+ this.edge.renderOrder = Potree.config.renderOrders.path.edge,
|
|
|
|
+ //和tag的一样,但为何遮不住它?好在一般底下有一层地面能遮住
|
|
this.edge.name = 'pathEdge';
|
|
this.edge.name = 'pathEdge';
|
|
var addHoverEvent = () => {
|
|
var addHoverEvent = () => {
|
|
var mouseover = e => {
|
|
var mouseover = e => {
|
|
@@ -42406,8 +42416,8 @@
|
|
name: 'markerTitle',
|
|
name: 'markerTitle',
|
|
text: "",
|
|
text: "",
|
|
fontsize: this.fontsize || 12,
|
|
fontsize: this.fontsize || 12,
|
|
- renderOrder: renderOrders.label,
|
|
|
|
- pickOrder: renderOrders.label,
|
|
|
|
|
|
+ renderOrder: Potree.config.renderOrders.path.label,
|
|
|
|
+ pickOrder: Potree.config.renderOrders.path.label,
|
|
fontWeight: '',
|
|
fontWeight: '',
|
|
//thick
|
|
//thick
|
|
backgroundColor: {
|
|
backgroundColor: {
|
|
@@ -42539,7 +42549,7 @@
|
|
setMarkerScale(marker, this.halfPathWidth);
|
|
setMarkerScale(marker, this.halfPathWidth);
|
|
marker.markerSelectStates = {};
|
|
marker.markerSelectStates = {};
|
|
//Potree.Utils.setObjectLayers(marker, 'measure' )
|
|
//Potree.Utils.setObjectLayers(marker, 'measure' )
|
|
- marker.renderOrder = renderOrders.marker;
|
|
|
|
|
|
+ marker.renderOrder = Potree.config.renderOrders.path.marker;
|
|
marker.addEventListener('mouseover', e => {
|
|
marker.addEventListener('mouseover', e => {
|
|
if (this.addOrRemovePoint && !this.isNew) {
|
|
if (this.addOrRemovePoint && !this.isNew) {
|
|
viewer.dispatchEvent({
|
|
viewer.dispatchEvent({
|
|
@@ -42677,6 +42687,7 @@
|
|
}
|
|
}
|
|
setMarkerTitle(index, title) {
|
|
setMarkerTitle(index, title) {
|
|
if (!this.markerLabels[index]) return;
|
|
if (!this.markerLabels[index]) return;
|
|
|
|
+ this.markerLabels[index].originText = title;
|
|
this.markerLabels[index].setText(title);
|
|
this.markerLabels[index].setText(title);
|
|
this.setTitleVisi(this.markerLabels[index], title instanceof Array || title.trim() != '', 'noText');
|
|
this.setTitleVisi(this.markerLabels[index], title instanceof Array || title.trim() != '', 'noText');
|
|
viewer.dispatchEvent('content_changed');
|
|
viewer.dispatchEvent('content_changed');
|
|
@@ -42725,13 +42736,13 @@
|
|
state == 'unclick' && (marker.markerSelectStates.click = false);
|
|
state == 'unclick' && (marker.markerSelectStates.click = false);
|
|
if (marker.markerSelectStates.click) {
|
|
if (marker.markerSelectStates.click) {
|
|
marker.material = getMarkerMat('drag');
|
|
marker.material = getMarkerMat('drag');
|
|
- marker.renderOrder = marker.pickOrder = renderOrders.marker + 2;
|
|
|
|
|
|
+ marker.renderOrder = marker.pickOrder = Potree.config.renderOrders.path.marker + 1;
|
|
} else if (marker.markerSelectStates.hover) {
|
|
} else if (marker.markerSelectStates.hover) {
|
|
marker.material = getMarkerMat(this.addOrRemovePoint ? 'delete' : 'drag');
|
|
marker.material = getMarkerMat(this.addOrRemovePoint ? 'delete' : 'drag');
|
|
- marker.renderOrder = marker.pickOrder = renderOrders.marker + 1;
|
|
|
|
|
|
+ marker.renderOrder = marker.pickOrder = Potree.config.renderOrders.path.marker + 1;
|
|
} else {
|
|
} else {
|
|
marker.material = getMarkerMat('default');
|
|
marker.material = getMarkerMat('default');
|
|
- marker.renderOrder = marker.pickOrder = renderOrders.marker;
|
|
|
|
|
|
+ marker.renderOrder = marker.pickOrder = Potree.config.renderOrders.path.marker;
|
|
}
|
|
}
|
|
|
|
|
|
//marker.selected = absoluteState
|
|
//marker.selected = absoluteState
|
|
@@ -42836,6 +42847,7 @@
|
|
}));
|
|
}));
|
|
//let material = new THREE.MeshBasicMaterial({map )})
|
|
//let material = new THREE.MeshBasicMaterial({map )})
|
|
this.arrows = new InstancedMesh(planeGeo$2, material, arrowCountMax); //会自动向shader添加define和instanceMatrix
|
|
this.arrows = new InstancedMesh(planeGeo$2, material, arrowCountMax); //会自动向shader添加define和instanceMatrix
|
|
|
|
+ this.arrows.renderOrder = Potree.config.renderOrders.path.edge;
|
|
this.add(this.arrows);
|
|
this.add(this.arrows);
|
|
//Potree.Utils.setObjectLayers(this.arrows, 'measure' )
|
|
//Potree.Utils.setObjectLayers(this.arrows, 'measure' )
|
|
}
|
|
}
|
|
@@ -43330,7 +43342,7 @@
|
|
this.scene.name = 'scene_measurement';
|
|
this.scene.name = 'scene_measurement';
|
|
//this.light = new THREE.PointLight(0xffffff, 1.0);
|
|
//this.light = new THREE.PointLight(0xffffff, 1.0);
|
|
//this.scene.add(this.light);
|
|
//this.scene.add(this.light);
|
|
- this.viewer.inputHandler.registerInteractiveScene(this.scene);
|
|
|
|
|
|
+
|
|
this.history = new History({
|
|
this.history = new History({
|
|
applyData: data => {
|
|
applyData: data => {
|
|
if (data.measure.parent && data.measure.visible) {
|
|
if (data.measure.parent && data.measure.visible) {
|
|
@@ -43379,7 +43391,7 @@
|
|
e.measurement.dispose(); /* this.scene.remove(e.measurement); */
|
|
e.measurement.dispose(); /* this.scene.remove(e.measurement); */
|
|
};
|
|
};
|
|
this.onAdd = e => {
|
|
this.onAdd = e => {
|
|
- this.scene.add(e.measurement);
|
|
|
|
|
|
+ viewer.scene.overlayScene.add(e.measurement);
|
|
};
|
|
};
|
|
for (var measurement of viewer.scene.measurements) {
|
|
for (var measurement of viewer.scene.measurements) {
|
|
this.onAdd({
|
|
this.onAdd({
|
|
@@ -43633,7 +43645,7 @@
|
|
args.minMarkers = measure.minMarkers;
|
|
args.minMarkers = measure.minMarkers;
|
|
} else {
|
|
} else {
|
|
measure = args.measureType == 'MulDistance Ring' ? new Prism(args) : args.type == 'Path' ? new Path$1(args) : new Measure$1(args);
|
|
measure = args.measureType == 'MulDistance Ring' ? new Prism(args) : args.type == 'Path' ? new Path$1(args) : new Measure$1(args);
|
|
- this.scene.add(measure);
|
|
|
|
|
|
+ viewer.scene.overlayScene.add(measure);
|
|
}
|
|
}
|
|
measure.isNew = true;
|
|
measure.isNew = true;
|
|
this.viewer.dispatchEvent({
|
|
this.viewer.dispatchEvent({
|
|
@@ -43943,6 +43955,7 @@
|
|
}
|
|
}
|
|
render() {
|
|
render() {
|
|
var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
+ //废弃
|
|
if (this.scene.children.filter(e => e.visible).length == 0) return;
|
|
if (this.scene.children.filter(e => e.visible).length == 0) return;
|
|
var renderer = o.renderer || this.viewer.renderer;
|
|
var renderer = o.renderer || this.viewer.renderer;
|
|
Potree.Utils.setCameraLayers(o.camera, ['sceneObjects']);
|
|
Potree.Utils.setCameraLayers(o.camera, ['sceneObjects']);
|
|
@@ -56521,12 +56534,6 @@
|
|
maxOcclusionFactor: 0.7,
|
|
maxOcclusionFactor: 0.7,
|
|
maxClipFactor: 1
|
|
maxClipFactor: 1
|
|
};
|
|
};
|
|
- var renderOrders$1 = {
|
|
|
|
- line: 3,
|
|
|
|
- spot: 15,
|
|
|
|
- //高过模型
|
|
|
|
- label: 17
|
|
|
|
- };
|
|
|
|
var planeGeo$3 = new PlaneBufferGeometry(1, 1);
|
|
var planeGeo$3 = new PlaneBufferGeometry(1, 1);
|
|
var texLoader$8 = new TextureLoader();
|
|
var texLoader$8 = new TextureLoader();
|
|
var lineMat;
|
|
var lineMat;
|
|
@@ -56565,12 +56572,12 @@
|
|
map: texLoader$8.load(o.spotUrl || Potree.resourcePath + '/textures/spot_default.png')
|
|
map: texLoader$8.load(o.spotUrl || Potree.resourcePath + '/textures/spot_default.png')
|
|
})));
|
|
})));
|
|
this.spot.scale.set(defaultSpotScale, defaultSpotScale, defaultSpotScale);
|
|
this.spot.scale.set(defaultSpotScale, defaultSpotScale, defaultSpotScale);
|
|
- this.spot.renderOrder = this.spot.pickOrder = renderOrders$1.spot;
|
|
|
|
|
|
+ this.spot.renderOrder = this.spot.pickOrder = Potree.config.renderOrders.tag.spot;
|
|
this.line = LineDraw.createFatLine([], {
|
|
this.line = LineDraw.createFatLine([], {
|
|
mat: lineMat
|
|
mat: lineMat
|
|
});
|
|
});
|
|
this.line.name = 'tagLine';
|
|
this.line.name = 'tagLine';
|
|
- this.line.renderOrder = this.line.pickOrder = renderOrders$1.line;
|
|
|
|
|
|
+ this.line.renderOrder = this.line.pickOrder = Potree.config.renderOrders.tag.line;
|
|
this.titleLabel = new TextSprite$2(Object.assign({}, depthMatProp, {
|
|
this.titleLabel = new TextSprite$2(Object.assign({}, depthMatProp, {
|
|
root: group,
|
|
root: group,
|
|
text: '',
|
|
text: '',
|
|
@@ -56593,8 +56600,8 @@
|
|
fontsize: this.fontsize || 13,
|
|
fontsize: this.fontsize || 13,
|
|
fontWeight: '',
|
|
fontWeight: '',
|
|
//thick
|
|
//thick
|
|
- renderOrder: renderOrders$1.label,
|
|
|
|
- pickOrder: renderOrders$1.label,
|
|
|
|
|
|
+ renderOrder: Potree.config.renderOrders.tag.label,
|
|
|
|
+ pickOrder: Potree.config.renderOrders.tag.label,
|
|
useDepth: true
|
|
useDepth: true
|
|
})); //更新sprite时,实际更新的是root: spot的矩阵
|
|
})); //更新sprite时,实际更新的是root: spot的矩阵
|
|
this.setTitle(this.title);
|
|
this.setTitle(this.title);
|
|
@@ -56734,13 +56741,15 @@
|
|
this.titleLabel.position.y = 0;
|
|
this.titleLabel.position.y = 0;
|
|
this.spot.position.set(0, 0, 0.01); //在mesh之上偏移一点
|
|
this.spot.position.set(0, 0, 0.01); //在mesh之上偏移一点
|
|
this.setNorQua();
|
|
this.setNorQua();
|
|
- this.line.renderOrder = renderOrders$1.spot + 1; //比spot高,但比label低
|
|
|
|
|
|
+ this.spot.renderOrder = Potree.config.renderOrders.tag.onMesh.spot; // 防止遮住线
|
|
|
|
+ this.line.renderOrder = Potree.config.renderOrders.tag.onMesh.line;
|
|
} else {
|
|
} else {
|
|
this.titleLabel.parent.add(this.spot);
|
|
this.titleLabel.parent.add(this.spot);
|
|
this.updateTitlePos();
|
|
this.updateTitlePos();
|
|
this.spot.position.set(0, 0, 0);
|
|
this.spot.position.set(0, 0, 0);
|
|
- this.spot.quaternion.set(0, 0, 0, 1); //this.titleLabel.waitUpdate()
|
|
|
|
- this.line.renderOrder = renderOrders$1.line; //还原
|
|
|
|
|
|
+ this.spot.quaternion.set(0, 0, 0, 1); //this.titleLabel.waitUpdate()
|
|
|
|
+ this.spot.renderOrder = Potree.config.renderOrders.tag.spot; //还原
|
|
|
|
+ this.line.renderOrder = Potree.config.renderOrders.tag.line;
|
|
}
|
|
}
|
|
Potree.Utils.updateVisible(this.line, 'hideTitle', !this.titleLabel.visible && onMesh ? false : true);
|
|
Potree.Utils.updateVisible(this.line, 'hideTitle', !this.titleLabel.visible && onMesh ? false : true);
|
|
this.updateDepthParams();
|
|
this.updateDepthParams();
|
|
@@ -56840,12 +56849,8 @@
|
|
constructor(viewer) {
|
|
constructor(viewer) {
|
|
super();
|
|
super();
|
|
this.viewer = viewer;
|
|
this.viewer = viewer;
|
|
- this.scene = new Scene();
|
|
|
|
viewer.tags = new Object3D();
|
|
viewer.tags = new Object3D();
|
|
- this.scene.add(viewer.tags);
|
|
|
|
- this.viewer.inputHandler.registerInteractiveScene(this.scene);
|
|
|
|
- viewer.addEventListener("render.pass.perspective_overlay", this.render.bind(this)); //在measure之后渲染,盖住它
|
|
|
|
-
|
|
|
|
|
|
+ viewer.scene.overlayScene.add(viewer.tags);
|
|
this.viewer.addEventListener('start_inserting_tag', e => {
|
|
this.viewer.addEventListener('start_inserting_tag', e => {
|
|
this.viewer.dispatchEvent({
|
|
this.viewer.dispatchEvent({
|
|
type: 'cancel_insertions'
|
|
type: 'cancel_insertions'
|
|
@@ -56909,19 +56914,6 @@
|
|
});
|
|
});
|
|
return deferred.promise();
|
|
return deferred.promise();
|
|
}
|
|
}
|
|
- render() {
|
|
|
|
- var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
- if (viewer.tags.children.filter(e => e.visible).length == 0) return;
|
|
|
|
- var renderer = o.renderer || this.viewer.renderer;
|
|
|
|
- Potree.Utils.setCameraLayers(o.camera, ['sceneObjects']);
|
|
|
|
- viewer.dispatchEvent({
|
|
|
|
- type: "render.begin2",
|
|
|
|
- name: 'tags',
|
|
|
|
- viewport: o.viewport,
|
|
|
|
- renderer: o.renderer
|
|
|
|
- });
|
|
|
|
- renderer.render(this.scene, o.camera);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
var initDir = new Vector3(0, 1, 0); //指南针模型的北方向 向屏幕里
|
|
var initDir = new Vector3(0, 1, 0); //指南针模型的北方向 向屏幕里
|
|
@@ -73599,7 +73591,7 @@
|
|
var rotQua2$1 = new Quaternion().setFromAxisAngle(new Vector3(0, 0, 1), -Math.PI);
|
|
var rotQua2$1 = new Quaternion().setFromAxisAngle(new Vector3(0, 0, 1), -Math.PI);
|
|
var lineMats$3 = {};
|
|
var lineMats$3 = {};
|
|
var circleMats = {};
|
|
var circleMats = {};
|
|
- var renderOrders$2 = {
|
|
|
|
|
|
+ var renderOrders = {
|
|
circleSelected: 3,
|
|
circleSelected: 3,
|
|
circle: 2,
|
|
circle: 2,
|
|
line: 1
|
|
line: 1
|
|
@@ -73835,7 +73827,7 @@
|
|
this.linkGuideLine.visible = false;
|
|
this.linkGuideLine.visible = false;
|
|
this.linkGuideLine.name = 'linkGuideLine';
|
|
this.linkGuideLine.name = 'linkGuideLine';
|
|
viewer.scene.scene.add(this.linkGuideLine);
|
|
viewer.scene.scene.add(this.linkGuideLine);
|
|
- this.linkGuideLine.renderOrder = renderOrders$2.line;
|
|
|
|
|
|
+ this.linkGuideLine.renderOrder = renderOrders.line;
|
|
var update = e => {
|
|
var update = e => {
|
|
if (this.operation != 'addLink' || this.activeViewName != 'top' && this.activeViewName != 'mainView' || !this.selectedPano) {
|
|
if (this.operation != 'addLink' || this.activeViewName != 'top' && this.activeViewName != 'mainView' || !this.selectedPano) {
|
|
return this.linkGuideLine.visible = false;
|
|
return this.linkGuideLine.visible = false;
|
|
@@ -74502,7 +74494,7 @@
|
|
mat: lineMats$3.default
|
|
mat: lineMats$3.default
|
|
});
|
|
});
|
|
line.name = "".concat(pano0.id, "-").concat(pano1.id);
|
|
line.name = "".concat(pano0.id, "-").concat(pano1.id);
|
|
- line.renderOrder = line.pickOrder = renderOrders$2.line;
|
|
|
|
|
|
+ line.renderOrder = line.pickOrder = renderOrders.line;
|
|
this.lineMeshes.add(line);
|
|
this.lineMeshes.add(line);
|
|
this.panoLink[pano0.id][pano1.id].line = this.panoLink[pano1.id][pano0.id].line = line;
|
|
this.panoLink[pano0.id][pano1.id].line = this.panoLink[pano1.id][pano0.id].line = line;
|
|
line.addEventListener('mouseover', () => {
|
|
line.addEventListener('mouseover', () => {
|
|
@@ -74645,8 +74637,8 @@
|
|
nearBound: 2,
|
|
nearBound: 2,
|
|
farBound: 10
|
|
farBound: 10
|
|
},
|
|
},
|
|
- renderOrder: renderOrders$2.circle,
|
|
|
|
- pickOrder: renderOrders$2.circle
|
|
|
|
|
|
+ renderOrder: renderOrders.circle,
|
|
|
|
+ pickOrder: renderOrders.circle
|
|
});
|
|
});
|
|
circle.pickDontCheckDis = true;
|
|
circle.pickDontCheckDis = true;
|
|
circle.name = 'panoCircle';
|
|
circle.name = 'panoCircle';
|
|
@@ -74739,7 +74731,7 @@
|
|
var opaProp = this.activeViewName == 'top' ? opacitys.topView : opacitys.sideView;
|
|
var opaProp = this.activeViewName == 'top' ? opacitys.topView : opacitys.sideView;
|
|
if (this.selectedPano) {
|
|
if (this.selectedPano) {
|
|
this.selectedPano.circle.material = circleMats['default' + '_' + this.getPanoRtkState(this.selectedPano)];
|
|
this.selectedPano.circle.material = circleMats['default' + '_' + this.getPanoRtkState(this.selectedPano)];
|
|
- this.selectedPano.circle.renderOrder = renderOrders$2.circle;
|
|
|
|
|
|
+ this.selectedPano.circle.renderOrder = renderOrders.circle;
|
|
this.selectedPano.removeEventListener('rePos', this.panoReposCallback);
|
|
this.selectedPano.removeEventListener('rePos', this.panoReposCallback);
|
|
if (this.activeViewName == 'mainView') {} else {
|
|
if (this.activeViewName == 'mainView') {} else {
|
|
this.selectedClouds.forEach(e => {
|
|
this.selectedClouds.forEach(e => {
|
|
@@ -74752,7 +74744,7 @@
|
|
this.updateSelectGroup();
|
|
this.updateSelectGroup();
|
|
if (pano) {
|
|
if (pano) {
|
|
this.selectedPano.circle.material = circleMats['selected' + '_' + this.getPanoRtkState(this.selectedPano)];
|
|
this.selectedPano.circle.material = circleMats['selected' + '_' + this.getPanoRtkState(this.selectedPano)];
|
|
- this.selectedPano.circle.renderOrder = this.selectedPano.circle.pickOrder = renderOrders$2.circleSelected; //侧视图能显示在最前
|
|
|
|
|
|
+ this.selectedPano.circle.renderOrder = this.selectedPano.circle.pickOrder = renderOrders.circleSelected; //侧视图能显示在最前
|
|
|
|
|
|
//viewer.controls.setTarget(this.selectedPano.position) //3d时绕其为中心转动 (注释原因:不想变来变去不习惯,难以查看任意角落细节)
|
|
//viewer.controls.setTarget(this.selectedPano.position) //3d时绕其为中心转动 (注释原因:不想变来变去不习惯,难以查看任意角落细节)
|
|
this.selectedPano.addEventListener('rePos', this.panoReposCallback);
|
|
this.selectedPano.addEventListener('rePos', this.panoReposCallback);
|
|
@@ -74940,7 +74932,7 @@
|
|
mat: lineMats$3.suggestLink
|
|
mat: lineMats$3.suggestLink
|
|
});
|
|
});
|
|
this.suggestLines.push(line);
|
|
this.suggestLines.push(line);
|
|
- line.renderOrder = renderOrders$2.line;
|
|
|
|
|
|
+ line.renderOrder = renderOrders.line;
|
|
viewer.scene.scene.add(line);
|
|
viewer.scene.scene.add(line);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -80734,6 +80726,7 @@
|
|
}
|
|
}
|
|
this.inputHandler = new InputHandler(this, this.scene.scene);
|
|
this.inputHandler = new InputHandler(this, this.scene.scene);
|
|
this.inputHandler.containsMouse = true; //初始化,使键盘事件在mainViewer有效
|
|
this.inputHandler.containsMouse = true; //初始化,使键盘事件在mainViewer有效
|
|
|
|
+ this.inputHandler.registerInteractiveScene(this.scene.overlayScene);
|
|
//this.inputHandler.setScene(this.scene);
|
|
//this.inputHandler.setScene(this.scene);
|
|
//this.inputHandler.addInputListener(this);//add
|
|
//this.inputHandler.addInputListener(this);//add
|
|
|
|
|