UNPKG

awv3

Version:
68 lines (58 loc) 2.34 kB
import _extends from "@babel/runtime/helpers/extends"; import { getClass } from './geomutils'; import { Graphics } from './graphics'; function changeGeomObjectContainerType(container) { for (var _len = arguments.length, geomTypes = new 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]); } for (var _i = 0; _i < geomTypes.length; _i++) { var geomType = geomTypes[_i]; container.add(Graphics(geomType)); } } // update object and its start, end and center point objects export function updateGeomObjectContainer(container, geomParams) { switch (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(_extends({}, geomParams, { start: geomParams.start })); container.children[2].updateFromGeomParams(_extends({}, 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(_extends({}, geomParams, { start: geomParams.start })); container.children[2].updateFromGeomParams(_extends({}, geomParams, { start: geomParams.end })); container.children[3].updateFromGeomParams(_extends({}, geomParams, { start: geomParams.center })); break; case 'CC_Circle': changeGeomObjectContainerType(container, 'CC_Circle', 'CC_Point'); container.children[0].updateFromGeomParams(geomParams); container.children[1].updateFromGeomParams(_extends({}, geomParams, { start: geomParams.center })); break; default: changeGeomObjectContainerType(container); break; } }