Class: Sevgi::Geometry::Element
- Inherits:
-
Object
- Object
- Sevgi::Geometry::Element
- Defined in:
- lib/sevgi/geometry/element.rb
Instance Method Summary collapse
- #at(point = nil, dx: 0, dy: 0) ⇒ Object
- #bh ⇒ Object
- #box ⇒ Object
- #bw ⇒ Object
- #ignorable? ⇒ Boolean
- #position ⇒ Object
- #position! ⇒ Object
- #translate(dx: nil, dy: nil) ⇒ Object
Instance Method Details
#at(point = nil, dx: 0, dy: 0) ⇒ Object
6 |
# File 'lib/sevgi/geometry/element.rb', line 6 def at(point = nil, dx: 0, dy: 0) = translate(dx: F.dxp(position, point ||= position) + dx, dy: F.dyp(position, point) + dy) |
#bh ⇒ Object
10 |
# File 'lib/sevgi/geometry/element.rb', line 10 def bh = box.height |
#box ⇒ Object
8 |
# File 'lib/sevgi/geometry/element.rb', line 8 def box = raise(NoMethodError, "#{self.class}#box must be implemented") |
#bw ⇒ Object
12 |
# File 'lib/sevgi/geometry/element.rb', line 12 def bw = box.width |
#ignorable? ⇒ Boolean
14 |
# File 'lib/sevgi/geometry/element.rb', line 14 def ignorable?(...) = box.zero?(...) |
#position ⇒ Object
16 |
# File 'lib/sevgi/geometry/element.rb', line 16 def position = @position || Point.origin |
#position! ⇒ Object
18 |
# File 'lib/sevgi/geometry/element.rb', line 18 def position!(...) = position.approx(...) |
#translate(dx: nil, dy: nil) ⇒ Object
20 |
# File 'lib/sevgi/geometry/element.rb', line 20 def translate(dx: nil, dy: nil) = raise(NoMethodError, "#{self.class}#translate must be implemented") |