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