Sha256: f8808c797fbe1bb65e273cff2db0110d2e6bcca41e4f700dd638bce4e10cdd95

Contents?: true

Size: 1.22 KB

Versions: 16

Compression:

Stored size: 1.22 KB

Contents

require_relative '../line'
require_relative '../base_element'
require_relative 'skewb_grid.rb'
require_relative 'right_element_factory.rb'

module GridGenerator
  module Skewb
    class RightSkewbGrid < Skewb::SkewbGrid
      def factory_class
        GridGenerator::Skewb::RightElementFactory
      end
  
      def border_points
        [
          [ x, y + side_size*units ],
          [ x + side_size*2*units, y ],
          [ x + side_size*2*units, y + side_size*2*units ],
          [ x, y + side_size*3*units ]
        ]
      end 
  
      def rows
        Array.new(side_size) do |i|
          a = Matrix.column_vector([
            x + (2*i)*units,
            y + (i+4)*units,
          ])

          b = Matrix.column_vector([
            x + (2*i+2)*units,
            y + (i+1)*units
          ])

          GridGenerator::Line.new(a: a, b: b) 
        end
      end
  
      def columns
        Array.new(side_size) do |i|
          a = Matrix.column_vector([
            x + (2*i)*units,
            y + (-3*i+4)*units,
          ])

          b = Matrix.column_vector([
            x + (i+1)*2*units,
            y + (-3*i+5)*units
          ])

          GridGenerator::Line.new(a: a, b: b) 
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
grid_generator-0.3.0 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.24 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.23 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.22 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.21 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.20 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.19 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.18 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.17 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.16 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.15 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.14 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.13 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.12 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.11 lib/grid_generator/skewb/right_skewb_grid.rb
grid_generator-0.2.10 lib/grid_generator/skewb/right_skewb_grid.rb