class Lutaml::Ea::Diagram::LayoutEngine
def apply_layout(elements, connectors = []) # rubocop:disable Metrics/MethodLength
-
(Array)- Elements with calculated positions
Parameters:
-
connectors(Array) -- Array of connectors -
elements(Array) -- Array of diagram elements
def apply_layout(elements, connectors = []) # rubocop:disable Metrics/MethodLength positioned_elements, unpositioned_elements = elements.partition do |e| e[:x] && e[:y] end # Apply force-directed layout for unpositioned elements if unpositioned_elements.any? positioned_elements += apply_force_directed_layout( unpositioned_elements, connectors, positioned_elements, ) end positioned_elements end