Class: Circle
- Inherits:
-
Object
- Object
- Circle
- Defined in:
- src/ruby/models/circle.rb,
mrb_doc/models/circle.rb
Overview
The Circle class is used for drawing circles.
Instance Attribute Summary collapse
- #colour ⇒ Colour
- #gradient ⇒ Colour
- #outline ⇒ Colour
- #radius ⇒ Float
- #thickness ⇒ Float
- #x ⇒ Float
- #y ⇒ Float
Class Method Summary collapse
-
.[](x, y, radius, colour = Colour::BLACK) ⇒ Circle
A short form way to create new Circle objects.
Instance Method Summary collapse
-
#draw ⇒ nil
Draws the Circle.
-
#initialize(x:, y:, radius:, colour: Colour::BLACK, outline: nil, thickness: 1, gradient: nil) ⇒ Circle
constructor
Creates a new instance of Circle.
- #overlaps?(other) ⇒ Boolean
-
#to_h ⇒ Hash
Return the Circle represented as a Hash.
Constructor Details
#initialize(x:, y:, radius:, colour: Colour::BLACK, outline: nil, thickness: 1, gradient: nil) ⇒ Circle
27 28 29 30 |
# File 'mrb_doc/models/circle.rb', line 27 def initialize(x:, y:, radius:, colour: Colour::BLACK, outline: nil, thickness: 1, gradient: nil) # mrb_Circle_initialize # src/mruby_integration/models/circle.cpp end |
Instance Attribute Details
#radius ⇒ Float
3 4 5 |
# File 'mrb_doc/models/circle.rb', line 3 def radius @radius end |
#thickness ⇒ Float
3 4 5 |
# File 'mrb_doc/models/circle.rb', line 3 def thickness @thickness end |
#x ⇒ Float
3 4 5 |
# File 'mrb_doc/models/circle.rb', line 3 def x @x end |
#y ⇒ Float
3 4 5 |
# File 'mrb_doc/models/circle.rb', line 3 def y @y end |
Class Method Details
Instance Method Details
#draw ⇒ nil
54 55 56 57 58 |
# File 'mrb_doc/models/circle.rb', line 54 def draw # mrb_Circle_draw # src/mruby_integration/models/circle.cpp nil end |
#overlaps?(other) ⇒ Boolean
85 86 87 88 89 90 91 92 93 94 |
# File 'src/ruby/models/circle.rb', line 85 def overlaps?(other) raise ArgumentError, "Must pass in a Vector2" unless other.is_a?(Vector2) x_distance = x - other.x y_distance = y - other.y distance = Math.sqrt((x_distance**2) + (y_distance**2)) distance <= radius end |
#to_h ⇒ Hash
Return the Circle represented as a Hash
42 43 44 45 46 47 48 49 50 51 52 |
# File 'src/ruby/models/circle.rb', line 42 def to_h { x: x, y: y, radius: radius, colour: colour&.to_h, thickness: thickness, outline: outline&.to_h, gradient: gradient&.to_h } end |