/// <summary> /// Creates entire FiducialMapEntryArrayMsg to be published. /// </summary> private FiducialMapEntryArrayMsg GetFiducialMapForPublish() { FiducialMapEntryMsg[] mapEntries = new FiducialMapEntryMsg[_fiducialObjects.Count]; for (int i = 0; i < _fiducialObjects.Count; i++) { FiducialObject f = _fiducialObjects.ElementAt(i).Value; mapEntries[i] = CreateFiducialMapEntryMessage(f.Id, f.Position, f.Rotation); } return(new FiducialMapEntryArrayMsg(mapEntries)); }
private Fiducial InstantiateFiducial(FiducialObject fiducial) { Fiducial newFiducial = (Instantiate(Resources.Load(FIDUCIAL_RESOURCE_NAME), _fiducials[ZeroFiducial.FiducialId].transform) as GameObject).GetComponent <Fiducial>(); newFiducial.transform.position = fiducial.Position.ToUTM().ToUnity(); newFiducial.transform.eulerAngles = fiducial.Rotation.ToUnity(); newFiducial.name = fiducial.Id.ToString(); newFiducial.FiducialId = fiducial.Id; _fiducials.Add(fiducial.Id, newFiducial); float heightAboveFloor = MazeMapController.Instance.GetHeightAboveFloor(newFiducial.transform.position.y); newFiducial.InitaliseFloorMarker(heightAboveFloor); return(newFiducial); }