Sha256: e942bfc220540a6534438983630913975ab015820a56310089841d4ba599d1ba

Contents?: true

Size: 757 Bytes

Versions: 7

Compression:

Stored size: 757 Bytes

Contents

# frozen_string_literal: true
module Glitch3d
  module Duplication
    def alter_vertices(vertices_objects_array)
      iteration_number = 2
      res = []
      iteration_number.times do |_|
        res = copy_random_element(vertices_objects_array, iteration_number, CHUNK_SIZE)
      end
      res
    end

    def alter_faces(faces_objects_array, vertex_objects_array)
      faces_objects_array
    end

    def copy_random_element(collection, iteration_number, chunk_size)
      new_array = collection
      iteration_number.times do 
        rand1 = rand(0..collection.size - 1)
        rand2 = rand(0..collection.size - 1)
        new_array[rand1..rand1 + chunk_size] = new_array[rand2..rand2 + chunk_size]
      end
      new_array
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
glitch3d-0.2.2.2 lib/glitch3d/strategies/duplication.rb
glitch3d-0.2.2.1 lib/glitch3d/strategies/duplication.rb
glitch3d-0.2.1 lib/glitch3d/strategies/duplication.rb
glitch3d-0.2.0 lib/glitch3d/strategies/duplication.rb
glitch3d-0.1.9 lib/glitch3d/strategies/duplication.rb
glitch3d-0.1.8 lib/glitch3d/strategies/duplication.rb
glitch3d-0.1.7 lib/glitch3d/strategies/duplication.rb