private Inverse(GeographicGeocentricTransformation geographicGeocentric, GeocentricGeographicTransformation geocentricGeographic, MolodenskyBadekasGeographicTransformation core) : base(geographicGeocentric, geocentricGeographic) { _core = core; Contract.Requires(core != null); Contract.Requires(core.MolodenskyBadekas.HasInverse); Contract.Requires(geographicGeocentric != null); Contract.Requires(geocentricGeographic != null); _mbInverse = _core.MolodenskyBadekas.GetInverse(); }
public static Inverse BuildInverse(MolodenskyBadekasGeographicTransformation core) { Contract.Requires(core != null); Contract.Requires(core.GeocentricToGeographic.HasInverse); Contract.Requires(core.GeographicToGeocentric.HasInverse); Contract.Ensures(Contract.Result <Inverse>() != null); var geographicGeocentric = core.GeocentricToGeographic.GetInverse(); Contract.Assume(core.GeographicToGeocentric.HasInverse); var geocentricGeographic = core.GeographicToGeocentric.GetInverse(); return(new Inverse(geographicGeocentric, geocentricGeographic, core)); }
public static Inverse BuildInverse(MolodenskyBadekasGeographicTransformation core) { Contract.Requires(core != null); Contract.Requires(core.GeocentricToGeographic.HasInverse); Contract.Requires(core.GeographicToGeocentric.HasInverse); Contract.Ensures(Contract.Result<Inverse>() != null); var geographicGeocentric = core.GeocentricToGeographic.GetInverse(); Contract.Assume(core.GeographicToGeocentric.HasInverse); var geocentricGeographic = core.GeographicToGeocentric.GetInverse(); return new Inverse(geographicGeocentric, geocentricGeographic, core); }