Class: StructuraidCore::DesignCodes::ACI31819::RC::Footings::PunchingCriticalSectionPerimeter

Inherits:
Object
  • Object
show all
Includes:
Utils::CodeRequirement
Defined in:
lib/structuraid_core/design_codes/aci_318_19/rc/footings/punching_critical_section_perimeter.rb

Constant Summary collapse

EDGES_INDEXES =
{
  top: { from: :top_right, to: :top_left },
  left: { from: :top_left, to: :bottom_left },
  bottom: { from: :bottom_left, to: :bottom_right },
  right: { from: :bottom_right, to: :top_right }
}.freeze

Instance Method Summary collapse

Methods included from Utils::CodeRequirement

included, #initialize

Instance Method Details

#callObject



19
20
21
22
23
24
25
26
27
# File 'lib/structuraid_core/design_codes/aci_318_19/rc/footings/punching_critical_section_perimeter.rb', line 19

def call
  column_location = footing.find_or_add_column_location(column_absolute_location, column_label)
  perimeter_vertices = build_initial_perimeter(column_location)

  edges_indexes = EDGES_INDEXES
  edges_indexes = select_edges_indexes_into_the_footing(edges_indexes, perimeter_vertices)
  edges_indexes = update_edges_indexes_vertices(edges_indexes, perimeter_vertices)
  compute_perimeter(edges_indexes, perimeter_vertices)
end