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); } }
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; }
void Start() { map = GetComponent <VtsCameraBase>().mapObject.GetComponent <VtsMap>(); }
private void Start() { umap = GetComponent <VtsMap>(); vmap = umap.Map; }