private void IterateFeatures(RecyclingPolicy policy)
 {
     var features = _featureClass.GetFeatures(policy);
     int consecutiveNumber = 1;
     foreach (var feature in features)
     {
         Assert.That(feature.OID, Is.EqualTo(consecutiveNumber));
         consecutiveNumber++;
     }
 }
예제 #2
0
        private void IterateFeatures(RecyclingPolicy policy)
        {
            var features          = _featureClass.GetFeatures(policy);
            int consecutiveNumber = 1;

            foreach (var feature in features)
            {
                Assert.That(feature.OID, Is.EqualTo(consecutiveNumber));
                consecutiveNumber++;
            }
        }
        public static IEnumerable<IFeature> GetFeatures(this IFeatureClass featureClass,
		                                                IQueryFilter queryFilter, RecyclingPolicy policy)
        {
            IFeatureCursor featureCursor =
                featureClass.Search(queryFilter, RecyclingPolicy.Recycle == policy);

            IFeature feature;
            while (null != (feature = featureCursor.NextFeature()))
            {
                yield return feature;
            }

            //this is skipped in unit tests with cursor-mock
            if (Marshal.IsComObject(featureCursor))
            {
                Marshal.ReleaseComObject(featureCursor);
            }
        }
        public static IEnumerable <IFeature> GetFeatures(this IFeatureClass featureClass,
                                                         IQueryFilter queryFilter, RecyclingPolicy policy)
        {
            IFeatureCursor featureCursor =
                featureClass.Search(queryFilter, RecyclingPolicy.Recycle == policy);

            IFeature feature;

            while (null != (feature = featureCursor.NextFeature()))
            {
                yield return(feature);
            }

            //this is skipped in unit tests with cursor-mock
            if (Marshal.IsComObject(featureCursor))
            {
                Marshal.ReleaseComObject(featureCursor);
            }
        }
        private int IteratingFeaturesTwice(RecyclingPolicy policy, Action<IFeature, int> action)
        {
            var features = _featureClass.GetFeatures(policy);

            var selectedFeatures =
                from feature in features where (Convert.ToDouble(feature.Value[4]) > 3000) select feature;

            var index = 0;

            //this is the first iteration which builds up a list of features
            var list = selectedFeatures.ToList();

            //this is the second iteration which uses this list
            list.ForEach(feature =>
                         	{
                         		action(feature, index);
                         		index++;
                         	});

            return index;
        }
예제 #6
0
        private int IteratingFeaturesTwice(RecyclingPolicy policy, Action <IFeature, int> action)
        {
            var features = _featureClass.GetFeatures(policy);

            var selectedFeatures =
                from feature in features where (Convert.ToDouble(feature.Value[4]) > 3000) select feature;

            var index = 0;

            //this is the first iteration which builds up a list of features
            var list = selectedFeatures.ToList();

            //this is the second iteration which uses this list
            list.ForEach(feature =>
            {
                action(feature, index);
                index++;
            });

            return(index);
        }
 public static IEnumerable <IFeature> GetFeatures(this IFeatureClass featureClass, RecyclingPolicy policy)
 {
     return(featureClass.GetFeatures(null, policy));
 }
 public static IEnumerable<IFeature> GetFeatures(this IFeatureClass featureClass, RecyclingPolicy policy)
 {
     return featureClass.GetFeatures(null, policy);
 }
예제 #9
0
 public FeatureEnumerable(IFeatureClass featureClass, IQueryFilter filter, RecyclingPolicy policy)
 {
     _featureClass = featureClass;
     _filter       = filter;
     _policy       = policy;
 }
예제 #10
0
        public static IEnumerable <IFeature> GetFeatures(this ISelectionSet2 set, IQueryFilter filter, RecyclingPolicy policy)
        {
            ICursor cursor;

            set.Search(filter, RecyclingPolicy.Recycle == policy, out cursor);
            var featureCursor = (IFeatureCursor)cursor;

            IFeature feature;

            while (null != (feature = featureCursor.NextFeature()))
            {
                yield return(feature);
            }

            //this is skipped in unit test with cursor-mock
            if (Marshal.IsComObject(cursor))
            {
                Marshal.ReleaseComObject(cursor);
            }
        }