// Update is called once per frame void Update() { if (visualCube.transform.localScale != visualScale) { visualScale = visualCube.transform.localScale; if (spawner == null) { spawner = FindObjectOfType <SpawnSpheres>(); } spawner.particleSystemM.transform.localScale = visualScale; spawner.particleSystemK.transform.localScale = visualScale; spawner.particleSystemG.transform.localScale = visualScale; spawner.particleSystemF.transform.localScale = visualScale; spawner.particleSystemA.transform.localScale = visualScale; } if (!ROI && dynamicLOD && data_manager.octree != null) { if (!coroutineRunning) { dynamicLODCoroutine = StartCoroutine(data_manager.SplitOctreeLODWithPixelSize()); } } if (queryObjectNearest.activeSelf) { QueryNearest(); } }
void Start() { http_fetcher = FindObjectOfType <HttpFileFetcher>(); ui_manager = FindObjectOfType <UIManager>(); data_manager = FindObjectOfType <DataManager>(); spawner = FindObjectOfType <SpawnSpheres>(); Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/HoloLens Data"); }
public void ToggleSpectralClass(int spectralClass) { if (spawner == null) { spawner = FindObjectOfType <SpawnSpheres>(); } switch (spectralClass) { case 0: spawner.particleSystemM.gameObject.SetActive(!spawner.particleSystemM.gameObject.activeSelf); if (data_manager.octree == null) { return; } spawner.ApplyToParticleSystem('M', data_manager.averageSpectralM); break; case 1: Debug.Log("toggle 1"); spawner.particleSystemK.gameObject.SetActive(!spawner.particleSystemK.gameObject.activeSelf); if (data_manager.octree == null) { return; } spawner.ApplyToParticleSystem('K', data_manager.averageSpectralK); break; case 2: spawner.particleSystemG.gameObject.SetActive(!spawner.particleSystemG.gameObject.activeSelf); if (data_manager.octree == null) { return; } spawner.ApplyToParticleSystem('G', data_manager.averageSpectralG); break; case 3: spawner.particleSystemF.gameObject.SetActive(!spawner.particleSystemF.gameObject.activeSelf); if (data_manager.octree == null) { return; } spawner.ApplyToParticleSystem('F', data_manager.averageSpectralF); break; case 4: spawner.particleSystemA.gameObject.SetActive(!spawner.particleSystemA.gameObject.activeSelf); if (data_manager.octree == null) { return; } spawner.ApplyToParticleSystem('A', data_manager.averageSpectralA); break; } }
public void SetLegendColor() { SpawnSpheres spawner = FindObjectOfType <SpawnSpheres>(); spectralMText.color = spawner.spectralColorM; spectralKText.color = spawner.spectralColorK; spectralGText.color = spawner.spectralColorG; spectralFText.color = spawner.spectralColorF; spectralAText.color = spawner.spectralColorA; spectralImageM.color = spawner.spectralColorM; spectralImageK.color = spawner.spectralColorK; spectralImageG.color = spawner.spectralColorG; spectralImageF.color = spawner.spectralColorF; spectralImageA.color = spawner.spectralColorA; }
// Start is called before the first frame update void Start() { visualScale = new Vector3(0.5f, 0.5f, 0.5f); ui_manager = FindObjectOfType <UIManager>(); parentCube.SetActive(true); visualCube.SetActive(false); photonView = GetComponent <PhotonView>(); spawner = FindObjectOfType <SpawnSpheres>(); mainCam = Camera.main; reader = FindObjectOfType <Reader>(); data_manager = FindObjectOfType <DataManager>(); ui_manager.SetHUDMapPosition(Vector3.zero, 1f); Vector3 newRay = visualCube.transform.right; Debug.Log(newRay); }
public void CalculateAverageLists <T>(List <T> list, float x = 0, float y = 0, float z = 0, float radius = -1) { if (spawner == null) { spawner = FindObjectOfType <SpawnSpheres>(); } averageSpectralM.Clear(); averageSpectralK.Clear(); averageSpectralG.Clear(); averageSpectralF.Clear(); averageSpectralA.Clear(); for (int i = 0; i < list.Count; i++) { List <Vector3> position = new List <Vector3>(); List <int> temperature = new List <int>(); List <float> size = new List <float>(); if (typeof(T) == typeof(CelestialBody)) { if (radius == -1) { position.Add((list[i] as CelestialBody).position); } else { Vector3 roiCenterToPoint = (list[i] as CelestialBody).position - new Vector3(x, y, z); float ratio = roiCenterToPoint.magnitude / radius; Vector3 newPosition = roiCenterToPoint.normalized * ratio; ROI_celestialBodyCloud[i] = new CelestialBody { position = newPosition, temperature = (list[i] as CelestialBody).temperature, distance = (list[i] as CelestialBody).distance, radius = (list[i] as CelestialBody).radius, source_id = (list[i] as CelestialBody).source_id }; ROI_octree.Add(ROI_celestialBodyCloud[i], ROI_celestialBodyCloud[i].position); position.Add(newPosition); } temperature.Add((list[i] as CelestialBody).temperature); size.Add(spawner.particleSize); } if (typeof(T) == typeof(PointOctreeNode <CelestialBody>)) { if (!(list[i] as PointOctreeNode <CelestialBody>).HasChildren) { foreach (PointOctreeNode <CelestialBody> .OctreeObject cel in (list[i] as PointOctreeNode <CelestialBody>).objects) { position.Add(cel.Obj.position); temperature.Add(cel.Obj.temperature); size.Add(spawner.particleSize); } } else { position.Add((list[i] as PointOctreeNode <CelestialBody>).averagePositionOfNodes); temperature.Add((list[i] as PointOctreeNode <CelestialBody>).averageTempOfNodes); size.Add((list[i] as PointOctreeNode <CelestialBody>).distanceFromAverage); } } for (int j = 0; j < temperature.Count; j++) { if (temperature[j] <= 3700) { averageSpectralM.Add(new Tuple <Vector3, float>(position[j], size[j])); } else if (temperature[j] > 3700 && temperature[j] <= 5200) { averageSpectralK.Add(new Tuple <Vector3, float>(position[j], size[j])); } else if (temperature[j] > 5200 && temperature[j] <= 6000) { averageSpectralG.Add(new Tuple <Vector3, float>(position[j], size[j])); } else if (temperature[j] > 6000 && temperature[j] <= 7500) { averageSpectralF.Add(new Tuple <Vector3, float>(position[j], size[j])); } else if (temperature[j] > 7500 && temperature[j] <= 10000) { averageSpectralA.Add(new Tuple <Vector3, float>(position[j], size[j])); } } } spawner.ApplyToParticleSystem('M', averageSpectralM); spawner.ApplyToParticleSystem('K', averageSpectralK); spawner.ApplyToParticleSystem('G', averageSpectralG); spawner.ApplyToParticleSystem('F', averageSpectralF); spawner.ApplyToParticleSystem('A', averageSpectralA); }