Sha256: 151d4f6efe023547d9014ded2eae04566fa286c7df38971069a8ac7e69e569c2

Contents?: true

Size: 1.92 KB

Versions: 4

Compression:

Stored size: 1.92 KB

Contents

require 'ffi'
require_relative 'rect_obj'
require_relative '../../ext/ffi_library_function_checks'

module FFI
  module CPL
    module QuadTree
      extend ::FFI::Library
      ffi_lib [FFI::CURRENT_PROCESS, FFI::GDAL.gdal_library_path]

      #-------------------------------------------------------------------------
      # Typedefs
      #-------------------------------------------------------------------------
      callback :CPLQuadTreeGetBoundsFunc, [:pointer, RectObj.ptr], :void
      callback :CPLQuadTreeForeachFunc, %i[pointer pointer], :int
      callback :CPLQuadTreeDumpFeatureFunc, %i[pointer int pointer], :void

      # Taking liberties here...
      typedef :pointer, :CPLQuadTreeH

      #-------------------------------------------------------------------------
      # Functions
      #-------------------------------------------------------------------------
      attach_function :CPLQuadTreeCreate,
        [RectObj.ptr, :CPLQuadTreeGetBoundsFunc],
        :CPLQuadTreeH
      attach_function :CPLQuadTreeDestroy, %i[CPLQuadTreeH], :void
      attach_function :CPLQuadTreeSetBucketCapacity,
        %i[CPLQuadTreeH int],
        :void
      attach_function :CPLQuadTreeGetAdvisedMaxDepth, %i[int], :int
      attach_function :CPLQuadTreeSetMaxDepth, %i[CPLQuadTreeH int], :void
      attach_function :CPLQuadTreeInsert, %i[CPLQuadTreeH pointer], :void
      attach_function :CPLQuadTreeInsertWithBounds,
        [:CPLQuadTreeH, :pointer, RectObj.ptr],
        :void
      attach_function :CPLQuadTreeSearch,
        [:CPLQuadTreeH, RectObj.ptr, :pointer],
        :void
      attach_function :CPLQuadTreeForeach,
        %i[CPLQuadTreeH CPLQuadTreeForeachFunc pointer],
        :void
      attach_function :CPLQuadTreeDump,
        %i[CPLQuadTreeH CPLQuadTreeDumpFeatureFunc pointer],
        :void
      attach_function :CPLQuadTreeGetStats,
        %i[CPLQuadTreeH pointer pointer pointer pointer],
        :void
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ffi-gdal-1.0.0.beta7 lib/ffi/cpl/quad_tree.rb
ffi-gdal-1.0.0.beta6 lib/ffi/cpl/quad_tree.rb
ffi-gdal-1.0.0.beta5 lib/ffi/cpl/quad_tree.rb
ffi-gdal-1.0.0.beta4 lib/ffi/cpl/quad_tree.rb