@Override public Object execute(ExecutionEvent event) throws ExecutionException { if (KinectManager.INSTANCE.isSkeletonTrackingStarted()) { try { Notifier km = KinectManager.INSTANCE.getSkeletonModel(); IncQueryEngine e = IncQueryEngine.on(km); // ymca demo new IncQueryMatcherHelper(YMatcher.on(e)); new IncQueryMatcherHelper(MMatcher.on(e)); new IncQueryMatcherHelper(CMatcher.on(e)); new IncQueryMatcherHelper(AMatcher.on(e)); new IncQueryMatcherHelper(IMatcher.on(e)); new IncQueryMatcherHelper(QMatcher.on(e)); // robot demo new IncQueryMatcherHelper(FSMatcher.on(e)); new IncQueryMatcherHelper(FEMatcher.on(e)); new IncQueryMatcherHelper(BSMatcher.on(e)); new IncQueryMatcherHelper(BEMatcher.on(e)); // sheldon demo new IncQueryMatcherHelper(SEMatcher.on(e)); new IncQueryMatcherHelper(SMMatcher.on(e)); new IncQueryMatcherHelper(SEMatcher.on(e)); } catch (IncQueryException e) { e.printStackTrace(); } } else { System.out.println("Start skeleton simulator first!"); } return null; }
@SuppressWarnings("unchecked") @Override public void engineWiped() { String patternName = matcher.getPatternName(); try { matcher = (IncQueryMatcher<IPatternMatch>) QuerySpecificationRegistry.getQuerySpecification(patternName) .getMatcher(engineForMatcher()); } catch (IncQueryException e) { IncQueryLoggingUtil.getLogger(getClass()) .error("[QueryBasedFeature] Exception during wipe callback: " + e.getMessage(), e); } dm = matcher.newDeltaMonitor(false); }