awv3
Version:
⚡ AWV3 embedded CAD
105 lines (86 loc) • 3.27 kB
JavaScript
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
import * as THREE from 'three';
import Object3 from '../../../three/object3';
import BaseHandler from './base';
import Ccref from '../ccref';
var HoverHandler =
/*#__PURE__*/
function (_BaseHandler) {
_inheritsLoose(HoverHandler, _BaseHandler);
function HoverHandler(sketcher, name) {
return _BaseHandler.call(this, sketcher, name) || this; //this.sketcher.selector.activate(this.sketcher.namedElements.selection.types);
}
var _proto = HoverHandler.prototype;
_proto.destroy = function destroy() {
this.sketcher.selector.unselectAll().removeAll();
/*for (let obj of this.sketcher.graphics.values())
this.sketcher.selector.unhover(obj.localMesh || obj);
this.sketcher.selector.deactivate();*/
_BaseHandler.prototype.destroy.call(this);
};
_proto[Object3.Events.Interaction.Hovered] = function (ccref, hitObject) {
if (!(ccref instanceof Ccref)) return; //TODO: remove "object instanceof Ccref" after implementing global Ccref.
var object = hitObject.object,
material = hitObject.material,
first = hitObject.first;
this.sketcher.constraintVisualizer.hover(ccref, first);
if (!first) return;
this.sketcher.selector.hovered({
object: object,
material: material
});
if (ccref.isConstraint()) {
for (var _iterator = ccref.mergedEntities, _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 _entity = _ref;
if (_entity.graphics) {
this.sketcher.selector.hovered({
object: _entity.graphics.localMesh,
material: _entity.graphics.localMesh.material
});
}
}
}
};
_proto[Object3.Events.Interaction.Unhovered] = function (ccref, hitObject) {
if (!(ccref instanceof Ccref)) return; //TODO: remove "object instanceof Ccref" after implementing global Ccref.
var object = hitObject.object,
material = hitObject.material,
first = hitObject.first;
this.sketcher.constraintVisualizer.unhover(ccref, first);
this.sketcher.selector.unhovered({
object: object,
material: material
});
if (ccref.isConstraint()) {
for (var _iterator2 = ccref.mergedEntities, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
var _entity2 = _ref2;
if (_entity2.graphics) {
this.sketcher.selector.unhovered({
object: _entity2.graphics.localMesh,
material: _entity2.graphics.localMesh.material
});
}
}
}
};
return HoverHandler;
}(BaseHandler);
export { HoverHandler as default };