public Tracker() { _tracker = new TrackerRemote("Isense900@" + VPRNHostIP); _tracker.PositionChanged += TrackerStateChanged; _tracker.VelocityChanged += TrackerVelocityChanged; _tracker.AccelerationChanged += TrackerAccelerationChanged; }
public UIVA_OculusRift(String ID) { quat = new Quaternion(); timeStamp = new DateTime(); remote = new TrackerRemote(ID); // Register the callback function for TrackerRemote remote.PositionChanged += new TrackerChangeEventHandler(OculusRiftTrackerChanged); remote.MuteWarnings = true; }
public UIVA_PhaseSpace(String ID) { pos = new Vector3[32]; quat = new Quaternion[32]; timeStamp = new DateTime[32]; remote = new TrackerRemote(ID); // Register the callback function for TrackerRemote remote.PositionChanged += new TrackerChangeEventHandler(PhaseSpaceTrackerChanged); remote.MuteWarnings = true; }
public UIVA_SpacePointFusion(String ID) { trkRemote = new TrackerRemote(ID); // Register the callback function for TrackerRemote trkRemote.PositionChanged += new TrackerChangeEventHandler(FusionTrackerChanged); trkRemote.MuteWarnings = true; buttRemote = new ButtonRemote(ID); // Register the callback function for ButtonRemote buttRemote.ButtonChanged += new ButtonChangeEventHandler(FusionButtonChanged); buttRemote.MuteWarnings = true; }
static void Main(string[] args) { TrackerRemote tracker = new TrackerRemote("Tracker0@localhost"); tracker.PositionChanged += new TrackerChangeEventHandler(PositionChanged); tracker.MuteWarnings = false; ButtonRemote button = new ButtonRemote("Button0@localhost"); button.ButtonChanged += new ButtonChangeEventHandler(ButtonChanged); button.MuteWarnings = true; while (true) { tracker.Update(); button.Update(); } }
/// <summary> /// The constructor for the VRPN tracker /// </summary> public VRPNTracker() { identifier = "VRPNTracker"; trackerName = "Tracker 1"; ipAddress = "localhost"; tracker = new TrackerRemote(trackerName + "@" + ipAddress); isAvailable = true; _orientation = Microsoft.Xna.Framework.Quaternion.Identity; _yaw = 0; _pitch = 0; _roll = 0; _position = Microsoft.Xna.Framework.Vector3.One; _xpos = 0; _ypos = 0; _zpos = 0; }
public static void Main(string[] args) { var hmdTracker = new TrackerRemote("Isense900@" + VPRNHostIP); hmdTracker.PositionChanged += TestHMDChanged; // var wandButtons = new ButtonRemote("Wand0@" + VPRNHostIP); // wandButtons.WandButtonsChanged += WandButtonsChanged; // wandButtons.MuteWarnings = true; // var wandJoystick = new AnalogRemote("Wand0" + VPRNHostIP); // wandJoystick.AnalogChanged += WandJoystickChanged; while (true) { hmdTracker.Update(); } }
private void RunFeedbackCore() { Connection clientConnection = Connection.GetConnectionByName(serverName); TrackerRemote client = new TrackerRemote(serverName, clientConnection); client.PositionChanged += client_PositionChanged; clientState = ServerRunState.Running; while (!forceStop) { clientConnection.Update(); client.Update(); Thread.Yield(); } clientState = ServerRunState.Stopping; client.PositionChanged -= client_PositionChanged; client.Dispose(); clientConnection.Dispose(); clientState = ServerRunState.Stopped; }
public override void Load() { try { IsEnabled = true; PositionScaleFactor = 0.001; _tracker = new TrackerRemote(_trackerAddress); _tracker.PositionChanged += PositionChanged; _tracker.MuteWarnings = true; _button = new ButtonRemote(_buttonAddress); _button.ButtonChanged += ButtonChanged; _button.MuteWarnings = true; } catch (Exception exc) { Logger.Instance.Error(exc.Message, exc); IsEnabled = false; } _timer.Start(); }
public void Dispose() { tracker.Dispose(); tracker = null; }
private void RunNetworkKinect(string serverName, string rhServerName, string lhServerName) { using (TrackerRemote client = new TrackerRemote(serverName)) { client.PositionChanged += client_PositionChanged; //Start the rh server, if needed if (rhServerName != null && lhServerName != null) { if (rhServerName != null || lhServerName != null) { if (rhServerName != null) { //Only the right hand server should be used using (ButtonRemote rhClient = new ButtonRemote(rhServerName)) { rhClient.ButtonChanged += rhClient_ButtonChanged; isRunning = true; while (!forceStop) { client.Update(); rhClient.Update(); Thread.Yield(); } rhClient.ButtonChanged -= rhClient_ButtonChanged; } } else { //Only the left hand server should be used using (ButtonRemote lhClient = new ButtonRemote(lhServerName)) { lhClient.ButtonChanged += lhClient_ButtonChanged; isRunning = true; while (!forceStop) { client.Update(); lhClient.Update(); Thread.Yield(); } lhClient.ButtonChanged -= lhClient_ButtonChanged; } } } else { if (rhServerName == lhServerName) { //The left and right hand should be used, but they are on the same server using (ButtonRemote handClient = new ButtonRemote(rhServerName)) { handClient.ButtonChanged += rhClient_ButtonChanged; isRunning = true; while (!forceStop) { client.Update(); handClient.Update(); Thread.Yield(); } handClient.ButtonChanged -= rhClient_ButtonChanged; } } else { //Both the left and right hand should be used, and they are on different servers using (ButtonRemote rhClient = new ButtonRemote(rhServerName)) { using (ButtonRemote lhClient = new ButtonRemote(lhServerName)) { rhClient.ButtonChanged += rhClient_ButtonChanged; lhClient.ButtonChanged += lhClient_ButtonChanged; isRunning = true; while (!forceStop) { client.Update(); rhClient.Update(); lhClient.Update(); Thread.Yield(); } rhClient.ButtonChanged -= rhClient_ButtonChanged; lhClient.ButtonChanged -= lhClient_ButtonChanged; } } } } } else { //No hand servers case isRunning = true; while (!forceStop) { client.Update(); Thread.Yield(); } } client.PositionChanged -= client_PositionChanged; } isRunning = false; }
/// <summary> /// Initializes the VRPN tracker. /// </summary> public void Initialize() { tracker = new TrackerRemote(trackerName + "@" + ipAddress); tracker.PositionChanged += new TrackerChangeEventHandler(PositionChanged); tracker.MuteWarnings = false; }