public static GeoAPIPrecisionModel ToGeoAPI(this PrecisionModelType model) { GeoAPIPrecisionModel geoAPIPrecisionModel; if (ConvertedPrecisionModels.TryGetValue(model, out geoAPIPrecisionModel)) { return(geoAPIPrecisionModel); } var geoService = GeoAPI.GeometryServiceProvider.Instance; switch (model) { case PrecisionModelType.Floating: geoAPIPrecisionModel = geoService.CreatePrecisionModel(GeoAPI.Geometries.PrecisionModels.Floating); break; case PrecisionModelType.FloatingSingle: geoAPIPrecisionModel = geoService.CreatePrecisionModel(GeoAPI.Geometries.PrecisionModels.FloatingSingle); break; case PrecisionModelType.Fixed: geoAPIPrecisionModel = geoService.CreatePrecisionModel(GeoAPI.Geometries.PrecisionModels.Fixed); break; } ConvertedPrecisionModels.Add(model, geoAPIPrecisionModel); return(geoAPIPrecisionModel); }
/// <summary> Creates a PrecisionModel that specifies /// an explicit precision model type. /// If the model type is FIXED the scale factor will default to 1. /// /// </summary> /// <param name="modelType">the type of the precision model /// </param> public PrecisionModel(PrecisionModelType modelType) { this.modelType = modelType; if (modelType == PrecisionModelType.Fixed) { this.Scale = 1.0; } }
/// <summary> /// Creates a <c>PrecisionModel</c> that specifies /// an explicit precision model type. /// If the model type is Fixed the scale factor will default to 1. /// </summary> /// <param name="modelType"> /// The type of the precision model. /// </param> public PrecisionModel(PrecisionModelType modelType) { _modelType = modelType; if (modelType == PrecisionModelType.Fixed) { _scale = 1.0; } }
/// <summary> /// Initializes a new instance of the <see cref="PrecisionModel" /> class. /// </summary> /// <param name="modelType">Type of the model.</param> public PrecisionModel(PrecisionModelType modelType) { this.ModelType = modelType; this.baseTolerance = 1 / Math.Pow(10, this.MaximumSignificantDigits - 1); if (modelType == PrecisionModelType.Fixed) { this.Scale = 1.0; this.baseTolerance = 0.5; } }
/// <summary> /// Creates a <c>PrecisionModel</c> with a default precision /// of Floating. /// </summary> public PrecisionModel() { // default is floating precision _modelType = PrecisionModelType.Floating; }
/// <summary> /// Copy constructor to create a new <c>PrecisionModel</c> /// from an existing one. /// </summary> /// <param name="pm"></param> public PrecisionModel(PrecisionModel pm) { _modelType = pm._modelType; _scale = pm._scale; }
/// <summary> /// Creates a <c>PrecisionModel</c> that specifies Fixed precision. /// Fixed-precision coordinates are represented as precise internal coordinates, /// which are rounded to the grid defined by the scale factor. /// </summary> /// <param name="scale"> /// Amount by which to multiply a coordinate after subtracting /// the offset, to obtain a precise coordinate. /// </param> public PrecisionModel(double scale) { _modelType = PrecisionModelType.Fixed; _scale = scale; }
/// <summary> /// Creates a <c>PrecisionModel</c> that specifies /// an explicit precision model type. /// If the model type is Fixed the scale factor will default to 1. /// </summary> /// <param name="modelType"> /// The type of the precision model. /// </param> public PrecisionModel(PrecisionModelType modelType) { _modelType = modelType; if (modelType == PrecisionModelType.Fixed) _scale = 1.0; }
/// <summary> /// Copy constructor to create a new PrecisionModel from an existing one. /// </summary> public PrecisionModel(PrecisionModel pm) { modelType = pm.modelType; scale = pm.scale; }
/// <summary> /// Creates a PrecisionModel that specifies Fixed precision. /// Fixed-precision coordinates are represented as precise internal coordinates, /// which are rounded to the grid defined by the scale factor. /// </summary> /// <param name="scale"> /// Amount by which to multiply a coordinate after subtracting the offset, /// to obtain a precise coordinate. /// </param> public PrecisionModel(double scale) { modelType = PrecisionModelType.Fixed; this.Scale = scale; }
public NtsPrecisionModel(PrecisionModelType modelType, int scale) { WrappedPrecisionModel = new PrecisionModel(scale); }