private static GaiaImport SetGaiaGeoParseFunctions(GaiaGeoEndianMarker gaiaGeoEndianMarker, Ordinates handleOrdinates) { var conversionNeeded = false; switch (gaiaGeoEndianMarker) { case GaiaGeoEndianMarker.GAIA_LITTLE_ENDIAN: if (!BitConverter.IsLittleEndian) conversionNeeded = true; break; case GaiaGeoEndianMarker.GAIA_BIG_ENDIAN: if (BitConverter.IsLittleEndian) conversionNeeded = true; break; default: /* unknown encoding; nor litte-endian neither big-endian */ throw new ArgumentOutOfRangeException("gaiaGeoEndianMarker"); } return GaiaImport.Create(conversionNeeded, handleOrdinates); }
private static GaiaExport SetGaiaGeoExportFunctions(GaiaGeoEndianMarker gaiaGeoEndianMarker, bool hasZ, bool hasM, bool useCompression) { var conversionNeeded = false; switch (gaiaGeoEndianMarker) { case GaiaGeoEndianMarker.GAIA_LITTLE_ENDIAN: if (!BitConverter.IsLittleEndian) conversionNeeded = true; break; case GaiaGeoEndianMarker.GAIA_BIG_ENDIAN: if (BitConverter.IsLittleEndian) conversionNeeded = true; break; default: /* unknown encoding; nor litte-endian neither big-endian */ return null; } var gaiaExport = GaiaExport.Create(conversionNeeded); gaiaExport.SetCoordinateType(hasZ, hasM, useCompression); return gaiaExport; }