Class: GDAL::Transformers::ApproximateTransformer

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_transformer, max_error) ⇒ ApproximateTransformer

Returns a new instance of ApproximateTransformer.

Parameters:

  • base_transformer (GDAL::Transformer)
  • max_error (Float)

    The maximum cartesian error in the “output” space that will be accepted in the linear approximation.



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/gdal/transformers/approximate_transformer.rb', line 24

def initialize(base_transformer, max_error)
  base_transformer_function = base_transformer.function
  transformer_arg_ptr = base_transformer.c_pointer

  pointer = FFI::GDAL::Alg.GDALCreateApproxTransformer(
    base_transformer_function,
    transformer_arg_ptr,
    max_error
  )

  @c_pointer = FFI::AutoPointer.new(pointer, ApproximateTransformer.method(:destroy))
end

Instance Attribute Details

#c_pointerFFI::Pointer (readonly)

Returns:

  • (FFI::Pointer)


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

def c_pointer
  @c_pointer
end

Class Method Details

.functionFFI::Function

Returns:

  • (FFI::Function)


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

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

.release(pointer) ⇒ Object

Parameters:

  • pointer (FFI::Pointer)


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

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

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

Instance Method Details

#destroy!Object



37
38
39
40
41
# File 'lib/gdal/transformers/approximate_transformer.rb', line 37

def destroy!
  ApproximateTransformer.destroy(@c_pointer)

  @c_pointer = nil
end

#functionFFI::Function

Returns:

  • (FFI::Function)


44
45
46
# File 'lib/gdal/transformers/approximate_transformer.rb', line 44

def function
  self.class.function
end

#owns_subtransformer(data, own_flag) ⇒ Object

Parameters:

  • data (FFI::Pointer)

    Pointer to the data that is passed to #function.

  • own_flag (Boolean)


51
52
53
# File 'lib/gdal/transformers/approximate_transformer.rb', line 51

def owns_subtransformer(data, own_flag)
  FFI::GDAL::Alg.GDALApproxTransformerOwnsSubtransformer(data, own_flag)
end