@inweb/viewer-visualize 26.9.9 → 26.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/viewer-visualize.js +27 -2
- package/dist/viewer-visualize.js.map +1 -1
- package/dist/viewer-visualize.min.js +1 -1
- package/dist/viewer-visualize.module.js +27 -2
- package/dist/viewer-visualize.module.js.map +1 -1
- package/package.json +5 -5
- package/src/Viewer/Draggers/Actions/OrbitAction.ts +48 -2
package/dist/viewer-visualize.js
CHANGED
|
@@ -1929,7 +1929,17 @@
|
|
|
1929
1929
|
const pPosition = this.toPoint(viewParams.position);
|
|
1930
1930
|
const direct = pTarget.sub(pPosition);
|
|
1931
1931
|
const vDirect = direct.asVector();
|
|
1932
|
+
if (vDirect.length() < 1e-10) {
|
|
1933
|
+
const defaultSide = this.toVector(this._m_module.Vector3d.kXAxis);
|
|
1934
|
+
this.deleteAll([direct, pUpV, pTarget, pPosition, vDirect]);
|
|
1935
|
+
return defaultSide;
|
|
1936
|
+
}
|
|
1932
1937
|
const vCross = pUpV.crossProduct(vDirect);
|
|
1938
|
+
if (vCross.length() < 1e-10) {
|
|
1939
|
+
const defaultSide = this.toVector(this._m_module.Vector3d.kXAxis);
|
|
1940
|
+
this.deleteAll([direct, pUpV, pTarget, pPosition, vDirect, vCross]);
|
|
1941
|
+
return defaultSide;
|
|
1942
|
+
}
|
|
1933
1943
|
const sideVector = vCross.normalize();
|
|
1934
1944
|
this.deleteAll([direct, pUpV, pTarget, pPosition, vDirect, vCross]);
|
|
1935
1945
|
return sideVector;
|
|
@@ -1952,13 +1962,20 @@
|
|
|
1952
1962
|
{
|
|
1953
1963
|
const pPoint = this.toPoint(viewParams.position);
|
|
1954
1964
|
const pTarget = this.toPoint(viewParams.target);
|
|
1955
|
-
const pCenter = this.toPoint(this.m_viewCenter);
|
|
1956
1965
|
const pUp = pTarget.sub(pPoint);
|
|
1957
1966
|
const vUp = pUp.asVector();
|
|
1967
|
+
if (vUp.length() < 1e-10) {
|
|
1968
|
+
this.deleteAll([pPoint, pTarget, pUp, vUp]);
|
|
1969
|
+
return;
|
|
1970
|
+
}
|
|
1958
1971
|
const crossProduct = vUp.crossProduct(sideVector);
|
|
1972
|
+
if (crossProduct.length() < 1e-10) {
|
|
1973
|
+
this.deleteAll([pPoint, pTarget, pUp, vUp, crossProduct]);
|
|
1974
|
+
return;
|
|
1975
|
+
}
|
|
1959
1976
|
const crossProductNormal = crossProduct.normalize();
|
|
1960
1977
|
viewParams.upVector = crossProductNormal.toArray();
|
|
1961
|
-
this.deleteAll([pPoint, pTarget,
|
|
1978
|
+
this.deleteAll([pPoint, pTarget, pUp, vUp, crossProduct, crossProductNormal]);
|
|
1962
1979
|
}
|
|
1963
1980
|
}
|
|
1964
1981
|
calculateYOrbit(viewParams, delta, sideVector) {
|
|
@@ -1985,7 +2002,15 @@
|
|
|
1985
2002
|
const side = sideVector.rotateBy(delta, zAxis);
|
|
1986
2003
|
const pUp = pTarget.sub(pPoint);
|
|
1987
2004
|
const vUp = pUp.asVector();
|
|
2005
|
+
if (vUp.length() < 1e-10) {
|
|
2006
|
+
this.deleteAll([zAxis, pTarget, pPoint, side, pUp, vUp]);
|
|
2007
|
+
return;
|
|
2008
|
+
}
|
|
1988
2009
|
const cross = vUp.crossProduct(side);
|
|
2010
|
+
if (cross.length() < 1e-10) {
|
|
2011
|
+
this.deleteAll([zAxis, pTarget, pPoint, side, pUp, vUp, cross]);
|
|
2012
|
+
return;
|
|
2013
|
+
}
|
|
1989
2014
|
const crossNormal = cross.normalize();
|
|
1990
2015
|
viewParams.upVector = crossNormal.toArray();
|
|
1991
2016
|
this.deleteAll([zAxis, pTarget, pPoint, side, pUp, vUp, cross, crossNormal]);
|