You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
1.2 MiB
1 line
1.2 MiB
|
1 year ago
|
var version="2024-10-16-16-6",Glodon$1=window.Glodon=window.Glodon||{};Glodon$1.Version=version,function(){function e(e,t){let i=t.split("."),n=e,o=i.length;for(let e=0;e<o;e++)void 0===n[i[e]]&&(n[i[e]]={}),n=n[i[e]];return n}e(Glodon$1,"Web.Lang.Utility.Namespace").ensureNamespace=e}(),function(){let e=Glodon$1.Web.Lang.Utility.Namespace.ensureNamespace(Glodon$1,"Web.Common"),t=function(e){"string"==typeof e&&(e=JSON.parse(res)),this.code=e.code,this.message=e.message};t.prototype={getErrorCode:function(){return this.code},getErrorMessage:function(){return this.message}},e.Error=t}(),function(e){const t=Glodon$1.Web.Lang.Utility.Namespace.ensureNamespace(Glodon$1,"Web.Common.Flexible");let i=!1,n=!1,o="37.5px";var s,r=e.document,a=r.documentElement,l=r.querySelector('meta[name="viewport"]');if(e.addEventListener("resize",(function(){clearTimeout(s),s=setTimeout(d,300)}),!1),e.addEventListener("pageshow",(function(e){e.persisted&&(clearTimeout(s),s=setTimeout(d,300))}),!1),!l)if((l=r.createElement("meta")).setAttribute("name","viewport"),l.setAttribute("content","initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"),a.firstElementChild)a.firstElementChild.appendChild(l);else{var h=r.createElement("div");h.appendChild(l),r.write(h.innerHTML)}function d(){let t=e.screen.availWidth||375,s=e.screen.availHeight||667;i=t>s;var r=navigator.userAgent,a=/(?:Android)/.test(r),l=/(?:Firefox)/.test(r),h=/Macintosh/i.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>1;n=/(?:iPad|PlayBook)/.test(r)||a&&!/(?:Mobile)/.test(r)||l&&/(?:Tablet)/.test(r)||h;var d=Math.min(t,s);t=d<=320?320:d>320&&d<=414?d:d>414&&d<1024?420:450,o=t/10+"px"}d();t.getIsHorizontal=()=>i,t.getIsTablet=()=>n,t.getFontSize=()=>o}(window);class Vector3{constructor(e,t,i){this.x=e||0,this.y=t||0,this.z=i||0}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}clone(){return new this.constructor(this.x,this.y,this.z)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}distanceToSquared(e){var t=this.x-e.x,i=this.y-e.y,n=this.z-e.z;return t*t+i*i+n*n}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}}class Box3{constructor(e,t){this.min=e||new Vector3(1/0,1/0,1/0),this.max=t||new Vector3(-1/0,-1/0,-1/0)}getSize(){return new Vector3(this.max.x-this.min.x,this.max.y-this.min.y,this.max.z-this.min.z)}setFromCenterAndSize(e,t){let i=new Vector3(t.x,t.y).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}getCenter(){return new Vector3(this.min.x+this.max.x,this.min.y+this.max.y,this.min.z+this.max.z).multiplyScalar(.5)}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}union(e){return this.min.min(e.min),this.max.max(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}expandByPoint(e){return this.min.min(e),this.max.max(e),this}setFromPoints(e){this.makeEmpty();for(var t=0,i=e.length;t<i;t++)this.expandByPoint(e[t]);return this}}!function(){let e=Glodon$1.Web.Lang.Utility.Namespace.ensureNamespace(Glodon$1,"Web.Algorithm");e.MeanShift=class{constructor(e,t){this.points=e,this.searchRangeSquared=t**2,this.EPSILON_SQR=.1,this.clusters=[]}setSearchRange(e){this.searchRangeSquared=e**2}setPoints(e){this.points=e}meanShift(e){let t=e.clone(),i=[];for(;;){let e=this.rangeSearch(t);i=this.connect(i,e);let n=this.mean(e);if(t.distanceToSquared(n)<=this.EPSILON_SQR)break;t=n}return i
|