Пример #1
0
 public QaZDifferenceSelfWrapper(
     IList <IFeatureClass> featureClasses,
     double minimumZDifference,
     double maximumZDifference,
     ZComparisonMethod zComparisonMethod, string zRelationConstraint)
     : base(featureClasses, minimumZDifference, maximumZDifference,
            zComparisonMethod, zRelationConstraint)
 {
 }
Пример #2
0
 public QaZDifferenceSelf(
     [Doc(nameof(DocStrings.QaZDifferenceSelf_featureClasses))][NotNull]
     IList <IFeatureClass> featureClasses,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_limit))] double limit,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_zComparisonMethod))]
     ZComparisonMethod zComparisonMethod,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_zRelationConstraint))][CanBeNull]
     string zRelationConstraint)
     : this(featureClasses, limit, 0, zComparisonMethod, zRelationConstraint)
 {
 }
Пример #3
0
 public QaZDifferenceOther(
     [Doc(nameof(DocStrings.QaZDifferenceOther_featureClass))][NotNull]
     IFeatureClass featureClass,
     [Doc(nameof(DocStrings.QaZDifferenceOther_relatedClass))][NotNull]
     IFeatureClass relatedClass,
     [Doc(nameof(DocStrings.QaZDifferenceOther_limit))] double limit,
     [Doc(nameof(DocStrings.QaZDifferenceOther_zComparisonMethod))]
     ZComparisonMethod zComparisonMethod,
     [Doc(nameof(DocStrings.QaZDifferenceOther_zRelationConstraint))][CanBeNull]
     string zRelationConstraint)
     : this(new[] { featureClass }, new[] { relatedClass },
            limit, zComparisonMethod, zRelationConstraint)
 {
 }
Пример #4
0
 public QaZDifferenceSelf(
     [Doc(nameof(DocStrings.QaZDifferenceSelf_featureClass))][NotNull]
     IFeatureClass featureClass,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_minimumZDifference))]
     double minimumZDifference,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_maximumZDifference))]
     double maximumZDifference,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_zComparisonMethod))]
     ZComparisonMethod zComparisonMethod,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_zRelationConstraint))][CanBeNull]
     string zRelationConstraint)
     : this(new[] { featureClass }, minimumZDifference, maximumZDifference,
            zComparisonMethod, zRelationConstraint)
 {
 }
Пример #5
0
 public QaZDifferenceSelf(
     [Doc(nameof(DocStrings.QaZDifferenceSelf_featureClasses))][NotNull]
     IList <IFeatureClass> featureClasses,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_minimumZDifference))]
     double minimumZDifference,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_maximumZDifference))]
     double maximumZDifference,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_zComparisonMethod))]
     ZComparisonMethod zComparisonMethod,
     [Doc(nameof(DocStrings.QaZDifferenceSelf_zRelationConstraint))][CanBeNull]
     string zRelationConstraint)
     : base(featureClasses, esriSpatialRelEnum.esriSpatialRelIntersects)
 {
     _minimumZDifference  = minimumZDifference;
     _maximumZDifference  = maximumZDifference;
     _zComparisonMethod   = zComparisonMethod;
     _zRelationConstraint = zRelationConstraint;
 }
Пример #6
0
        public static ZDifferenceStrategy CreateStrategy(
            ZComparisonMethod zComparisonMethod,
            double minimumZDifference,
            string minimumZDifferenceExpression,
            double maximumZDifference,
            string maximumZDifferenceExpression,
            [CanBeNull] string zRelationConstraint,
            bool caseSensitivity,
            [NotNull] Func <double, string, double, string, string> formatComparisonFunction,
            [NotNull] IErrorReporting errorReporting,
            Func <int, bool> useDistanceFromPlane = null,
            double coplanarityTolerance           = 0,
            bool ignoreNonCoplanarReferenceRings  = false)
        {
            switch (zComparisonMethod)
            {
            case ZComparisonMethod.BoundingBox:
                return(new ZDifferenceStrategyBoundingBox(
                           minimumZDifference, minimumZDifferenceExpression,
                           maximumZDifference, maximumZDifferenceExpression,
                           zRelationConstraint, caseSensitivity,
                           errorReporting, formatComparisonFunction));

            case ZComparisonMethod.IntersectionPoints:
                return(new ZDifferenceStrategyIntersectionPoints(
                           minimumZDifference, minimumZDifferenceExpression,
                           maximumZDifference, maximumZDifferenceExpression,
                           zRelationConstraint, caseSensitivity,
                           errorReporting, formatComparisonFunction,
                           useDistanceFromPlane, coplanarityTolerance,
                           ignoreNonCoplanarReferenceRings
                           ));

            default:
                throw new ArgumentOutOfRangeException(
                          nameof(zComparisonMethod), zComparisonMethod,
                          $@"Unsupported ZComparisonMethod: {zComparisonMethod}");
            }
        }
Пример #7
0
        public QaZDifferenceOther(
            [Doc(nameof(DocStrings.QaZDifferenceOther_featureClasses))][NotNull]
            IList <IFeatureClass> featureClasses,
            [Doc(nameof(DocStrings.QaZDifferenceOther_relatedClasses))][NotNull]
            IList <IFeatureClass> relatedClasses,
            [Doc(nameof(DocStrings.QaZDifferenceOther_minimumZDifference))]
            double minimumZDifference,
            [Doc(nameof(DocStrings.QaZDifferenceOther_maximumZDifference))]
            double maximumZDifference,
            [Doc(nameof(DocStrings.QaZDifferenceOther_zComparisonMethod))]
            ZComparisonMethod zComparisonMethod,
            [Doc(nameof(DocStrings.QaZDifferenceOther_zRelationConstraint))][CanBeNull]
            string zRelationConstraint)
            : base(featureClasses, relatedClasses,
                   esriSpatialRelEnum.esriSpatialRelIntersects)
        {
            Assert.ArgumentNotNaN(minimumZDifference, nameof(minimumZDifference));
            Assert.ArgumentNotNaN(maximumZDifference, nameof(maximumZDifference));

            _minimumZDifference  = minimumZDifference;
            _maximumZDifference  = maximumZDifference;
            _zComparisonMethod   = zComparisonMethod;
            _zRelationConstraint = zRelationConstraint;
        }