Class: GDAL::Transformers::ReprojectionTransformer

Inherits:
Object
  • Object
show all
Defined in:
lib/gdal/transformers/reprojection_transformer.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source_wkt, destination_wkt) ⇒ ReprojectionTransformer

Returns a new instance of ReprojectionTransformer.

Parameters:



23
24
25
26
27
# File 'lib/gdal/transformers/reprojection_transformer.rb', line 23

def initialize(source_wkt, destination_wkt)
  pointer = FFI::GDAL::Alg.GDALCreateReprojectionTransformer(source_wkt, destination_wkt)

  @c_pointer = FFI::AutoPointer.new(pointer, ReprojectionTransformer.method(:release))
end

Instance Attribute Details

#c_pointerFFI::Pointer (readonly)

Returns C pointer to the C reprojection transformer.

Returns:

  • (FFI::Pointer)

    C pointer to the C reprojection transformer.



19
20
21
# File 'lib/gdal/transformers/reprojection_transformer.rb', line 19

def c_pointer
  @c_pointer
end

Class Method Details

.functionFFI::Pointer

Returns:

  • (FFI::Pointer)


7
8
9
# File 'lib/gdal/transformers/reprojection_transformer.rb', line 7

def self.function
  FFI::GDAL::Alg::ReprojectionTransform
end

.release(pointer) ⇒ Object

Parameters:

  • pointer (FFI::Pointer)


12
13
14
15
16
# File 'lib/gdal/transformers/reprojection_transformer.rb', line 12

def self.release(pointer)
  return unless pointer && !pointer.null?

  FFI::GDAL::Alg.GDALDestroyReprojectionTransformer(pointer)
end

Instance Method Details

#destroy!Object



29
30
31
32
33
# File 'lib/gdal/transformers/reprojection_transformer.rb', line 29

def destroy!
  ReprojectionTransformer.release(@c_pointer)

  @c_pointer = nil
end

#functionFFI::Pointer

Returns:

  • (FFI::Pointer)


36
37
38
# File 'lib/gdal/transformers/reprojection_transformer.rb', line 36

def function
  self.class.function
end