|
@@ -32348,6 +32348,9 @@
|
|
|
this.panos = [];
|
|
this.panos = [];
|
|
|
this.neighbourMap = {};
|
|
this.neighbourMap = {};
|
|
|
this.disMap = {};
|
|
this.disMap = {};
|
|
|
|
|
+ this.addEventListener('panoChanged', () => {
|
|
|
|
|
+ this.disMap = {};
|
|
|
|
|
+ });
|
|
|
this.node = new Object3D();
|
|
this.node = new Object3D();
|
|
|
this.node.name = 'ImagesNode';
|
|
this.node.name = 'ImagesNode';
|
|
|
this.cubePanos = [];
|
|
this.cubePanos = [];
|
|
@@ -73940,19 +73943,18 @@
|
|
|
if (model.isPointcloud && model.transformMatrix) {
|
|
if (model.isPointcloud && model.transformMatrix) {
|
|
|
model.transformMatrix.multiplyMatrices(model.matrix, model.pos1MatrixInvert);
|
|
model.transformMatrix.multiplyMatrices(model.matrix, model.pos1MatrixInvert);
|
|
|
model.rotateMatrix = new Matrix4().makeRotationFromEuler(model.rotation);
|
|
model.rotateMatrix = new Matrix4().makeRotationFromEuler(model.rotation);
|
|
|
- model.panos.forEach(e => e.transformByPointcloud());
|
|
|
|
|
} else if (model.panos) {
|
|
} else if (model.panos) {
|
|
|
model.rotateMatrix = new Matrix4().makeRotationFromEuler(model.rotation).multiply(model.rot1MatrixInvert);
|
|
model.rotateMatrix = new Matrix4().makeRotationFromEuler(model.rotation).multiply(model.rot1MatrixInvert);
|
|
|
model.transformMatrix.multiplyMatrices(model.matrix, model.posRot1MatrixInvert);
|
|
model.transformMatrix.multiplyMatrices(model.matrix, model.posRot1MatrixInvert);
|
|
|
- model.panos.forEach(e => e.transformByPointcloud());
|
|
|
|
|
- //model.bound = model.boundingBox.clone().applyMatrix4(model.matrixWorld)
|
|
|
|
|
}
|
|
}
|
|
|
if (model.panos) {
|
|
if (model.panos) {
|
|
|
|
|
+ model.panos.forEach(e => e.transformByPointcloud());
|
|
|
model.transformInvMatrix.copy(model.transformMatrix).invert();
|
|
model.transformInvMatrix.copy(model.transformMatrix).invert();
|
|
|
model.rotateInvMatrix.copy(model.rotateMatrix).invert();
|
|
model.rotateInvMatrix.copy(model.rotateMatrix).invert();
|
|
|
model.panos.forEach(e => {
|
|
model.panos.forEach(e => {
|
|
|
e.marker.scale.copy(model.scale);
|
|
e.marker.scale.copy(model.scale);
|
|
|
});
|
|
});
|
|
|
|
|
+ viewer.images360.dispatchEvent('panoChanged');
|
|
|
}
|
|
}
|
|
|
model.lastMatrixWorld = model.matrixWorld.clone();
|
|
model.lastMatrixWorld = model.matrixWorld.clone();
|
|
|
viewer.dispatchEvent('content_changed');
|
|
viewer.dispatchEvent('content_changed');
|
|
@@ -91822,7 +91824,7 @@
|
|
|
lonlat = [lonlat.x, lonlat.y];
|
|
lonlat = [lonlat.x, lonlat.y];
|
|
|
}
|
|
}
|
|
|
proj4.defs("WGS84", "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");
|
|
proj4.defs("WGS84", "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");
|
|
|
- if (Potree.settings.showMap3d) {
|
|
|
|
|
|
|
+ if (Potree.settings.showMap3d || Potree.settings.useRectProj) {
|
|
|
//Web Mercator(全球矩形,高纬度地区面积变形极大)
|
|
//Web Mercator(全球矩形,高纬度地区面积变形极大)
|
|
|
proj4.defs("LOCAL_orgin", "+proj=merc +a=6378137 +b=6378137 +lat_ts=" + lonlat[1] + " +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs");
|
|
proj4.defs("LOCAL_orgin", "+proj=merc +a=6378137 +b=6378137 +lat_ts=" + lonlat[1] + " +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs");
|
|
|
var xyOnMap = proj4("WGS84", "LOCAL_orgin", lonlat.slice()); //偏移,使原点在lonlat处。
|
|
var xyOnMap = proj4("WGS84", "LOCAL_orgin", lonlat.slice()); //偏移,使原点在lonlat处。
|
|
@@ -91833,6 +91835,7 @@
|
|
|
} else {
|
|
} else {
|
|
|
//横轴墨卡托投影(远离中央的区域变形严重,边缘弯曲。 优点似乎是xy向缩放比例一样,更适用局部地图,但因非绝对矩形不太适合在web显示)
|
|
//横轴墨卡托投影(远离中央的区域变形严重,边缘弯曲。 优点似乎是xy向缩放比例一样,更适用局部地图,但因非绝对矩形不太适合在web显示)
|
|
|
proj4.defs("LOCAL", "+proj=tmerc +ellps=WGS84 +lon_0=" + lonlat[0].toPrecision(15) + " +lat_0=" + lonlat[1].toPrecision(15)); //高德坐标系
|
|
proj4.defs("LOCAL", "+proj=tmerc +ellps=WGS84 +lon_0=" + lonlat[0].toPrecision(15) + " +lat_0=" + lonlat[1].toPrecision(15)); //高德坐标系
|
|
|
|
|
+ //这种加入带坐标的距离中心经纬度很远的cesium的3dtiles后,位置和朝向都对不准。上面那个投影能对准但和地面打滑
|
|
|
}
|
|
}
|
|
|
var transform1 = proj4("WGS84", "LOCAL"); //这个ok 是展开的平面投影 LOCAL即NAVVIS:TMERC
|
|
var transform1 = proj4("WGS84", "LOCAL"); //这个ok 是展开的平面投影 LOCAL即NAVVIS:TMERC
|
|
|
var transform2 = proj4("+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs;");
|
|
var transform2 = proj4("+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs;");
|
|
@@ -91844,6 +91847,7 @@
|
|
|
if (window.transform) {
|
|
if (window.transform) {
|
|
|
viewer.transform.lonlatToLocal = window.transform.lonlatToLocal;
|
|
viewer.transform.lonlatToLocal = window.transform.lonlatToLocal;
|
|
|
}
|
|
}
|
|
|
|
|
+ Potree.lonlat = lonlat;
|
|
|
Potree.Log("setLonlat ".concat(lon, ", ").concat(lat), {
|
|
Potree.Log("setLonlat ".concat(lon, ", ").concat(lat), {
|
|
|
font: {
|
|
font: {
|
|
|
color: "#f49",
|
|
color: "#f49",
|