Class: Pulo::TrapezoidalPrism

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(face: nil, length: nil) ⇒ TrapezoidalPrism

Returns a new instance of TrapezoidalPrism.



153
154
155
156
157
158
159
160
161
162
163
# File 'lib/pulo/figure/figure3d.rb', line 153

def initialize(face: nil, length: nil)
  quantity_check [face,Trapezoid] ,[length,Length]
  raise 'TrapezoidalPrism needs a face and length.' unless face && length
  @face=face
  @length=length
  @volume=@face.area*@length
  @base_area=@face.base*@length
  @side_area=@face.side*@length
  @top_area=@face.top*@length
  @surfacearea=@face.area*2+@base_area+@top_area+@side_area*2
end

Instance Attribute Details

#base_areaObject (readonly)

Returns the value of attribute base_area.



152
153
154
# File 'lib/pulo/figure/figure3d.rb', line 152

def base_area
  @base_area
end

#faceObject (readonly)

Returns the value of attribute face.



151
152
153
# File 'lib/pulo/figure/figure3d.rb', line 151

def face
  @face
end

#lengthObject (readonly)

Returns the value of attribute length.



151
152
153
# File 'lib/pulo/figure/figure3d.rb', line 151

def length
  @length
end

#side_areaObject (readonly)

Returns the value of attribute side_area.



152
153
154
# File 'lib/pulo/figure/figure3d.rb', line 152

def side_area
  @side_area
end

#top_areaObject (readonly)

Returns the value of attribute top_area.



152
153
154
# File 'lib/pulo/figure/figure3d.rb', line 152

def top_area
  @top_area
end