private void btnDropDown_Click(object sender, EventArgs e) { if (_Service == null) { _Service = new DropDownService(this); } buildColumns(); ChooserDropDown ctl = NewChooserDropDown(); ctl.CloseByDoubleClick = CloseDropDownByDoubleClick; ctl.DataSource = SetClass; if (SetClass != null) { if (SetClass.Count == 0) { SetClass.Load(); } SetClass.FilterApply(((Value == null) ? txtMain.Text : ""), ctl.GetColumnDescriptors()); } ctl.Value = Value; _Service.DropDownControl(ctl); }
/// <summary> /// Occurs when this command is clicked /// </summary> public override void OnClick() { IComPropertySheet myPropertySheet = new ComPropertySheetClass(); myPropertySheet.Title = "Simplified Layer Properties (C#)"; myPropertySheet.HideHelpButton = true; //Add by component category - all pages registered in the layer property page //UID layerPropertyID = new UIDClass(); //layerPropertyID.Value = m_layerCategoryID; //myPropertySheet.AddCategoryID(layerPropertyID); //Or add page by page - but have to call Applies yourself myPropertySheet.ClearCategoryIDs(); myPropertySheet.AddCategoryID(new UIDClass()); //a dummy empty UID myPropertySheet.AddPage(new LayerVisibilityPage()); //my custom page myPropertySheet.AddPage(new ESRI.ArcGIS.CartoUI.LayerDrawingPropertyPageClass()); //feature layer symbology //Pass in layer, active view and the application ISet propertyObjects = new SetClass(); IBasicDocument basicDocument = m_application.Document as IBasicDocument; propertyObjects.Add(basicDocument.ActiveView); propertyObjects.Add(basicDocument.SelectedLayer); //or check ContextItem is a layer? propertyObjects.Add(m_application); //optional? //Show the property sheet if (myPropertySheet.CanEdit(propertyObjects)) { myPropertySheet.EditProperties(propertyObjects, m_application.hWnd); } }
private void 符合设置ToolStripMenuItem_Click(object sender, EventArgs e) { if (_curLayer == null) { return; } var PSheet = new ComPropertySheetClass(); PSheet.HideHelpButton = true; ISet PSet = new SetClass(); PSet.Add(_curLayer); PSheet.ClearCategoryIDs(); PSheet.AddCategoryID(new UIDClass()); PSheet.AddPage(new ESRI.ArcGIS.CartoUI.LayerDrawingPropertyPageClass()); PSheet.Title = "显示属性设置"; if (PSheet.CanEdit(PSet)) { if (PSheet.EditProperties(PSet, 0)) { axTOCControl1.Refresh(); } } }
public void UnionTest() { var secondSet = new SetClass<int>(); firstSet.InsertElement(1); firstSet.InsertElement(2); secondSet.InsertElement(4); secondSet.InsertElement(3); firstSet.Union(secondSet); Assert.IsTrue(firstSet.Contains(3)); }
public void IntersectionTest() { var secondSet = new SetClass<int>(); firstSet.InsertElement(1); firstSet.InsertElement(2); secondSet.InsertElement(2); secondSet.InsertElement(3); var result = SetClass<int>.Intersection(firstSet, secondSet); Assert.IsTrue(result.Contains(2)); }
/// <summary> /// Perform find functionality. /// </summary> /// <param name="findCallBack">The find call back.</param> protected override void InternalFind(IFindCallBack findCallBack) { try { var doc = findCallBack.Application.Document as IMxDocument; if (doc == null) { return; } var map = doc.FocusMap; if (map == null) { return; } var request = _Control.GetSearchRequest(); if (request == null) { return; } var service = new MapSearchService(); var response = service.Find(request, map, _CancellationTokenSource); var set = new SetClass(); foreach (var values in response.Values) { for (int i = values.Count - 1; i >= 0; i--) { var featureFindData = values[i]; set.Add(featureFindData); findCallBack.ColumnValue[0] = featureFindData.Feature.OID.ToString(CultureInfo.InvariantCulture); findCallBack.ColumnValue[1] = featureFindData.Layer.Name; findCallBack.Object = featureFindData; findCallBack.AddNewRow(); bool quitProcessing; findCallBack.ProcessMessages(out quitProcessing); if (quitProcessing) { break; } } } doc.ContextItem = set; } catch (Exception ex) { Log.Error(this, ex); } }
public void UnionTest() { var secondSet = new SetClass <int>(); firstSet.InsertElement(1); firstSet.InsertElement(2); secondSet.InsertElement(4); secondSet.InsertElement(3); firstSet.Union(secondSet); Assert.IsTrue(firstSet.Contains(3)); }
public void IntersectionTest() { var secondSet = new SetClass <int>(); firstSet.InsertElement(1); firstSet.InsertElement(2); secondSet.InsertElement(2); secondSet.InsertElement(3); var result = SetClass <int> .Intersection(firstSet, secondSet); Assert.IsTrue(result.Contains(2)); }
public override void Flush(CoLayerMapper coLayerMapper_1) { int num; IFeatureBuffer buffer; this.coLayerMapper_0 = coLayerMapper_1; if (this.ifeatureClass_0.FeatureType == esriFeatureType.esriFTAnnotation) { this.bool_0 = false; } else { this.bool_0 = true; } if (this.bool_0) { if (this.ifeatureCursor_1 == null) { this.ifeatureCursor_1 = this.ifeatureClass_0.Insert(true); } for (num = 0; num < base.XpgisLayer.FeatureCount; num++) { buffer = this.method_9(base.XpgisLayer.GetFeatureByIndex(num)); if (buffer != null) { this.ifeatureCursor_1.InsertFeature(buffer); } } try { this.ifeatureCursor_1.Flush(); } catch { } } else { IFeatureClassWrite write = this.ifeatureClass_0 as IFeatureClassWrite; ISet features = new SetClass(); for (num = 0; num < base.XpgisLayer.FeatureCount; num++) { buffer = this.method_9(base.XpgisLayer.GetFeatureByIndex(num)); if (buffer != null) { features.Add(buffer as IFeature); } } write.WriteFeatures(features); } base.XpgisLayer.RemoveAllFeature(); }
public static void InvokeSetClass(CharacterClassManager ccm, RoleType id) { SetClass setClass = SetClassEvent; if (setClass == null) { return; } SetClassEvent ev = new SetClassEvent() { Player = Player.GetPlayer(ccm.gameObject), Role = id }; setClass?.Invoke(ev); }
private void buildColumns() { switch (GridColumnStyle) { case GridColumnStyles.All: Columns.Clear(); break; case GridColumnStyles.Default: if (SetClass != null) { if (SetClass.IsDatDerivedFrom(typeof(ITreeCustomDisplayName))) { SetClass.Sort("FP"); Columns.Clear(); AddColumn("DisplayName", "Название"); } else if (SetClass.IsDatDerivedFrom(typeof(IDictDat))) { SetClass.Sort("SCode"); Columns.Clear(); AddColumn("SCode", "Код"); AddColumn("Name", "Название"); } else if (SetClass.IsDatDerivedFrom(typeof(ICardDat))) { SetClass.Sort("Name"); Columns.Clear(); AddColumn("Name", "Название"); } else if (SetClass.IsDatDerivedFrom(typeof(ITreeDat))) { SetClass.Sort("FP"); Columns.Clear(); AddColumn("FP", "Путь"); AddColumn("Name", "Название"); } } break; case GridColumnStyles.Custom: break; } }
public void Set() { SetClass a = new SetClass { Strings = new HashSet <string> { "test1", "test2" }, }; XmlDocument target = new XmlDocument(); Serializer.Serialize((SystemXmlAdapter)target, a); Assert.AreEqual(2, target.DocumentElement.ChildNodes.Count); SetClass b = Deserializer.Deserialize <SetClass>((SystemXmlAdapter)target); Assert.IsTrue(a.Strings.SetEquals(b.Strings)); }
public void Set() { SetClass a = new SetClass { Strings = new HashSet <string> { "test1", "test2" }, }; JObject target = new JObject(); Serializer.Serialize((NewtonsoftJsonAdapter)target, a); AssertChildren(3, target); SetClass b = Deserializer.Deserialize <SetClass>((NewtonsoftJsonAdapter)target); Assert.IsTrue(a.Strings.SetEquals(b.Strings)); }
public void featureClassWrite(IFeatureClass sourceFeatureClass, IFeatureClass targetFeatureClass) { IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = queryClause; IFeatureCursor cursor = sourceFeatureClass.Search(queryFilter, true); IFeature sourceFeature = cursor.NextFeature(); IFeatureClassWrite featureClassWrite = targetFeatureClass as IFeatureClassWrite; ISet setAdd = new SetClass(); while (sourceFeature != null) { IFeature targetFeature = targetFeatureClass.CreateFeature(); //如果是线或面要素类需要执行下Simplify,这里用的点要素类,不做验证了 targetFeature.Shape = sourceFeature.ShapeCopy; for (int i = 0; i < sourceFeature.Fields.FieldCount; i++) { IField field = sourceFeature.Fields.get_Field(i); if (field.Type != esriFieldType.esriFieldTypeOID && field.Type != esriFieldType.esriFieldTypeGeometry && field.Type != esriFieldType.esriFieldTypeGlobalID && field.Type != esriFieldType.esriFieldTypeGUID) { string fieldName = field.Name; int index = targetFeature.Fields.FindField(fieldName); if (index > -1 && fieldName != "Shape_Length" && fieldName != "Shape_Area") { targetFeature.set_Value(index, sourceFeature.get_Value(i)); } } } //setAdd.Add(targetFeature); featureClassWrite.WriteFeature(targetFeature); sourceFeature = cursor.NextFeature(); } //featureClassWrite.WriteFeatures(setAdd);//与WriteFeature没啥效率上的区别 ComReleaser.ReleaseCOMObject(cursor); IFeatureClassManage targetFeatureClassManage = targetFeatureClass as IFeatureClassManage; targetFeatureClassManage.UpdateExtent(); }
private void btnClose_Click(object sender, EventArgs e) { ISet set = new SetClass(); for (int i = 0; i < this.checkedListBox1.Items.Count; i++) { if (this.checkedListBox1.GetItemChecked(i)) { object obj2 = this.checkedListBox1.Items[i]; set.Add((obj2 as LayerObject).Layer); } } if (set.Count > 0) { (this.Map as IMapClipOptions).ClipFilter = set; } else { (this.Map as IMapClipOptions).ClipFilter = null; } base.DialogResult = DialogResult.OK; }
protected void SetText(bool strict) { if (SetClass == null || SetClass.SortProperty == null || SetClass.SortProperty.PropertyType != typeof(string)) { txtMain.ForeColor = Color.Brown; if (Value != null) { bool ved = ValueEventDisabled; string txt = txtMain.Text; ValueEventDisabled = true; Value = null; txtMain.Text = txt; ValueEventDisabled = ved; SendKeys.Send("{RIGHT}"); } } else { string find = txtMain.Text; position = SetClass.FindIndex(find, strict); if (position < 0) { txtMain.ForeColor = Color.Brown; Value = null; } else { txtMain.ForeColor = Color.Black; ValueEventDisabled = true; Value = (BaseDat)SetClass[position]; txtMain.Text = SetClass.SortProperty.GetValue(Value).ToString(); int i = txtMain.Text.ToLower().IndexOf(find.ToLower()) + find.Length; txtMain.Select(i, txtMain.Text.Length - i); ValueEventDisabled = false; } } }
public void Run(string[] args) { SetClass <SetClass <int> > ps = new SetClass <SetClass <int> >(new Vector <SetClass <int> >()); ps.Data.Add(new SetClass <int>(new Vector <int>())); ps.Data[0].Data.Add(1); ps.Data[0].Data.Add(2); ps.Data.Add(new SetClass <int>(new Vector <int>())); ps.Data[1].Data.Add(3); ps.Data[1].Data.Add(4); ps.Data.Add(new SetClass <int>(new Vector <int>())); ps.Data[2].Data.Add(5); string s = ps.ToString(); Vector <Tuple <int, int> > abc = new Vector <Tuple <int, int> >(); abc.Add(new Tuple <int, int>(3, 4)); if (args.Length < 2) { Console.WriteLine("Expected at least two params"); return; } string opName = args[0]; OperationEnum op = (OperationEnum)Enum.Parse(typeof(OperationEnum), opName); string setAPath = "../../Data/Project01/" + args[1]; SetClass <int> setB = null; int element = 0; if (op == OperationEnum.MEMBERSHIP) { element = int.Parse(args[2]); } else if (args.Length == 3) { string setBPath = "../../Data/Project01/" + args[2]; Vector <int> setBData = null; DataSerializer <int> .LoadVectorFromTextFile(setBPath, ref setBData); if (setBData == null) { Console.WriteLine("Failed to load data from input file"); return; } setB = new SetClass <int>(setBData); } Vector <int> setAData = null; DataSerializer <int> .LoadVectorFromTextFile(setAPath, ref setAData); if (setAData == null) { Console.WriteLine("Failed to load data from input file"); return; } SetClass <int> setA = new SetClass <int>(setAData); switch (op) { case OperationEnum.CARTESIAN: Console.WriteLine( string.Format("Cartesian of SetA- {0}, Set B- {1}, is = {2} ", setA.Data.ToString(), setB.Data.ToString(), setA.CartesianProduct <int>(setB).Data.ToString() ) ); break; case OperationEnum.MEMBERSHIP: Console.WriteLine(string.Format("Check membership of {0}, is {1}", element, setA.Membership(element))); break; case OperationEnum.SUBSET: Console.WriteLine(string.Format("Check subset of {0} in {1}, and result = {2}", setA.Data.ToString(), setB.Data.ToString(), setA.IsSubsetOf(setB) ) ); break; case OperationEnum.INTERESECTION: var setC = setA.IntersectionWith(setB); Console.WriteLine(string.Format("Interesection of A- {0}, with B- {1} is {2}", setA.Data.ToString(), setB.Data.ToString(), setC.Data.ToString() )); DataSerializer <int> .SaveVectorToTextFile("f1.txt", setC.Data); break; case OperationEnum.SUPERSET: Console.WriteLine(string.Format("Check power of {0}, result = {1}", setA.Data.ToString(), setA.Powerset() )); break; } }
public void Add(SetClass setClass) { //setClass.Id = Guid.NewGuid().ToString(); setClassesContext.Add(setClass); setClassesContext.SaveChanges(); }
private ISet GetSelectedPrimaryParcels(IFeatureLayer surveyParcelLayer, IWorkspace tantalisWorkspace) { // Mar 12, 2008 m_pISDUTExt = RestTransactionManager.Instance.BaseTransactionManager.extension(); //(ISDUTExtension)_App.FindExtensionByName("SUITT Extension"); this.TANTschema = m_pISDUTExt.get_SystemValue("db.tant.schema") + "."; ISet theReturn = null; if (surveyParcelLayer == null) return null; IQueryFilter theQF = new QueryFilterClass(); util.Logger.Write("Fetching all selected parcels"); //theQF.WhereClause = PARCEL_TYPE_FIELD_NAME + " = " + PRIMARY_PARCEL_CODE; //util.Logger.Write("Fetching parcels where: " + PARCEL_TYPE_FIELD_NAME + " = " + PRIMARY_PARCEL_CODE); if (tantalisWorkspace != null) { // Create in-memory join IRelationshipClass2 theRC = null; try { // Open the related table ITable theOsdbTable = ((IFeatureWorkspace)tantalisWorkspace).OpenTable(TANTschema + SURVEY_PARCEL_TAB_NAME); IMemoryRelationshipClassFactory theFactory = new MemoryRelationshipClassFactoryClass(); theRC = (IRelationshipClass2)theFactory.Open( SURVEY_PARCEL_FC_NAME + "_to_" + SURVEY_PARCEL_TAB_NAME, (IObjectClass)surveyParcelLayer.FeatureClass, SURVEY_PARCEL_FK_NAME, (IObjectClass)theOsdbTable, SURVEY_PARCEL_FK_NAME, "forward", "backward", esriRelCardinality.esriRelCardinalityOneToOne); } catch (Exception ex) { util.Logger.Write("Error creating memory relationship class between " + SURVEY_PARCEL_FC_NAME + " and " + SURVEY_PARCEL_TAB_NAME + ":" + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace); return null; } // Loop through the selected features ISet theSelectedSPs = new SetClass(); ICursor theCursor = null; ((IFeatureSelection)surveyParcelLayer).SelectionSet.Search(null, false, out theCursor); IRow theSPRow = theCursor.NextRow(); while (theSPRow != null) { theSelectedSPs.Add(theSPRow); theSPRow = theCursor.NextRow(); } Marshal.ReleaseComObject(theCursor); IRelClassEnumRowPairs thePairs = theRC.GetObjectsMatchingObjectSetEx(theSelectedSPs, theQF, true); theReturn = new SetClass(); IRow theOsdbRow; thePairs.Next(out theSPRow, out theOsdbRow); while (theSPRow != null) { theReturn.Add(theSPRow); thePairs.Next(out theSPRow, out theOsdbRow); } } else { // Loop through the selected features theReturn = new SetClass(); ICursor theCursor = null; ((IFeatureSelection)surveyParcelLayer).SelectionSet.Search(theQF, false, out theCursor); IRow theSPRow = theCursor.NextRow(); while (theSPRow != null) { theReturn.Add(theSPRow); theSPRow = theCursor.NextRow(); } Marshal.ReleaseComObject(theCursor); } return theReturn; }
public void EmptyGeometriesUnversioned(IWorkspace TheWorkSpace, IFeatureClass inTable, IFIDSet pFIDSet) { IMouseCursor pMouseCursor = new MouseCursorClass(); pMouseCursor.SetCursor(2); IQueryFilter pQF = new QueryFilterClass(); ISQLSyntax pSQLSyntax = (ISQLSyntax)TheWorkSpace; string sPref = pSQLSyntax.GetSpecialCharacter(esriSQLSpecialCharacters.esriSQL_DelimitedIdentifierPrefix); string sSuff = pSQLSyntax.GetSpecialCharacter(esriSQLSpecialCharacters.esriSQL_DelimitedIdentifierSuffix); ICursor ipCursor = null; IRow pRow = null; //make sure that there are no more then 999 tokens for the in clause(ORA- query will otherwise error on an Oracle database) int iTokenLimit = 995; int iTokenSet = 0; //the index of the set of 995 tokens string sWhereClauseLHS = sPref + inTable.OIDFieldName + sSuff + " in ("; string[] ids = { sWhereClauseLHS }; try { ITableWrite pTableWr = (ITableWrite)inTable; pFIDSet.Reset(); bool bCont = true; Int32 iID; Int32 count = pFIDSet.Count(); int j = 0; //inner count for each set of IDs for (int k = 0; k < count; k++) { if (j > iTokenLimit) {//over the limit for this Token set, time to create a new set ids[iTokenSet] += ")";//close the previous set RedimPreserveString(ref ids, 1);//make space in the string array for the next token set iTokenSet++;//increment the index ids[iTokenSet] = sWhereClauseLHS; //left-hand side of the where clause j = 0;//reset the inner count back to zero } pFIDSet.Next(out iID); if (j > 0) //write a comma if this is not the first ID ids[iTokenSet] += ","; ids[iTokenSet] += iID.ToString(); j++; //increment the inner count } ids[iTokenSet] += ")"; if (count > 0) { IFeature pFeat = null; ISet pRowSet = new SetClass(); for (int k = 0; k <= iTokenSet; k++) { pRowSet.RemoveAll(); pQF.WhereClause = ids[k]; ipCursor = pTableWr.UpdateRows(pQF, false); pRow = ipCursor.NextRow(); while (pRow != null) { pFeat = (IFeature)pRow; IGeometry pGeo = pFeat.ShapeCopy; pGeo.SetEmpty(); pFeat.Shape = pGeo; ipCursor.UpdateRow(pRow); Marshal.ReleaseComObject(pRow); pRow = ipCursor.NextRow(); } if (!bCont) { AbortEditing(TheWorkSpace); if (ipCursor != null) Marshal.ReleaseComObject(ipCursor); if (pRow != null) Marshal.ReleaseComObject(pRow); //if (pQF != null) // Marshal.ReleaseComObject(pQF); return; } } Marshal.ReleaseComObject(ipCursor); //Marshal.ReleaseComObject(pQF); } return; } catch (COMException ex) { if (ipCursor != null) Marshal.ReleaseComObject(ipCursor); if (pRow != null) Marshal.ReleaseComObject(pRow); //if (pQF != null) // Marshal.ReleaseComObject(pQF); MessageBox.Show(Convert.ToString(ex.ErrorCode)); return; } }
public void LoadBuiltinClasses() { classes["Int"] = new IntClass(); classes["Float"] = new FloatClass(); classes["Boolean"] = new BooleanClass(); classes["String"] = new StringClass(); classes["Char"] = new CharClass(); classes["Byte"] = new ByteClass(); classes["Message"] = new MessageClass(); classes["Unassigned"] = new UnassignedClass(); classes["Tuple"] = new TupleClass(); classes["NameValue"] = new NameValueClass(); classes["Lambda"] = new LambdaClass(); classes["Void"] = new VoidClass(); classes["Some"] = new SomeClass(); classes["None"] = new NoneClass(); classes["Array"] = new ArrayClass(); classes["Iterator"] = new IteratorClass(); classes["LazyIterator"] = new LazyIteratorClass(); classes["StreamIterator"] = new StreamIteratorClass(); classes["Any"] = new AnyClass(); classes["Placeholder"] = new PlaceholderClass(); classes["Range"] = new RangeClass(); classes["Dictionary"] = new DictionaryClass(); classes["Container"] = new ContainerClass(); classes["Unmatched"] = new UnmatchedClass(); classes["Complex"] = new ComplexClass(); classes["Rational"] = new RationalClass(); classes["Long"] = new LongClass(); classes["Lazy"] = new LazyClass(); classes["YieldingInvokable"] = new YieldingInvokableClass(); classes["Del"] = new DelClass(); classes["Slice"] = new SliceClass(); classes["End"] = new EndClass(); classes["List"] = new ListClass(); classes["Arguments"] = new ArgumentsClass(); classes["Symbol"] = new SymbolClass(); classes["Infinity"] = new InfinityClass(); classes["OpenRange"] = new OpenRangeClass(); classes["KeyValue"] = new KeyValueClass(); classes["Regex"] = new RegexClass(); classes["Pattern"] = new PatternClass(); classes["PackageFunction"] = new PackageFunctionClass(); classes["Sys"] = new SysClass(); classes["Math"] = new MathClass(); classes["RuntimeFunction"] = new RuntimeFunctionClass(); classes["Reference"] = new ReferenceClass(); classes["Group"] = new RegexGroupClass(); classes["Match"] = new RegexMatchClass(); classes["Date"] = new DateClass(); classes["Interval"] = new IntervalClass(); classes["TypeConstraint"] = new TypeConstraintClass(); classes["ByteArray"] = new ByteArrayClass(); classes["Selector"] = new SelectorClass(); classes["Number"] = new NumberClass(); classes["Collection"] = new CollectionClass(); classes["TextFinding"] = new TextFindingClass(); classes["SkipTake"] = new SkipTakeClass(); classes["Constructor"] = new ConstructorClass(); classes["MutString"] = new MutStringClass(); classes["Error"] = new ErrorClass(); classes["Success"] = new SuccessClass(); classes["Failure"] = new FailureClass(); classes["Optional"] = new OptionalClass(); classes["Result"] = new ResultClass(); classes["Monad"] = new MonadClass(); classes["Unit"] = new UnitClass(); classes["YieldReturn"] = new YieldReturnClass(); classes["Index"] = new IndexClass(); classes["Cycle"] = new CycleClass(); classes["Set"] = new SetClass(); }
public void Initialize() { firstSet = new SetClass<int>(); }
public void Initialize() { firstSet = new SetClass <int>(); }
public SetNumberChangedEventArgs(SetClass selectedSet) { this.SelectedSet = selectedSet; }
static void Main(string[] args) { //ESRI License Initializer generated code. m_AOLicenseInitializer.InitializeApplication(new esriLicenseProductCode[] { esriLicenseProductCode.esriLicenseProductCodeEngine, esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB }, new esriLicenseExtensionCode[] { }); //ESRI License Initializer generated code. IWorkspaceFactory2 wsf2 = new SdeWorkspaceFactoryClass() as IWorkspaceFactory2; IWorkspace ws = wsf2.OpenFromFile(@"C:\Users\User123\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog\ConnectionToSQLServer.sde", 0); IFeatureWorkspace fws = ws as IFeatureWorkspace; ESRI.ArcGIS.Geodatabase.IFeatureClass fc = fws.OpenFeatureClass("DB_101.DBO.Points_Projected_UTMz11NCopy4_3"); ITableWrite tw = fc as ITableWrite; int numRows = 300; Int32[] int32Array = new Int32[numRows]; for (Int32 i = 0; i < numRows; i++) { int32Array[i] = i; } IGeoDatabaseBridge2 gdbBridge2 = new GeoDatabaseHelperClass(); //IGeoDatabaseBridge2 fc_gdbBridge2 = fc as IGeoDatabaseBridge2; bool Recycling = false; IFeatureCursor featCursor = gdbBridge2.GetFeatures(fc, ref int32Array, Recycling); ISet setOfRows = new SetClass(); IFeature feat; feat = featCursor.NextFeature(); while (feat != null) { IObject obj = feat as IObject; setOfRows.Add(obj); feat = featCursor.NextFeature(); } // TEST 1: ITableWrite.DeleteRows //------------------------------- DateTime dateTimeNow_Start = System.DateTime.Now; tw.DeleteRows(setOfRows); DateTime dateTimeNow_End = System.DateTime.Now; Double timeDifference = dateTimeNow_End.Subtract(dateTimeNow_Start).Milliseconds; System.Diagnostics.Debug.WriteLine("ITableWrite.DeleteRows(" + numRows + "rows): Processing time = " + timeDifference + " Milliseconds."); // TEST 2: ITableWrite.RemoveRows //------------------------------- //DateTime dateTimeNow_Start = System.DateTime.Now; //tw.RemoveRows(setOfRows); //DateTime dateTimeNow_End = System.DateTime.Now; //Double timeDifference = dateTimeNow_End.Subtract(dateTimeNow_Start).Milliseconds; //System.Diagnostics.Debug.WriteLine("ITableWrite.RemoveRows(" + numRows + "rows): Processing time = " + // timeDifference + " Milliseconds."); //Do not make any call to ArcObjects after ShutDownApplication() m_AOLicenseInitializer.ShutdownApplication(); }
/// <summary> /// Occurs when this command is clicked /// </summary> public override void OnClick() { IComPropertySheet myPropertySheet = new ComPropertySheetClass(); myPropertySheet.Title = "Simplified Layer Properties (C#)"; myPropertySheet.HideHelpButton = true; //Add by component category - all pages registered in the layer property page //UID layerPropertyID = new UIDClass(); //layerPropertyID.Value = m_layerCategoryID; //myPropertySheet.AddCategoryID(layerPropertyID); //Or add page by page - but have to call Applies yourself myPropertySheet.ClearCategoryIDs(); myPropertySheet.AddCategoryID(new UIDClass()); //a dummy empty UID myPropertySheet.AddPage(new LayerVisibilityPage()); //my custom page myPropertySheet.AddPage(new ESRI.ArcGIS.CartoUI.LayerDrawingPropertyPageClass()); //feature layer symbology //Pass in layer, active view and the application ISet propertyObjects = new SetClass(); IBasicDocument basicDocument = m_application.Document as IBasicDocument; propertyObjects.Add(basicDocument.ActiveView); propertyObjects.Add(basicDocument.SelectedLayer); //or check ContextItem is a layer? propertyObjects.Add(m_application); //optional? //Show the property sheet if (myPropertySheet.CanEdit(propertyObjects)) myPropertySheet.EditProperties(propertyObjects, m_application.hWnd); }
/// <summary> /// 从选择要素中生成草图 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void biGenerate_ItemClick(object sender, ItemClickEventArgs e) { try { if (_startPoint != null) { XtraMessageBox.Show(String.Format("当前处于编辑草图状态无法生成草图,请先删除草图!"), "提示"); } ISet iSet = new SetClass(); ISelection iSelection = null; iSelection = TheReferenceInstances.TheProjectAgent.Map.FeatureSelection; IEnumFeatureSetup iSetUp = iSelection as IEnumFeatureSetup; iSetUp.AllFields = true; iSetUp.Recycling = false; IEnumFeature iEnumFeat = iSelection as IEnumFeature; iEnumFeat.Reset(); IFeature iFeat = null; IGeometry iGeo = null; while ((iFeat = iEnumFeat.Next()) != null) { iGeo = iFeat.Shape; iSet.Add(iGeo); } if (iSet.Count < 1) { XtraMessageBox.Show(String.Format("当前无被选中的地物!"), "提示"); return; } int n = TheReferenceInstances.TheAEditer.SketchEdit.PntColl.PointCount; if (n > 0) { TheReferenceInstances.TheAEditer.SketchEdit.PntColl.RemovePoints(0, n); } SpatialTool spatialTool = new SpatialTool(); IGeometry iGeometry = null; if (_subType == 1) { if (iSet.Count > 1 && !spatialTool.CanMergeAsSinglePath(iSet)) { XtraMessageBox.Show(String.Format("要素不相邻或者自相交, 不能进行合并!"), "提示"); } iGeometry = spatialTool.UnionPolylines(iSet) as IGeometry; if (iGeometry == null) { XtraMessageBox.Show(String.Format("合并要素失败!"), "提示"); return; } (_geometryFeedback as INewLineFeedback).Stop(); } else if (_subType == 2) { iGeometry = spatialTool.UnionPolygons(iSet) as IGeometry; if (iGeometry == null) { XtraMessageBox.Show(String.Format("合并要素失败!"), "提示"); return; } if ((iGeometry as IPolygon).ExteriorRingCount > 1) { XtraMessageBox.Show(String.Format("要素不相邻,不能合并!"), "提示"); return; } (_geometryFeedback as INewPolygonFeedback).Stop(); } //从CAD转化来的图形可能含有Z值,造成后续iNewFeat.Shape = iGeometry时出错。故进行转化。 IZAware iZAware = iGeometry as IZAware; if (iZAware != null && iZAware.ZAware == true) { iZAware.ZAware = false; } TheReferenceInstances.TheAEditer.SketchEdit.DrawGeometry = iGeometry; TheReferenceInstances.TheProjectAgent.Map.ClearSelection(); _startPoint = null; RefreshFeedBack(); (myHook.FocusMap as IActiveView).Refresh(); } catch (System.Exception ex) { XtraMessageBox.Show(String.Format("从选择要素中生成草图失败!\n{0}", ex.Message), "提示"); } }
private bool SetLayerPropertySheet(ILayer layer) { if (layer == null) return false; IComPropertySheet pComPropSheet; pComPropSheet = new ESRI.ArcGIS.Framework.ComPropertySheet(); pComPropSheet.Title = layer.Name + " - ����"; ESRI.ArcGIS.esriSystem.UID pPPUID = new UIDClass(); pComPropSheet.AddCategoryID(pPPUID); // General.... ESRI.ArcGIS.Framework.IPropertyPage pGenPage = new GeneralLayerPropPageClass(); pComPropSheet.AddPage(pGenPage); // Source ESRI.ArcGIS.Framework.IPropertyPage pSrcPage = new FeatureLayerSourcePropertyPageClass(); pComPropSheet.AddPage(pSrcPage); // Selection... IPropertyPage pSelectPage = new FeatureLayerSelectionPropertyPageClass(); pComPropSheet.AddPage(pSelectPage); // Display.... IPropertyPage pDispPage = new FeatureLayerDisplayPropertyPageClass(); pComPropSheet.AddPage(pDispPage); // Symbology.... ESRI.ArcGIS.Framework.IPropertyPage pDrawPage = new LayerDrawingPropertyPageClass(); pComPropSheet.AddPage(pDrawPage); // Fields... ESRI.ArcGIS.Framework.IPropertyPage pFieldsPage = new LayerFieldsPropertyPageClass(); pComPropSheet.AddPage(pFieldsPage); // Definition Query... ESRI.ArcGIS.Framework.IPropertyPage pQueryPage = new LayerDefinitionQueryPropertyPageClass(); pComPropSheet.AddPage(pQueryPage); // Labels.... ESRI.ArcGIS.Framework.IPropertyPage pSelPage = new LayerLabelsPropertyPageClass(); pComPropSheet.AddPage(pSelPage); // Joins & Relates.... ESRI.ArcGIS.Framework.IPropertyPage pJoinPage = new JoinRelatePageClass(); pComPropSheet.AddPage(pJoinPage); // Setup layer link ESRI.ArcGIS.esriSystem.ISet pMySet = new SetClass(); pMySet.Add(layer); pMySet.Reset(); // make the symbology tab active pComPropSheet.ActivePage = 4; // show the property sheet bool bOK = pComPropSheet.EditProperties(pMySet, 0); return bOK; }