private void btnConnect_Click(object sender, RoutedEventArgs e) { if (connectorRef == IntPtr.Zero) { connectorRef = PN_DataReader.BRConnectTo(txtIP.Text, int.Parse(txtPort.Text)); if (connectorRef == IntPtr.Zero) { btnConnect.Content = "Connect"; } else { btnConnect.Content = "Disconnect"; counter = 0; } } else { if (connectorRef != IntPtr.Zero) { PN_DataReader.BRDisconnect(connectorRef); connectorRef = IntPtr.Zero; btnConnect.Content = "Connect"; } } }
public MainWindow() { InitializeComponent(); socketStatusChangeded = new SocketStatusChanged(onSocketStatusChangeded); PN_DataReader.BRRegisterConnectionStatusCallback(IntPtr.Zero, socketStatusChangeded); frameDataReceived = new FrameDataReceived(onFrameDataReceived); PN_DataReader.BRRegisterFrameDataCallback(IntPtr.Zero, frameDataReceived); }
void OnApplicationQuit() { if (_connections.Count > 0) { if (PN_DataReader.BRGetConnectionStatus(_connections[0]) != SocketConnectionStatus.CS_Disconnected) { // disconnect PN_DataReader.BRDisconnect(_connections[0]); } } }
void Start() { PNUtils.LoadSkeletonReference(bones, rootTrans, "Robot_", 0); // Socket status handle _OnSocketStatusChanged = new SocketStatusChanged(OnSocketStatusChanged); PN_DataReader.BRRegisterConnectionStatusCallback(IntPtr.Zero, _OnSocketStatusChanged); // Data receive handle _OnFrameDataReceived = new FrameDataReceived(OnFrameDataReceived); PN_DataReader.BRRegisterFrameDataCallback(IntPtr.Zero, _OnFrameDataReceived); }
void Update() { if (_connections.Count > 0) { if (PN_DataReader.BRGetConnectionStatus(_connections[0]) == SocketConnectionStatus.CS_Connected) { _IsSocketConnected = true; } else { _IsSocketConnected = false; } ApplyMotionToTargetSkeleton(); } }
void OnGUI() { int boxW = 200; int boxH = 130; // border GUI.Box(new Rect(3, 3, boxW, boxH), "BVH Data Reader Settings"); // Server IP GUI.Label(new Rect(20, 40, 120, 20), "Server IP:"); ServerIP = GUI.TextField(new Rect(90, 40, 90, 20), ServerIP); // Server Port GUI.Label(new Rect(10, 70, 120, 20), "Server Port:"); ServerPort = GUI.TextField(new Rect(90, 70, 90, 20), ServerPort); // connect button if (GUI.Button(new Rect(90, 100, 80, 20), _btnConnectString)) { if (_connections.Count > 0) { if (PN_DataReader.BRGetConnectionStatus(_connections[0]) == SocketConnectionStatus.CS_Connected) { PN_DataReader.BRDisconnect(_connections[0]); } } else { IntPtr connection = PN_DataReader.BRConnectTo(ServerIP, int.Parse(ServerPort)); _connections.Add(connection); _receivedFramesCounter = 0; } } // Show debug inf: string ds1 = "Connection Status: \n"; if (_IsSocketConnected) { ds1 += "Connected to: " + ServerIP.ToString() + ":" + ServerPort.ToString(); } else if (_connections.Count > 0 && PN_DataReader.BRGetConnectionStatus(_connections[0]) == SocketConnectionStatus.CS_Disconnected) { ds1 += "Disconnected"; } else { ds1 += "Connecting to: " + ServerIP + ":" + ServerPort; } GUI.color = Color.red; GUI.Label(new Rect(boxW + 10, 5, Screen.width - 40, 50), ds1); if (DEBUG_Enabled && _IsSocketConnected) { string ds2 = "BVH Data info: \n"; ds2 += "With Displacement: " + _bvhHeader.bWithDisp + "\n" + "With Reference: " + _bvhHeader.bWithReference + "\n" + "Data Length: " + _bvhHeader.DataCount + "\n" + "Received Frames: " + _receivedFramesCounter; GUI.color = Color.yellow; GUI.Label(new Rect(boxW + 10, 55, Screen.width - 40, Screen.height - boxH), ds2); } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { PN_DataReader.BRRegisterConnectionStatusCallback(IntPtr.Zero, null); PN_DataReader.BRRegisterFrameDataCallback(IntPtr.Zero, null); }