Class: Geometry::DiameterRegularPolygon

Inherits:
RegularPolygon show all
Defined in:
lib/geometry/regular_polygon.rb

Instance Attribute Summary collapse

Attributes inherited from RegularPolygon

#center, #edge_count

Attributes inherited from Polyline

#edges, #vertices

Accessors collapse

Instance Method Summary collapse

Methods inherited from RegularPolygon

#bounds, #edges, #max, #min, #minmax, new, #vertices

Methods included from ClusterFactory

included

Methods inherited from Polygon

#<=>, #clockwise?, #close, #convex, #outset, #outset_bisectors, #reverse, #reverse!, #spokes, #union, #wrap

Methods inherited from Polyline

#bisectors, #close, #close!, #closed?, #left_bisectors, #offset, #reverse, #reverse!, #right_bisectors, #rightset, #spokes

Constructor Details

#initialize(edge_count, center, diameter) ⇒ RegularPolygon

Construct a new RegularPolygon from a centerpoint and a diameter

Parameters:



118
119
120
121
122
# File 'lib/geometry/regular_polygon.rb', line 118

def initialize(edge_count, center, diameter)
    @center = center ? Point[center] : nil
    @edge_count = edge_count
    @diameter = diameter
end

Instance Attribute Details

#diameterNumber (readonly)

Returns The RegularPolygon‘s diameter.

Returns:



111
112
113
# File 'lib/geometry/regular_polygon.rb', line 111

def diameter
  @diameter
end

Instance Method Details

#eql?(other) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


124
125
126
# File 'lib/geometry/regular_polygon.rb', line 124

def eql?(other)
    (self.center == other.center) && (self.edge_count == other.edge_count) && (self.diameter == other.diameter)
end

#radiusNumber

Returns The RegularPolygon‘s radius.

Returns:



131
132
133
# File 'lib/geometry/regular_polygon.rb', line 131

def radius
    @diameter/2
end