awv3
Version:
AWV client CAD framework
1 lines • 6.75 kB
JavaScript
;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)})),t[0].task||console.trace(),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};return e.result});return r.models=e.models,r}))}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 _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 parseTo(e,t){return function(r){return parseObjectTree(r[0],void 0,[e].concat(t))}}function parseToChildOf(e,t){return function(r){return parseObjectTree(r[0],e,[void 0].concat(t))}}function parseMember(e,t){var r,n=(0,_keys2.default)(e)[0],s=e[n];switch(n){case"nullMember":r=null;break;case"real":r=new Number(s.value);break;case"string":r="_VERSION"===s.name?null:new String(s.value);break;case"array":r=(s.members||[]).map(function(e){return parseMember(e,t)});break;case"point":r=new _three2.default.Vector3(s.x,s.y,s.z);break;case"objectMem":r=t.get(s.id);break;case"aid":r=t.get(s.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 o=s.memberInfo.visible;return r.userData.memberInfo={name:s.name,value:r.valueOf(),expression:s.memberInfo.expression||"",flags:o,visible:0!==(1&o),neverExchange:0!==(4&o),exprLocked:0!==(8&o),transient:0!==(16&o),fixed:0===(32&o),isNull:0!==(512&o),type:n},r}function parseObjectTree(e,t,r){var n=!r;r=r||[];var s=new _map2.default,o=e.objects[1];if("AllObjects"!==o.class)throw new Error("Bad object tree: AllObjects is not at index 1");this&&s.set(o.id,this),e.objects.forEach(function(e){var t=_ccobjects.ClassCadObject.classMapping[e.class]||_ccobjects.ClassCadObject,n=s.has(e.id)?s.get(e.id):new t;s.set(e.id,n),(e.members||[]).filter(function(e){return e.objectMem}).forEach(function(t,a){var i=n.children.find(function(e){return e.name===t.objectMem.name});e===o&&(i=r[a]),i&&s.set(t.objectMem.id,i)}),n.setFromObjectTree(e)});var a;return e.objects.forEach(function(e){if(s.has(e.id)){var t=s.get(e.id);(e.members||[]).forEach(function(r){var i=parseMember(r,s);i&&(n||e!==o)&&t.addMember(i,!0),i&&!a&&r.objectMem&&(a=i)}),t.removeSuperfluousMembers()}}),t&&t.addMember(a,void 0),e.objects.forEach(function(e){if(s.has(e.id)){var t=s.get(e.id);t.finishedUpdating()}}),n?s.get(o.id):a}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)})}exports.__esModule=!0,exports.trackPromise=exports.parseObjectTree=exports.parseToChildOf=exports.parseTo=exports.Statements=exports.Statement=exports.Expression=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),_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),_statements=require("../sketcher/statements"),_statements2=_interopRequireDefault(_statements),_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")),Expression={};["AddSketch","AddSketchFromPlane","AddPoint","AddLine","AddArc","AddConstraint","RemoveSketch","RemovePoint","RemoveLine","RemoveArc","RemoveConstraint","UpdatePoint","UpdateLine","UpdateArc","UpdateConstraint","AddFillet","UpdateExpressionSet","CreateSketchDimensions","MoveObjects","Recalc","SolveConstraints"].forEach(function(e){Expression[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return new _statements2.default([formatExpression("_C.SketcherCloudInterop."+e,r)])}});var Statement={Return:function(e){return new _statements2.default(["RETURN "+e.commands[0]+";"])},JSONExport:function(e){e instanceof _statements2.default||(e=new _statements2.default([formatValue(e)]));for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var s=e.commands.concat(r.map(formatValue));return new _statements2.default(["RETURN CADH_JSONExportStr(["+s.join(", ")+"]);"])}},pendingPromises=new _set2.default;exports.execute=execute,exports.executeModels=executeModels,exports.Expression=Expression,exports.Statement=Statement,exports.Statements=_statements2.default,exports.parseTo=parseTo,exports.parseToChildOf=parseToChildOf,exports.parseObjectTree=parseObjectTree,exports.trackPromise=trackPromise,exports.logLevel=logLevel;