@inweb/viewer-visualize 26.9.10 → 26.10.1

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.
@@ -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, pCenter, pUp, vUp, crossProduct, crossProductNormal]);
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]);
@@ -18114,7 +18139,7 @@
18114
18139
  return this._markup;
18115
18140
  }
18116
18141
  configure(params) {
18117
- this._visualizeJsUrl = params.visualizeJsUrl || "https://public-fhemb7e3embacwec.z02.azurefd.net/libs/visualizejs/26.9/Visualize.js";
18142
+ this._visualizeJsUrl = params.visualizeJsUrl || "https://public-fhemb7e3embacwec.z02.azurefd.net/libs/visualizejs/master/Visualize.js";
18118
18143
  this._crossOrigin = params.crossOrigin;
18119
18144
  return this;
18120
18145
  }