//function for adding a graphics layer public void addGraphicLayer() { graphicsLayer = new GlobeGraphicsLayerClass(); ILayer pLayer; pLayer = (ILayer)graphicsLayer; pLayer.Name = "CameraPathGraphicsLayer"; globe.AddLayerType(pLayer, esriGlobeLayerType.esriGlobeLayerTypeDraped, true); }
//public ILayer AddShapefileUsingOpenFileDialog(IActiveView activeView) //{ // //parameter check // if (activeView == null) // { // return null; // } // // Use the OpenFileDialog Class to choose which shapefile to load. // System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog(); // openFileDialog.InitialDirectory = @"C:\Users\mgh\Desktop\AirPlane2"; // openFileDialog.Filter = "Shapefiles (*.shp)|*.shp"; // openFileDialog.FilterIndex = 2; // openFileDialog.RestoreDirectory = true; // openFileDialog.Multiselect = false; // IFeatureLayer featureLayer = null; // if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) // { // // The user chose a particular shapefile. // // The returned string will be the full path, filename and file-extension for the chosen shapefile. Example: "C:\test\cities.shp" // string shapefileLocation = openFileDialog.FileName; // if (shapefileLocation != "") // { // // Ensure the user chooses a shapefile // // Create a new ShapefileWorkspaceFactory CoClass to create a new workspace // IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactoryClass(); // // IO.Path.GetDirectoryName(shapefileLocation) returns the directory part of the string. Example: "C:\test\" // IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(shapefileLocation), 0); // Explicit Cast // // IO.Path.GetFileNameWithoutExtension(shapefileLocation) returns the base filename (without extension). Example: "cities" // IFeatureClass featureClass = featureWorkspace.OpenFeatureClass(System.IO.Path.GetFileNameWithoutExtension(shapefileLocation)); // featureLayer = new FeatureLayer(); // featureLayer.FeatureClass = featureClass; // featureLayer.Name = featureClass.AliasName; // featureLayer.Visible = true; // AddVectorDataToGlobe(GlobeControl.Globe, esriGlobeLayerType.esriGlobeLayerTypeDraped, (ILayer)featureLayer); // // Zoom the display to the full extent of all layers in the map // activeView.Extent = featureLayer.AreaOfInterest; // activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); // ChangeRasterize(); // ChangeHeightProperties(featureLayer); // // ChangeProp(); // //AddDrapeLayerToGlobeElevationSurface(m_globe.GlobeDisplay, (ILayer)featureLayer, @"C:\Users\mgh\Desktop\AirPlane2\AirPlane\AirPlane\bin\Debug\GlobeData\wsiearth.tif"); // } // else // { // } // } // else // { // } // return (ILayer)featureLayer; //} public void AddVectorDataToGlobe(ESRI.ArcGIS.GlobeCore.IGlobe globe, ESRI.ArcGIS.GlobeCore.esriGlobeLayerType globeLayerType, ESRI.ArcGIS.Carto.ILayer layer) { if (globe == null || layer == null || globeLayerType == ESRI.ArcGIS.GlobeCore.esriGlobeLayerType.esriGlobeLayerTypeElevation || globeLayerType == ESRI.ArcGIS.GlobeCore.esriGlobeLayerType.esriGlobeLayerTypeUnknown) { return; } ESRI.ArcGIS.GlobeCore.IGlobeDisplay globeDisplay = globe.GlobeDisplay; ESRI.ArcGIS.GlobeCore.IGlobeDisplay2 globeDisplay2 = globeDisplay as ESRI.ArcGIS.GlobeCore.IGlobeDisplay2; // Reference or Boxing Conversion globeDisplay2.PauseCaching = true; globe.AddLayerType(layer, globeLayerType, true); ESRI.ArcGIS.GlobeCore.IGlobeDisplayLayers globeDisplayLayers = globeDisplay as ESRI.ArcGIS.GlobeCore.IGlobeDisplayLayers; // Reference or Boxing Conversion ESRI.ArcGIS.GlobeCore.IGlobeLayerProperties globeLayerProperties = globeDisplayLayers.FindGlobeProperties(layer); globeLayerProperties.Type = esriGlobeDataType.esriGlobeDataVector; globeLayerProperties.IsDynamicallyRasterized = false; globeDisplay2.PauseCaching = false; }