// 初期化 private void xnInitialize() { // コンテキストの初期化 ScriptNode scriptNode; context = Context.CreateFromXmlFile(CONFIG_XML_PATH, out scriptNode); // イメージジェネレータの作成 image = context.FindExistingNode(NodeType.Image) as ImageGenerator; if (image == null) { throw new Exception(context.GlobalErrorState); } // NITEのためのセッションマネージャを作成 sessionManager = new SessionManager(context, "Wave,Click", "RaiseHand"); // セッションの開始と終了を通知するコールバックを登録する sessionManager.SessionStart += new EventHandler <PositionEventArgs>(sessionManager_SessionStart); sessionManager.SessionEnd += new EventHandler(sessionManager_SessionEnd); sessionManager.SessionFocusProgress += new EventHandler <SessionProgressEventArgs>(sessionManager_SessionFocusProgress); // Wave(左右運動の検出器) waveDetector = new NITE.WaveDetector(); waveDetector.Wave += new EventHandler(waveDetector_Wave); // リスナーに追加する sessionManager.AddListener(waveDetector); // ジェネレータの動作を開始する context.StartGeneratingAll(); }
public WebNect() { this.context = new OpenNI.Context(SAMPLE_XML_FILE); this.sessionManager = new NITE.SessionManager(this.context, "Click", "RaiseHand"); this.context.StartGeneratingAll(); this.sessionManager.SessionStart += new EventHandler<NITE.PositionEventArgs>(sessionManager_SessionStart); this.sessionManager.SessionFocusProgress += new EventHandler<NITE.SessionProgressEventArgs>(sessionManager_SessionProgress); this.sessionManager.SessionEnd += sessionManager_SessionEnd; this.waveDetector = new NITE.WaveDetector(); this.waveDetector.Wave += waveDetector_Wave; this.waveDetector.PointUpdate += new EventHandler<HandEventArgs>(waveDetector_PointUpdate); this.sessionManager.AddListener(this.waveDetector); this.zmq_context = new ZMQ.Context(1); this.zmq_publisher = this.zmq_context.Socket(SocketType.PUB); this.zmq_publisher.Bind(this.SOCKET_SOURCE); Console.WriteLine("ZMQ Socket at {0}", this.SOCKET_SOURCE); this.shouldRun = true; this.readerThread = new Thread(ReaderThread); this.readerThread.Start(); }
// 初期化 private void xnInitialize() { // コンテキストの初期化 ScriptNode scriptNode; context = Context.CreateFromXmlFile( CONFIG_XML_PATH, out scriptNode ); // イメージジェネレータの作成 image = context.FindExistingNode(NodeType.Image) as ImageGenerator; if (image == null) { throw new Exception(context.GlobalErrorState); } // NITEのためのセッションマネージャを作成 sessionManager = new SessionManager(context, "Wave,Click", "RaiseHand"); // セッションの開始と終了を通知するコールバックを登録する sessionManager.SessionStart += new EventHandler<PositionEventArgs>(sessionManager_SessionStart); sessionManager.SessionEnd += new EventHandler(sessionManager_SessionEnd); sessionManager.SessionFocusProgress += new EventHandler<SessionProgressEventArgs>(sessionManager_SessionFocusProgress); // Wave(左右運動の検出器) waveDetector = new NITE.WaveDetector(); waveDetector.Wave += new EventHandler(waveDetector_Wave); // リスナーに追加する sessionManager.AddListener(waveDetector); // ジェネレータの動作を開始する context.StartGeneratingAll(); }