コード例 #1
0
 public void CancelNewFiducialPlacement()
 {
     if (_tempFiducial == null)
     {
         return;
     }
     Destroy(_tempFiducial.gameObject);
     _tempFiducial = null;
 }
コード例 #2
0
 public int StartUpdateFiducial(Transform fiducial)
 {
     _tempFiducial = Instantiate(fiducial.gameObject).GetComponent <Fiducial>();
     _tempFiducial.transform.SetPositionAndRotation(fiducial.position, fiducial.rotation);
     _tempFiducial.name = fiducial.name;
     _tempFiducialId    = int.Parse(fiducial.gameObject.name);
     _fiducialToUpdate  = fiducial;
     _fiducialToUpdate.gameObject.SetActive(false);
     return(_tempFiducialId);
 }
コード例 #3
0
    public void CancelUpdate()
    {
        if (_fiducialToUpdate == null)
        {
            return;
        }

        Destroy(_tempFiducial.gameObject);
        _tempFiducial = null;
        _fiducialToUpdate.gameObject.SetActive(true);
        _fiducialToUpdate = null;
    }
コード例 #4
0
    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);
    }
コード例 #5
0
    private void Initialise()
    {
        _fiducials       = new Dictionary <int, Fiducial>();
        _fiducialObjects = new Dictionary <int, FiducialObject>();
        bool hasFiducial = false;

        foreach (ConfigFile.ZeroFiducial fid in ConfigManager.ConfigFile.ZeroFiducials)
        {
            if (fid.CampusId == MazeMapController.Instance.CampusId)
            {
                ZeroFiducial = fid.FiducialData;
                hasFiducial  = true;
                break;
            }
        }

        /*
         * if (!hasFiducial)
         * {
         *  Debug.LogError("Zerofiducial not found in UserConfig - Exiting");
         #if UNITY_EDITOR
         *  EditorApplication.isPlaying = false;
         #endif
         *  Application.Quit();
         *  return;
         * }
         */

        Fiducial newFiducial = (Instantiate(Resources.Load(FIDUCIAL_RESOURCE_NAME), ZeroFiducial.Position.ToUTM().ToUnity(),
                                            Quaternion.Euler(ZeroFiducial.Rotation)) as GameObject).GetComponent <Fiducial>();

        newFiducial.gameObject.name = ZeroFiducial.FiducialId.ToString();

        newFiducial.FiducialId = ZeroFiducial.FiducialId;
        _fiducials.Add(ZeroFiducial.FiducialId, newFiducial);

        _fiducialObjects.Add(ZeroFiducial.FiducialId, new FiducialObject
        {
            Id       = ZeroFiducial.FiducialId,
            Position = newFiducial.transform.position.ToUTM().ToWGS84(),
            Rotation = newFiducial.transform.eulerAngles.ToGeoRotation()
        });
        float heightAboveFloor = MazeMapController.Instance.GetHeightAboveFloor(newFiducial.transform.position.y);

        newFiducial.InitaliseFloorMarker(heightAboveFloor);
    }
コード例 #6
0
    public void FinalizeUpdate()
    {
        if (_fiducialToUpdate == null)
        {
            return;
        }

        _fiducialToUpdate.SetPositionAndRotation(_tempFiducial.transform.position, Quaternion.Euler(_tempFiducial.transform.eulerAngles));

        _fiducialObjects[_tempFiducialId].Position = _fiducialToUpdate.position.ToUTM().ToWGS84();
        _fiducialObjects[_tempFiducialId].Rotation = _fiducialToUpdate.eulerAngles.ToGeoRotation();

        Destroy(_tempFiducial.gameObject);
        _fiducialToUpdate.gameObject.SetActive(true);
        _tempFiducial     = null;
        _fiducialToUpdate = null;
    }
コード例 #7
0
    public void FinalizeNewFiducialPlacement()
    {
        if (_tempFiducial == null)
        {
            return;
        }

        _tempFiducial.name = _tempFiducialId.ToString();
        _fiducials.Add(_tempFiducialId, _tempFiducial);


        _fiducialObjects.Add(_tempFiducialId, new FiducialObject
        {
            Id       = _tempFiducialId,
            Position = _tempFiducial.transform.position.ToUTM().ToWGS84(),
            Rotation = _tempFiducial.transform.eulerAngles.ToGeoRotation()
        });

        _tempFiducial = null;
    }
コード例 #8
0
    public int PlaceOrUpdateNewFiducial(int id, Vector3 position, Vector3 rotation)
    {
        if (_fiducialObjects.ContainsKey(id))
        {
            _tempFiducialId = GetNewFiducialId();
        }
        _tempFiducialId = id;

        if (_tempFiducial == null)
        {
            _tempFiducial = (Instantiate(Resources.Load(FIDUCIAL_RESOURCE_NAME), _fiducials[ZeroFiducial.FiducialId].transform) as GameObject).GetComponent <Fiducial>();
            _tempFiducial.transform.SetPositionAndRotation(position, Quaternion.Euler(rotation));
        }
        else
        {
            _tempFiducial.transform.SetPositionAndRotation(position, Quaternion.Euler(rotation));
        }
        _tempFiducial.InitaliseFloorMarker(MazeMapController.Instance.GetHeightAboveFloor(position.y));
        _tempFiducial.FiducialId = _tempFiducialId;
        return(_tempFiducialId);
    }
コード例 #9
0
 public FiducialAdapter(Fiducial target)
 {
     _target = target;
 }
コード例 #10
0
ファイル: Body.cs プロジェクト: bcaf/bcaf
 public Fiducial getFiducial(int ID_)
 {
     // Check if fiducal is in dictionary
     if (fd.ContainsKey(ID_))
     {
         return fd[ID_];
     }
     // Else return a dummy object
     else
     {
         Fiducial dummy = new Fiducial(ID_);
         fd.Add(ID_, dummy);
         return dummy;
     }
 }