public MLUPCFBinding(MLPCF PCF, Vector3 position, Quaternion rotation, Vector3?scale = null) { CFUID = PCF.CFUID; this.position = this.rotation = this.scale = default(SerializableUnityData); Quaternion inverseOrientation = Quaternion.Inverse(PCF.Orientation); this.Position = inverseOrientation * (position - PCF.Position); this.Rotation = inverseOrientation * rotation; this.Scale = scale ?? Vector3.one; }
public static MLUTrackedPCF GetTrackedPCF(MLCoordinateFrameUID CFUID) { foreach (MLUTrackedPCF trackedPCF in trackedPCFs) { if (CFUID.Equals(trackedPCF.PCF.CFUID)) { return(trackedPCF); } } return(null); }
private void SpawnPCFVisual(CFUID cfuid) { Debug.Log("Spawning Visual at nearest PCF " + cfuid); var pcf = PCFList.Find(x => x.CFUID == cfuid); if (pcf != null) { Debug.Log(pcf.Position); } PhotonNetwork.Instantiate("PCFVisual", pcf.Position, pcf.Orientation); }
public static MLPCF GetPCF(MLCoordinateFrameUID CFUID) { foreach (MLPCF PCF in PCFs) { if (PCF.CFUID.Equals(CFUID)) { return(PCF); } } return(null); }
public void SyncClosestPCF(CFUID id) { _closestPCFCFUID = id; Debug.Log("Trying to sync " + _closestPCFCFUID + " " + _closestPCFCFUID.ToGuid()); if (_closestPCFCFUID == null) { Debug.Log("Closest PCFID is null"); } if (_closestPCFGameObject != null) { return; } Debug.Log("List Size " + PCFList.Count); _closestPCF = PCFList.Find(x => x.CFUID == _closestPCFCFUID); MLPersistentCoordinateFrames.GetPCFPose(_closestPCF, HandleClosestPCFQuery); }