Class: Pulo::Sphere

Inherits:
Object
  • Object
show all
Includes:
Figure3D
Defined in:
lib/pulo/figure/figure3d.rb

Instance Attribute Summary collapse

Attributes included from Figure3D

#surfacearea, #volume

Instance Method Summary collapse

Methods included from Quantity_Checker

#quantity_check

Constructor Details

#initialize(radius: nil, diameter: nil, volume: nil) ⇒ Sphere

Returns a new instance of Sphere.


12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/pulo/figure/figure3d.rb', line 12

def initialize(radius: nil, diameter: nil, volume: nil)
  quantity_check [radius,Length] ,[diameter,Length], [volume, Volume]
  raise "Need more arguments for Sphere" unless volume || diameter || radius
  if volume
    @volume=volume
    @radius=(@volume*3/(Angle.pi*4)).rt(3)
    @diameter=@radius*2
  else
    if diameter
      @diameter=diameter
      @radius=@diameter/2
    else
      @radius=radius
      @diameter=@radius*2
    end
    @volume=(@radius**3)*(4.0/3.0)*Angle.pi
  end
  @surfacearea=@radius**2*(4*Angle.pi)
end

Instance Attribute Details

#diameterObject (readonly)

Returns the value of attribute diameter.


11
12
13
# File 'lib/pulo/figure/figure3d.rb', line 11

def diameter
  @diameter
end

#radiusObject (readonly)

Returns the value of attribute radius.


11
12
13
# File 'lib/pulo/figure/figure3d.rb', line 11

def radius
  @radius
end