UNPKG

awv3

Version:
89 lines (74 loc) 3.62 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _getIterator2 = require('babel-runtime/core-js/get-iterator'); var _getIterator3 = _interopRequireDefault(_getIterator2); exports.updateGeomObjectContainer = updateGeomObjectContainer; var _geomutils = require('./geomutils'); var _graphics = require('./graphics'); var _graphics2 = _interopRequireDefault(_graphics); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function changeGeomObjectContainerType(container) { for (var _len = arguments.length, geomTypes = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { geomTypes[_key - 1] = arguments[_key]; } if (container.geomType === geomTypes[0]) return; container.geomType = geomTypes[0]; while (container.children.length > 0) { container.remove(container.children[container.children.length - 1]); }var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = (0, _getIterator3.default)(geomTypes), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var geomType = _step.value; container.add((0, _graphics2.default)(geomType)); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } } // update object and its start, end and center point objects function updateGeomObjectContainer(container, geomParams) { switch ((0, _geomutils.getClass)(geomParams)) { case 'CC_Point': changeGeomObjectContainerType(container, 'CC_Point'); container.children[0].updateFromGeomParams(geomParams); break; case 'CC_Line': changeGeomObjectContainerType(container, 'CC_Line', 'CC_Point', 'CC_Point'); container.children[0].updateFromGeomParams(geomParams); container.children[1].updateFromGeomParams((0, _extends3.default)({}, geomParams, { start: geomParams.start })); container.children[2].updateFromGeomParams((0, _extends3.default)({}, geomParams, { start: geomParams.end })); break; case 'CC_Arc': changeGeomObjectContainerType(container, 'CC_Arc', 'CC_Point', 'CC_Point', 'CC_Point'); container.children[0].updateFromGeomParams(geomParams); container.children[1].updateFromGeomParams((0, _extends3.default)({}, geomParams, { start: geomParams.start })); container.children[2].updateFromGeomParams((0, _extends3.default)({}, geomParams, { start: geomParams.end })); container.children[3].updateFromGeomParams((0, _extends3.default)({}, geomParams, { start: geomParams.center })); break; case 'CC_Circle': changeGeomObjectContainerType(container, 'CC_Circle', 'CC_Point'); container.children[0].updateFromGeomParams(geomParams); container.children[1].updateFromGeomParams((0, _extends3.default)({}, geomParams, { start: geomParams.center })); break; default: changeGeomObjectContainerType(container); break; } }