Method: Geometry::RegularPolygon#initialize

Defined in:
lib/geometry/regular_polygon.rb

#new(sides, center, radius) ⇒ RegularPolygon #new(sides, center, inradius) ⇒ RegularPolygon #new(sides, center, diameter) ⇒ RegularPolygon #new(sides, center, indiameter) ⇒ RegularPolygon

Returns A new Geometry::RegularPolygon object.

Overloads:

Raises:

  • (ArgumentError)


45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/geometry/regular_polygon.rb', line 45

def initialize(edge_count:nil, sides:nil, center:nil, radius:nil, diameter:nil, indiameter:nil, inradius:nil)
    @edge_count = edge_count || sides
    raise ArgumentError, "RegularPolygon requires an edge count" unless @edge_count

    raise ArgumentError, "RegularPolygon.new requires a radius or a diameter" unless diameter || indiameter || inradius || radius

    @center = center ? Point[center] : Point.zero
    @diameter = diameter
    @indiameter = indiameter
    @inradius = inradius
    @radius = radius
end