# frozen_string_literal: true require_relative 'ffi-gdal' require_relative 'ogr/internal_helpers' require_relative 'ogr/exceptions' module OGR include InternalHelpers FFI::OGR::API.OGRRegisterAll def self.ogr_require(path) File.expand_path(path, __dir__) end # Autoload OGR Geometry object types. autoload :GeometryCollection, ogr_require('ogr/geometries/geometry_collection') autoload :GeometryCollection25D, ogr_require('ogr/geometries/geometry_collection_25d') autoload :LineString, ogr_require('ogr/geometries/line_string') autoload :LineString25D, ogr_require('ogr/geometries/line_string_25d') autoload :LinearRing, ogr_require('ogr/geometries/linear_ring') autoload :MultiLineString, ogr_require('ogr/geometries/multi_line_string') autoload :MultiLineString25D, ogr_require('ogr/geometries/multi_line_string_25d') autoload :MultiPoint, ogr_require('ogr/geometries/multi_point') autoload :MultiPoint25D, ogr_require('ogr/geometries/multi_point_25d') autoload :MultiPolygon, ogr_require('ogr/geometries/multi_polygon') autoload :MultiPolygon25D, ogr_require('ogr/geometries/multi_polygon_25d') autoload :NoneGeometry, ogr_require('ogr/geometries/none_geometry') autoload :Point, ogr_require('ogr/geometries/point') autoload :Point25D, ogr_require('ogr/geometries/point_25d') autoload :Polygon, ogr_require('ogr/geometries/polygon') autoload :Polygon25D, ogr_require('ogr/geometries/polygon_25d') autoload :UnknownGeometry, ogr_require('ogr/geometries/unknown_geometry') # Autoload core OGR types autoload :CoordinateTransformation, ogr_require('ogr/coordinate_transformation') autoload :DataSource, ogr_require('ogr/data_source') autoload :Driver, ogr_require('ogr/driver') autoload :Envelope, ogr_require('ogr/envelope') autoload :Feature, ogr_require('ogr/feature') autoload :FeatureDefinition, ogr_require('ogr/feature_definition') autoload :FieldDefinition, ogr_require('ogr/field_definition') autoload :Geometry, ogr_require('ogr/geometry') autoload :GeometryFieldDefinition, ogr_require('ogr/geometry_field_definition') autoload :Layer, ogr_require('ogr/layer') autoload :SpatialReference, ogr_require('ogr/spatial_reference') autoload :StyleTable, ogr_require('ogr/style_table') end