Module: KdTree

Defined in:
lib/ffi-kdtree/tree.rb,
lib/ffi-kdtree/finders.rb,
lib/ffi-kdtree/helpers.rb,
lib/ffi-kdtree/dimensions.rb,
lib/ffi-kdtree/data_conversion.rb

Defined Under Namespace

Modules: DataConversion, Dimensions, Finders, PointerHelpers Classes: Tree

Class Method Summary collapse

Class Method Details

.DimensionArray(size) ⇒ Object

Parameterized class factory for dimensional arrays that FFI can work with



37
38
39
40
41
42
43
44
45
46
# File 'lib/ffi-kdtree/dimensions.rb', line 37

def self.DimensionArray(size)
  Tree::DIMENSIONAL_ARRAY_CLASSES[size] ||= begin
    clazz = Class.new(FFI::Struct)
    clazz.class_eval do
      layout(:pos, [:double, size])
      def to_a; self[:pos].to_a end
    end
    clazz
  end
end