public QaNoBoundaryLoops( [Doc(nameof(DocStrings.QaNoBoundaryLoops_polygonClass))][NotNull] IFeatureClass polygonClass, [Doc(nameof(DocStrings.QaNoBoundaryLoops_errorGeometry))] BoundaryLoopErrorGeometry errorGeometry, [Doc(nameof(DocStrings.QaNoBoundaryLoops_areaRelation))] BoundaryLoopAreaRelation areaRelation, [Doc(nameof(DocStrings.QaNoBoundaryLoops_areaLimit))] double areaLimit) : base((ITable)polygonClass) { Assert.ArgumentNotNull(polygonClass, nameof(polygonClass)); Assert.ArgumentCondition( polygonClass.ShapeType == esriGeometryType.esriGeometryPolygon || polygonClass.ShapeType == esriGeometryType.esriGeometryMultiPatch, "polygon or multipatch feature class expected"); _errorGeometry = errorGeometry; _areaRelation = areaRelation; _areaLimit = areaLimit; _shapeFieldName = polygonClass.ShapeFieldName; _shapeType = polygonClass.ShapeType; _spatialReference = ((IGeoDataset)polygonClass).SpatialReference; double xyTolerance = GeometryUtils.GetXyResolution(polygonClass); _xyTolerance = xyTolerance; }
private static IssueCode GetAreaRelationIssueCode( BoundaryLoopAreaRelation areaRelation) { switch (areaRelation) { case BoundaryLoopAreaRelation.IgnoreSmallerOrEqual: return(Codes[Code.BoundaryLoop_AreaLargerThanLimit]); case BoundaryLoopAreaRelation.IgnoreLarger: return(Codes[Code.BoundaryLoop_AreaSmallerThanLimit]); default: throw new ArgumentOutOfRangeException(); } }