Exemple #1
0
    public static bool MakeLocal(VtsMap umap, double[] navPt)
    {
        Util.CheckArray(navPt, 3);
        Map map = umap.GetVtsMap();

        if (!map.GetMapconfigAvailable())
        {
            return(false);
        }
        double[] p = map.Convert(navPt, Srs.Navigation, Srs.Physical);
        { // swap YZ
            double tmp = p[1];
            p[1] = p[2];
            p[2] = tmp;
        }
        Vector3 v = Vector3.Scale(VtsUtil.V2U3(p), umap.transform.localScale);

        if (map.GetProjected())
        {
            umap.transform.position = -v;
        }
        else
        {
            float m = v.magnitude;
            umap.transform.position = new Vector3(0, -m, 0);              // altitude
            umap.transform.rotation =
                Quaternion.Euler(0, (float)navPt[0] + 90.0f, 0)           // align to north
                * Quaternion.FromToRotation(-v, umap.transform.position); // latlon
        }
        return(true);
    }
    private void Update()
    {
        VtsMap um = GetComponent <VtsMap>();

        if (defaultPosition)
        {
            vts.Map m = um.Map;
            if (!m.GetMapconfigAvailable())
            {
                return;
            }
            vts.Position pos = m.GetDefaultPosition();
            if (!MakeLocal(um, new double[3] {
                pos.data.point[0], pos.data.point[1], pos.data.point[2] + zOffset
            }))
            {
                return;
            }
        }
        else
        {
            if (!MakeLocal(um, new double[3] {
                x, y, z
            }))
            {
                return;
            }
        }
        if (singleUse)
        {
            Destroy(this);
        }
    }
Exemple #3
0
    void Update()
    {
        if (string.IsNullOrEmpty(SelectMap.SelectedUrl))
        {
            return;
        }
        VtsMap map = GetComponent <VtsMap>();

        map.Map.SetMapconfigPath(SelectMap.SelectedUrl);
        VtsMapMakeLocal mml = gameObject.AddComponent <VtsMapMakeLocal>();

        mml.x         = SelectMap.SelectedPosition.x;
        mml.y         = SelectMap.SelectedPosition.y;
        mml.z         = SelectMap.SelectedPosition.z;
        mml.singleUse = true;
        GameObject sun = GameObject.Find("Sun");

        sun.transform.rotation = Quaternion.Euler(SelectMap.SelectedSunDirection);
        Destroy(this);
    }
 void Start()
 {
     map = GetComponent <VtsMap>();
     input.interactable    = false;
     dropDown.interactable = false;
 }
Exemple #5
0
 void Start()
 {
     map = GetComponent <VtsCameraBase>().mapObject.GetComponent <VtsMap>();
 }
Exemple #6
0
 private void Start()
 {
     umap = GetComponent <VtsMap>();
     vmap = umap.Map;
 }