Class: Geometry::SizedSquare

Inherits:
Square
  • Object
show all
Defined in:
lib/geometry/square.rb

Overview

A Square created with an origin point and a size

Accessors collapse

Instance Attribute Summary collapse

Attributes inherited from Square

#closed?, #edges

Accessors collapse

Instance Method Summary collapse

Methods inherited from Square

#minmax, new, #vertices

Methods included from ClusterFactory

included

Constructor Details

#initialize(origin, size) ⇒ SizedSquare



198
199
200
201
# File 'lib/geometry/square.rb', line 198

def initialize(origin, size)
    @origin = Point[origin]
    @size = size
end

Instance Attribute Details

#centerObject



206
207
208
# File 'lib/geometry/square.rb', line 206

def center
    origin + size/2
end

#originPoint (readonly)



222
223
224
# File 'lib/geometry/square.rb', line 222

def origin
    @origin
end

#pointsArray<Point> (readonly)



228
229
230
231
232
233
234
235
# File 'lib/geometry/square.rb', line 228

def points
    minx = origin.x
    maxx = origin.x + size
    miny = origin.y
    maxy = origin.y + size

    [origin, Point[maxx, miny], Point[maxx, maxy], Point[minx,maxy]]
end

#sizeSize



194
195
196
# File 'lib/geometry/square.rb', line 194

def size
  @size
end

Instance Method Details

#heightNumber



238
239
240
# File 'lib/geometry/square.rb', line 238

def height
    @size
end

#maxPoint



211
212
213
# File 'lib/geometry/square.rb', line 211

def max
    origin + size
end

#minPoint



216
217
218
# File 'lib/geometry/square.rb', line 216

def min
    origin
end

#widthNumber



243
244
245
# File 'lib/geometry/square.rb', line 243

def width
    @size
end