示例#1
0
        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();
                }
            }
        }
示例#4
0
 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));
 }
示例#5
0
 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));
 }
示例#6
0
        /// <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);
            }
        }
示例#7
0
        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));
        }
示例#8
0
        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));
        }
示例#9
0
        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();
        }
示例#10
0
        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);
        }
示例#11
0
        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));
        }
示例#13
0
        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));
        }
示例#14
0
        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();
        }
示例#15
0
        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;
        }
示例#16
0
        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;
                }
            }
        }
示例#17
0
        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;
            }
        }
示例#18
0
 public void Add(SetClass setClass)
 {
     //setClass.Id =  Guid.NewGuid().ToString();
     setClassesContext.Add(setClass);
     setClassesContext.SaveChanges();
 }
示例#19
0
        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;
              }
        }
示例#21
0
 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();
 }
示例#22
0
 public void Initialize()
 {
     firstSet = new SetClass<int>();
 }
示例#23
0
 public void Initialize()
 {
     firstSet = new SetClass <int>();
 }
示例#24
0
 public SetNumberChangedEventArgs(SetClass selectedSet)
 {
     this.SelectedSet = selectedSet;
 }
示例#25
0
        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);
        }
示例#27
0
        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();
        }
示例#28
0
文件: 1.cs 项目: trainsn/LBS
        /// <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), "提示");
            }
        }
示例#29
0
        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;
        }