UNPKG

awv3

Version:
1 lines 8.78 kB
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function execute(e,t,r,n){return void 0===n&&(n={}),void 0===n.ignoreNumberOfResults&&(n.ignoreNumberOfResults=!0),executePrepared(e,[{command:"Execute",task:t}],r,n).then(function(e){return e[0]})}function executeModels(e,t){return executePrepared(e,[{command:"Execute",task:t}],void 0,{ignoreNumberOfResults:!0}).then(function(e){return e.models})}function executePrepared(e,t,r,n){return 0===t.length?_promise2["default"].resolve([]):(void 0===n&&(n={}),logLevel>=5&&(logLevel>=6&&console.trace(),t.forEach(function(e){return console.log(_helpers.Timestamp.get(),"[c->s]","task",e.task)})),e.request(t,r).then(function(e){if(logLevel>=5&&(e.errors.forEach(function(e){return console.log(_helpers.Timestamp.get(),"[s->c]","error",e.errorMessage)}),e.results.forEach(function(e){return console.log(_helpers.Timestamp.get(),"[s->c]","result",e.result)})),e.errors.length)throw e.errors[0];if(!n.ignoreNumberOfResults&&e.results.length!==t.length)throw{errorMessage:"ClassCad returned unexpected number of results",got:e.results.length,expected:t.length};var r=e.results.map(function(e,r){if(e.hint!==t[r].task)throw{errorMessage:"ClassCad returned result for unexpected command",got:e.hint,expected:t[r].task};var n=e.result;return t[r].jsReturnConverter&&(n=t[r].jsReturnConverter(n)),n});return r.models=e.models,r}))}function ObjectPath(e){this.value=e}function formatValue(e){switch(e){case void 0:case null:return"VOID";case!1:return"FALSE";case!0:return"TRUE"}switch("undefined"==typeof e?"undefined":(0,_typeof3["default"])(e)){case"string":case"number":return(0,_stringify2["default"])(e)}if(e instanceof Array)return"["+e.map(formatValue).join(", ")+"]";if(e instanceof _three2["default"].Vector3)return"{"+e.toArray().join(", ")+"}";if(e instanceof ObjectPath)return e;if(e instanceof _ccobjects.ClassCadObject)return e.fullName;if(e instanceof _object2["default"])return e.name;throw console.error("Unsupported value in a call to ClassCad function",e),new TypeError("Unsupported value in a call to ClassCad function")}function formatExpression(e,t){return t?e+"("+t.map(formatValue).join(", ")+")":formatValue(e)}function PreparedStatement(e,t){(0,_defineProperties2["default"])(this,{expr:{value:e},args:{value:t},callGetName:{value:!1,writable:!0},callExport:{value:!1,writable:!0},jsReturnConverter:{value:void 0,writable:!0},command:{enumerable:!0,value:"Execute"},task:{enumerable:!0,get:function(){var e=formatExpression(this.expr,this.args),t=this.callGetName?"VAR r;r="+e+";RETURN r.OBJ_GetName();":this.callExport?"RETURN CADH_JSONExportStr(["+[e].concat(this.callExport.map(function(e){return formatExpression(e)})).join(", ")+"]);":"RETURN "+e+";";return t}}})}function parseMember(e,t){var r,n=(0,_keys2["default"])(e)[0],o=e[n];switch(n){case"nullMember":r=null;break;case"real":r=new Number(o.value);break;case"string":r="_VERSION"===o.name?null:new String(o.value);break;case"array":r=(o.members||[]).map(function(e){return parseMember(e,t)});break;case"point":r=new _three2["default"].Vector3(o.x,o.y,o.z);break;case"objectMem":r=t.get(o.id);break;case"aid":r=t.get(o.value);break;default:throw new TypeError("Unexpected member type "+n)}if(!r)return r;r.userData||Object.defineProperty(r,"userData",{value:{},writable:!0,configurable:!0});var i=o.memberInfo.visible;return r.userData.memberInfo={name:o.name,value:r.valueOf(),expression:o.memberInfo.expression||"",flags:i,visible:0!==(1&i),neverExchange:0!==(4&i),exprLocked:0!==(8&i),"transient":0!==(16&i),fixed:0===(32&i),isNull:0!==(512&i),type:n},r}function parseObjectTree(e,t,r){var n=!r;r=r||[];var o=new _map2["default"],i=e.objects[1];if("AllObjects"!==i["class"])throw new Error("Bad object tree: AllObjects is not at index 1");this&&o.set(i.id,this),e.objects.forEach(function(e){var t=_ccobjects.ClassCadObject.classMapping[e["class"]]||_ccobjects.ClassCadObject,n=o.has(e.id)?o.get(e.id):new t;o.set(e.id,n),(e.members||[]).filter(function(e){return e.objectMem}).forEach(function(t,s){var a=n.children.find(function(e){return e.name===t.objectMem.name});e===i&&(a=r[s]),a&&o.set(t.objectMem.id,a)}),n.setFromObjectTree(e)});var s;return e.objects.forEach(function(e){if(o.has(e.id)){var t=o.get(e.id);(e.members||[]).forEach(function(r){var a=parseMember(r,o);a&&(n||e!==i)&&t.addMember(a,!0),a&&!s&&r.objectMem&&(s=a)}),t.removeSuperfluousMembers()}}),t&&t.addMember(s,void 0),e.objects.forEach(function(e){if(o.has(e.id)){var t=o.get(e.id);t.finishedUpdating()}}),n?o.get(i.id):s}function parseSingleObjectTree(e,t,r){return parseObjectTree.call(void 0,e,t,[this].concat(r))}function getObjectStatement(e){return new PreparedStatement(e)}function trackPromise(e){return pendingPromises.add(e),e.then(function(t){return pendingPromises["delete"](e),_promise2["default"].resolve(t)},function(t){return logLevel>=0&&console.error("rejected promise",t),pendingPromises["delete"](e),_promise2["default"].reject(t)})}function getCurrentlyPendingPromise(){return _promise2["default"].all(pendingPromises)}function setCcid(e){return this.ccid=new ObjectPath(e),this.points&&2===this.points.length&&(this.points[0].ccid=new ObjectPath(e+".startPoint"),this.points[1].ccid=new ObjectPath(e+".endPoint")),this.centerPoint&&(this.centerPoint.ccid=new ObjectPath(e+".center")),e}function unsetCcid(e){return this.ccid=void 0,this.points&&2===this.points.length&&(this.points[0].ccid=void 0,this.points[1].ccid=void 0),this.centerPoint&&(this.centerPoint.ccid=void 0),e}function iok(e){return iresult[0]=e,console.log("result",e),e}function ifail(e){return iresult[0]=e,console.log("error",e),e}function iwrap(e){return e.then(iok,ifail)}exports.__esModule=!0,exports.iwrap=exports.ifail=exports.iok=exports.iresult=exports.unsetCcid=exports.setCcid=exports.getCurrentlyPendingPromise=exports.trackPromise=exports.getObjectStatement=exports.Interop=exports.PreparedStatement=exports.ObjectPath=exports.executePrepared=exports.executeModels=exports.execute=exports.logLevel=void 0;var _set=require("babel-runtime/core-js/set"),_set2=_interopRequireDefault(_set),_map=require("babel-runtime/core-js/map"),_map2=_interopRequireDefault(_map),_keys=require("babel-runtime/core-js/object/keys"),_keys2=_interopRequireDefault(_keys),_defineProperties=require("babel-runtime/core-js/object/define-properties"),_defineProperties2=_interopRequireDefault(_defineProperties),_stringify=require("babel-runtime/core-js/json/stringify"),_stringify2=_interopRequireDefault(_stringify),_typeof2=require("babel-runtime/helpers/typeof"),_typeof3=_interopRequireDefault(_typeof2),_promise=require("babel-runtime/core-js/promise"),_promise2=_interopRequireDefault(_promise),_ccobjects=require("sketcher/ccobjects"),_three=require("three"),_three2=_interopRequireDefault(_three),_object=require("three/object3"),_object2=_interopRequireDefault(_object),_helpers=require("core/helpers"),logLevel=exports.logLevel=Number((0,_helpers.url)("logLevel"));ObjectPath.prototype.toString=function(){return this.value},PreparedStatement.prototype={execute:function(e,t,r){return executePrepared(e,[this],t,r).then(function(e){return e[0]})},setCcidOf:function(e){return this.callGetName=!0,this.jsReturnConverter=setCcid.bind(e),this},unsetCcidOf:function(e){return this.jsReturnConverter=unsetCcid.bind(e),this},parseToObject:function(e,t){var r=this;return this.callExport=t||[],e instanceof _ccobjects.RootObject?this.jsReturnConverter=parseObjectTree.bind(e):this.jsReturnConverter=function(t){return parseSingleObjectTree.call(e,t,void 0,r.callExport)},this},parseToChildOf:function(e,t){var r=this;return this.callExport=t||[],this.jsReturnConverter=function(t){return parseSingleObjectTree(t,e,r.callExport)},this}};var Interop={};["AddSketch","AddSketchFromPlane","AddPoint","AddLine","AddArc","AddConstraint","RemoveSketch","RemovePoint","RemoveLine","RemoveArc","RemoveConstraint","UpdatePoint","UpdateLine","UpdateArc","UpdateConstraint","AddFillet","UpdateExpressionSet","CreateSketchDimensions","MoveObjects","Recalc","SolveConstraints"].forEach(function(e){Interop[e]=function(){return new PreparedStatement("_C.SketcherCloudInterop."+e,Array.prototype.slice.call(arguments))}});var pendingPromises=new _set2["default"],iresult=[];exports.execute=execute,exports.executeModels=executeModels,exports.executePrepared=executePrepared,exports.ObjectPath=ObjectPath,exports.PreparedStatement=PreparedStatement,exports.Interop=Interop,exports.getObjectStatement=getObjectStatement,exports.trackPromise=trackPromise,exports.getCurrentlyPendingPromise=getCurrentlyPendingPromise,exports.setCcid=setCcid,exports.unsetCcid=unsetCcid,exports.iresult=iresult,exports.iok=iok,exports.ifail=ifail,exports.iwrap=iwrap,exports.logLevel=logLevel;