public override void OnClick() { IEngineNetworkAnalystEnvironment naEnv = new EngineNetworkAnalystEnvironmentClass(); IEngineNetworkAnalystHelper naHelper = naEnv as IEngineNetworkAnalystHelper; IEngineNAWindow naWindow = naEnv.NAWindow; // Get the NALayer and corresponding NAContext of the layer that // was right-clicked on in the table of contents // m_MapControl.CustomProperty was set in frmMain.axTOCControl1_OnMouseDown INALayer naLayer = (INALayer)m_mapControl.CustomProperty; INAContext naContext = naLayer.Context; // Set the active Analysis layer if (naWindow.ActiveAnalysis != naLayer) { naWindow.ActiveAnalysis = naLayer; } // Remember what the current category is IEngineNAWindowCategory currentCategory = naWindow.ActiveCategory; // Loop through deleting all the items from all the categories INamedSet naClasses = naContext.NAClasses; for (int i = 0; i < naClasses.Count; i++) { IEngineNAWindowCategory category = naWindow.get_CategoryByNAClassName(naClasses.get_Name(i)); naWindow.ActiveCategory = category; naHelper.DeleteAllNetworkLocations(); } //Reset to the original category naWindow.ActiveCategory = currentCategory; m_mapControl.Refresh(esriViewDrawPhase.esriViewGeography, naLayer, m_mapControl.Extent); }
public override void OnClick() { if (m_mapControl == null) { MessageBox.Show("Error: Map control is null for this command"); return; } // Get the NALayer and corresponding NAContext of the layer that // was right-clicked on in the table of contents // m_MapControl.CustomProperty was set in frmMain.axTOCControl1_OnMouseDown INALayer naLayer = m_mapControl.CustomProperty as INALayer; if (naLayer == null) { MessageBox.Show("Error: NALayer was not set as the CustomProperty of the map control"); return; } var naEnv = CommonFunctions.GetTheEngineNetworkAnalystEnvironment(); if (naEnv == null || naEnv.NAWindow == null) { MessageBox.Show("Error: EngineNetworkAnalystEnvironment is not properly configured"); return; } // Set the active Analysis layer IEngineNAWindow naWindow = naEnv.NAWindow; if (naWindow.ActiveAnalysis != naLayer) { naWindow.ActiveAnalysis = naLayer; } // Remember what the current category is IEngineNAWindowCategory originalCategory = naWindow.ActiveCategory; // Loop through deleting all the items from all the categories INamedSet naClasses = naLayer.Context.NAClasses; var naHelper = naEnv as IEngineNetworkAnalystHelper; for (int i = 0; i < naClasses.Count; i++) { IEngineNAWindowCategory category = naWindow.get_CategoryByNAClassName(naClasses.get_Name(i)); naWindow.ActiveCategory = category; naHelper.DeleteAllNetworkLocations(); } //Reset to the original category naWindow.ActiveCategory = originalCategory; // Redraw the map m_mapControl.Refresh(esriViewDrawPhase.esriViewGeography, naLayer, m_mapControl.Extent); }