2018-06-06 16:00:53 +08:00
|
|
|
!function(l,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("three")):"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.cad=e(require("three")):l.cad=e(l.THREE)}("undefined"!=typeof self?self:this,function(l){return function(l){var e={};function t(q){if(e[q])return e[q].exports;var i=e[q]={i:q,l:!1,exports:{}};return l[q].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=l,t.c=e,t.d=function(l,e,q){t.o(l,e)||Object.defineProperty(l,e,{configurable:!1,enumerable:!0,get:q})},t.n=function(l){var e=l&&l.__esModule?function(){return l.default}:function(){return l};return t.d(e,"a",e),e},t.o=function(l,e){return Object.prototype.hasOwnProperty.call(l,e)},t.p="",t(t.s=2)}([function(e,t){e.exports=l},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(0),a=t(4);function o(l,e){return(new a.Matrix2).setRotate(e).applyVector(l),l}function n(l,e,t=.001){return Math.abs(l-e)<t}function m(l,t,a=new q.Vector3(0,0,1)){if(!a.equals(new i.Vector3(0,0,1))){a.multiplyScalar(-1);let i=r(a),o=new q.Matrix4;o.lookAt(e.cZeroVec,a,i);let n=(new q.Matrix4).getInverse(o);l.applyMatrix4(n),t.applyMatrix4(n),l.z=0,t.z=0}if(l.equals(e.cZeroVec)||t.equals(e.cZeroVec))return 0;let o=(new i.Vector3).crossVectors(l,t).normalize();return 0===o.z?l.angleTo(t):l.angleTo(t)*o.z}function r(l){if(l.equals(e.cZeroVec))throw"zero vector";let t=l.clone().normalize();if(t.equals(e.cZAxis))return new q.Vector3(0,1,0);if(t.equals(e.cZAxis.clone().negate()))return new q.Vector3(0,-1,0);{let l=new q.Vector3;l.crossVectors(e.cZAxis,t);let i=new q.Vector3;return i.crossVectors(t,l),i}}function s(l,e){if(e&&l.updateMatrixWorld(!1),!l.hasOwnProperty("geometry")){if(l.children.length>0){return l.children.reduce((l,e)=>{let t=s(e);return t&&l.union(t),l},new q.Box3)}return null}{let e=l.geometry;if(e instanceof q.Geometry||e instanceof q.BufferGeometry)return e.boundingBox||e.computeBoundingBox(),e.boundingBox.clone().applyMatrix4(l.matrixWorld)}}e.cZeroVec=new q.Vector3,e.cXAxis=new q.Vector3(1,0,0),e.cYAxis=new q.Vector3(0,1,0),e.cZAxis=new q.Vector3(0,0,1),e.rotatePoint=o,e.equaln=n,e.equal=function(l,e){return l.distanceToSquared(e)<1e-8},e.fixAngle=function(l,e,t=.1){l<0&&(l+=2*Math.PI);let q=(l+=t)%e;return l-=q<2*t?q:t},e.polar=function(l,e,t){return l.x+=Math.cos(e)*t,l.y+=Math.sin(e)*t,l},e.angle=function(l){if(n(l.y,0)&&l.x>0)return 0;let e=Math.atan2(l.y,l.x);return e<0&&(e+=2*Math.PI),e},e.angleTo=m,e.getLoocAtUpVec=r,e.createLookAtMat4=function(l){let t=r(l),i=new q.Matrix4;return i.lookAt(e.cZeroVec,l,t),i},e.isParallelTo=function(l,e){return l.clone().cross(e).lengthSq()<1e-9},e.ptToString=function(l,e=3){return l.toArray().map(l=>l.toFixed(e)).join(",")},e.midPoint=function(l,e){return l.clone().add(e).multiplyScalar(.5)},e.midPoint2=function(l,e){return l.clone().add(e).multiplyScalar(.5)},e.midPtCir=function(l,e){let t=new i.Vector3(1,0,0),q=e.clone().sub(l),a=o(q,-m(t,q)/2);return l.clone().add(a)},e.GetBox=s,e.GetBoxArr=function(l){return 0==l.length?null:l.map(l=>s(l)).filter(l=>l).reduce((l,e)=>l.union(e),new q.Box3)},e.MoveMatrix=function(l){let e=new q.Matrix4;return e.makeTranslation(l.x,l.y,l.z),e},e.getProjectDist=function(l,e){let t=l.angleTo(e),q=l.length();return{h:q*Math.cos(t),v:q*Math.sin(t)}},e.getPtPostion=function(l,e,t,q){let i=l.clone().sub(t),a=e.clone().sub(t),o=i.clone().negate(),n=a.clone().negate(),r=q.clone().sub(t),s=m(i,a),h=Math.PI,x=h+Math.abs(s),c=m(i,r);return s*c<0&&(c=2*Math.PI-Math.abs(c)),s=Math.abs(s),(c=Math.abs(c))<=s?{sp:l,ep:e}:c>s&&c<=h?{sp:t.clone().add(o),ep:e}:c>h&&c<=x?{sp:t.clone().add(o),ep:t.clone().add(n)}:{sp:l,ep:t.clone().add(n)}},e.angleAndX=function(l){return l.x?Math.atan(l.y/l.x):Math.PI/2},e.angleTo2Pi=function(l){return(l%=2*Math.PI)<0&&(l+=2*Math.PI),l},e.updateGeometry=function(l,e){l.geometry.dispose(),l.geometry=e,e.verticesNeedUpdate=!0,e.computeBoundingSphere()}},function(l,e,t){"use strict";function q(l){for(var t in l)e.hasOwnProperty(t)||(e[t]=l[t])}Object.defineProperty(e,"
|