UNPKG

awv3

Version:
121 lines (94 loc) 3.77 kB
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import * as THREE from 'three'; import Object3 from '../../../three/object3'; import { updateCommand } from '../command/highlevel'; import { UpdateDimensions } from '../command/lowlevel'; import { move } from '../geomutils'; import HoverHandler from './hover'; import Ccref from '../ccref'; import Workaxis from '../../workaxis/index'; var RevolveHandler = /*#__PURE__*/ function (_HoverHandler) { _inheritsLoose(RevolveHandler, _HoverHandler); function RevolveHandler(sketcher, name, activateHandlerInfo) { var _this; _this = _HoverHandler.call(this, sketcher, name) || this; _this.selectedObjs = activateHandlerInfo ? activateHandlerInfo.selectedObjs : undefined; _this.additionalInteractionTypes = ['Workaxis']; _this.axisWithInteraction = []; // this.state = 0; return _this; } var _proto = RevolveHandler.prototype; _proto.destroy = function destroy() { this.sketcher.selector.unselectAll().removeAll(); _HoverHandler.prototype.destroy.call(this); }; //Override from BaseHandler _proto.addInteractions = function addInteractions() { var _this2 = this; _HoverHandler.prototype.addInteractionFor.call(this, this.sketch.descendants); var tree = this.sketcher.connection.tree; var features = tree[tree.root].features.map(function (featureId) { return new Ccref(_this2.sketcher, featureId); }); for (var _iterator = features, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } var _feature = _ref; if (_feature.class == "CC_WorkAxis") { var axisPlugin = this.sketcher.connection.featurePlugins[_feature.id]; this.axisWithInteraction.push(axisPlugin.plugin); } } this.addInteractionFor(this.axisWithInteraction); }; _proto.removeInteractions = function removeInteractions() { _HoverHandler.prototype.removeInteractions.call(this); this.removeInteractionFor(this.axisWithInteraction); }; _proto.filterObjectsWithInteraction = function filterObjectsWithInteraction(object) { return object instanceof Workaxis || object.id !== this.sketch.id && object.graphics !== undefined && object.isLine(); }; //Note: overrides callbacks of HoverHandler. //TODO: derive this handler from BaseHandler, not from HoverHandler _proto[Object3.Events.Interaction.Hovered] = function (ccref, hitObject) { var object = hitObject.object, material = hitObject.material, first = hitObject.first; if (!first) return; this.sketcher.selector.hovered({ object: object, material: material }); }; _proto[Object3.Events.Interaction.Unhovered] = function (ccref, hitObject) { var object = hitObject.object, material = hitObject.material, first = hitObject.first; this.sketcher.selector.unhovered({ object: object, material: material }); }; _proto[Object3.Events.Interaction.Clicked] = function (object, hitObject) { if (!hitObject.first) return; if (object instanceof Ccref) { this.sketcher.selector.clicked(hitObject); } else if (object instanceof Workaxis) { object = new Ccref(this.sketcher, object.feature); } if (this.selectedObjs) { this.sketcher.createNewRevolve(this.selectedObjs, object); } else { this.sketcher.finishWorkAxisMode(object); } }; return RevolveHandler; }(HoverHandler); export { RevolveHandler as default };