Skip to content
This repository was archived by the owner on Sep 28, 2022. It is now read-only.

System Design Overview

Mark Gray edited this page Jan 5, 2017 · 3 revisions

The SWMM and EPANET user interface applications are built using the same architecture and share many components. This document describes the architecture and the folder structure of the source code repository.

At the top level of the repository, source code is found inside the src folder. Inside src:

  • Externals: components needed by this project that are from or related to other projects

  • core: classes for accessing model inputs including reading and writing input files

    • files directly in this folder are shared between the two models
    • core/epanet: EPANET-specific classes for accessing model inputs
    • core/swmm: SWMM-specific classes for accessing model inputs
  • icons: small images for toolbar buttons

  • plugins: components of the user interface that can be loaded at runtime

  • scripts: examples of how user-created Python scripts can automate tasks

  • ui: the main application including all the windows in the user interface

    • files directly in this folder are shared between the two models
    • ui/EPANET: EPANET-specific user interface components
    • ui/SWMM: SWMM-specific user interface components

Either application is launched by creating the model-specific main form: ui/EPANET/frmMainEPANET or ui/SWMM/frmMainSWMM. Both of these inherit from ui/frmMain

Clone this wiki locally