コード例 #1
0
        public void ApplyLayer(string layerName, DateTime selectedDateTime, LayerVisualizationStyle style,
                               int layerIndex = 0)
        {
            Debug.Log("Applying layer " + layerName + layerIndex + " in style " + style);

            switch (style)
            {
            case LayerVisualizationStyle.Flat:
                // Load specified layer directly onto the globe geometry
                globe.LoadLayer(layerIndex, layerName, selectedDateTime);
                break;

            case LayerVisualizationStyle.Volumetric:
                // Load specified layer as an extruded mesh from the globe
                switch (layerIndex)
                {
                case 0:
                    if (scienceDataIngestor0.isActiveAndEnabled && dataVisualizer0.isActiveAndEnabled)
                    {
                        dataVisualizer0.SetVisualizationSources(globe, globeColliderTransform,
                                                                scienceDataIngestor0);
                        dataVisualizer0.Reset();
                        scienceDataIngestor0.IngestDataForDate(selectedDateTime, layerName, dataVisualizer0);
                    }
                    break;

                case 1:
                    if (scienceDataIngestor1.isActiveAndEnabled && dataVisualizer1.isActiveAndEnabled)
                    {
                        dataVisualizer1.SetVisualizationSources(globe, globeColliderTransform,
                                                                scienceDataIngestor1);
                        dataVisualizer1.Reset();
                        scienceDataIngestor1.IngestDataForDate(selectedDateTime, layerName, dataVisualizer1);
                    }
                    break;
                }
                break;
            }

            AddToAppliedLayerList(layerName, selectedDateTime, style, layerIndex);

            if (OnLayerApplied != null)
            {
                OnLayerApplied.Invoke(layerName, selectedDateTime, style, layerIndex);
            }
        }
コード例 #2
0
        private void AddToAppliedLayerList(string layerName, DateTime selectedDateTime, LayerVisualizationStyle style,
                                           int layerIndex)
        {
            AppliedLayer layer = new AppliedLayer
            {
                layerName        = layerName,
                selectedDateTime = selectedDateTime,
                style            = style,
                layerIndex       = layerIndex
            };

            // Clear matching layer from list, if necessary
            appliedLayers.RemoveAll(x => (x.layerIndex == layerIndex) && (x.style == style));

            // Add to list
            appliedLayers.Add(layer);
        }