UNPKG

convex-pixel

Version:

The library for creating pseudo 3d interactive scenes based on webgl

57 lines 2.18 kB
import { __extends } from "tslib"; import * as PIXI from "pixi.js"; var SKIP_FRAMSE = 3; var TRESHOLD = 0.05; /** * Service for tobii or openmv_fp */ var FaceTrackerService = /** @class */ (function (_super) { __extends(FaceTrackerService, _super); function FaceTrackerService() { var _this = _super.call(this) || this; _this._poss = [[0, 0], [0, 0], [0, 0], [0, 0]]; _this._f = SKIP_FRAMSE; _this._errorHandler = function (client, ev) { // need handler... }; _this._messageHandler = function (evt) { /*this._f--; if (this._f > 0) return; this._f = SKIP_FRAMSE;*/ if (String(evt.data).indexOf(":") !== -1) { var data = String(evt.data) .split(":") .map(function (v) { return Number(v); }); if (_this._prev && (data[0] === _this._prev[0] || data[1] === _this._prev[0])) { return; } _this._poss.shift(); _this._poss.push(data); var total = _this._poss.length; var sx = 0; var sy = 0; for (var i = 0; i < total; i++) { sx += _this._poss[i][0]; sy += _this._poss[i][1]; } _this._prev = data; _this.emit("move", { x: sx / total, y: sy / total }); // tslint:disable-next-line: no-console } else console.log(evt.data); }; // put in the config _this._client = new WebSocket("ws://127.0.0.1:8084/"); // handle connections // this._client.onopen = this._openHandler; // this._client.onerror = this._errorHandler; _this._client.onmessage = _this._messageHandler; return _this; } FaceTrackerService.prototype.destroy = function () { }; return FaceTrackerService; }(PIXI.utils.EventEmitter)); export { FaceTrackerService }; //# sourceMappingURL=face-tracker-service.js.map