// Use this for initialization public override void utInit(SimpleFacade simpleFacade) { base.utInit(simpleFacade); switch (ubitrackEvent) { case UbitrackEventType.Pull: { m_positionPull = simpleFacade.getPullSinkPosition3D(patternID); m_simplePosition = new SimplePosition3D(); if (m_positionPull == null) { throw new Exception("SimpleApplicationPullSinkPosition3D not found for poseID:" + patternID); } break; } case UbitrackEventType.Push: { m_positionReceiver = new UnityPositionReceiver(); if (!simpleFacade.set3DPositionCallback(patternID, m_positionReceiver)) { throw new Exception("UnityPositionReceiver could not be set for poseID:" + patternID); } break; } default: break; } }
void Update() { if (sending) { switch (ubitrackEvent) { case UbitrackEventType.Push: { SimplePosition3D simplePos3D = new SimplePosition3D(); Vector3 output = Vector3.zero; UbiMeasurementUtils.coordsysemChange(sendPos, ref output); simplePos3D.x = output.x; simplePos3D.y = output.y; simplePos3D.z = output.z; simplePos3D.timestamp = UbiMeasurementUtils.getUbitrackTimeStamp(); m_poseReciever.receivePosition3D(simplePos3D); if (once) { this.enabled = false; } break; } case UbitrackEventType.Pull: default: break; } } }
// Use this for initialization public override void utInit(Ubitrack.SimpleFacade simpleFacade) { base.utInit(simpleFacade); switch(ubitrackEvent) { case UbitrackEventType.Pull:{ m_positionPull = simpleFacade.getPullSinkPosition3D(patternID); m_simplePosition = new SimplePosition3D(); if (m_positionPull == null) { throw new Exception("SimpleApplicationPullSinkPosition3D not found for poseID:" + patternID); } break; } case UbitrackEventType.Push:{ m_positionReceiver = new UnityPositionReceiver(); if (!simpleFacade.set3DPositionCallback(patternID, m_positionReceiver)) { throw new Exception("UnityPositionReceiver could not be set for poseID:" + patternID); } break; } default: break; } }
public override void receivePosition3D(SimplePosition3D newPosition) { lock (thisLock) { m_position = UbiMeasurementUtils.ubitrackToUnity(newPosition); } }
internal static Measurement <Vector3> ubitrackToUnity(SimplePosition3D position) { Vector3 data = new Vector3(); Vector3 ubiPos = new Vector3((float)position.x, (float)position.y, (float)position.z); ubiPos = ubiPos * UbiToUnityScaleFactor; coordsysemChange(ubiPos, ref data); return(new Measurement <Vector3>(data, position.timestamp)); }
public void send(ulong timestamp) { SimplePosition3D simplePos3D = new SimplePosition3D(); Vector3 output = Vector3.zero; UbiMeasurementUtils.coordsysemChange(sendPos, ref output); simplePos3D.x = output.x; simplePos3D.y = output.y; simplePos3D.z = output.z; simplePos3D.timestamp = timestamp; m_poseReciever.receivePosition3D(simplePos3D); if (once) { this.enabled = false; } }
internal static Measurement<Vector3> ubitrackToUnity(SimplePosition3D position) { Vector3 data = new Vector3(); Vector3 ubiPos = new Vector3((float)position.x,(float)position.y, (float)position.z); coordsysemChange(ubiPos, ref data); return new Measurement<Vector3>(data, position.timestamp); }