OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches

Abstract coupling point between a 1D SWMM object and a 2D mesh cell. More...

#include <SpatialFrame.hpp>

Collaboration diagram for openswmm::ICouplingPoint:

Public Member Functions

virtual ~ICouplingPoint ()=default
 Destroy the concrete coupling point through its interface.
 
virtual int object_index () const noexcept=0
 Identify the referenced 1D object within its type-specific table.
 
virtual const char * object_type () const noexcept=0
 Identify the referenced 1D object category.
 
virtual void exchange_to_2d (double value)=0
 Deliver a 1D-side sample to the concrete coupling implementation.
 
virtual double receive_from_2d () const =0
 Read the sample provided by the concrete 2D coupling implementation.
 

Detailed Description

Abstract coupling point between a 1D SWMM object and a 2D mesh cell.

This will be implemented by the 2D SWMM component to register exchange points. The 1D engine does not depend on the 2D implementation — coupling is always optional.

Constructor & Destructor Documentation

◆ ~ICouplingPoint()

virtual openswmm::ICouplingPoint::~ICouplingPoint ( )
virtualdefault

Destroy the concrete coupling point through its interface.

SpatialFrame stores non-owning pointers and never invokes this destructor on registration or destruction.

Member Function Documentation

◆ exchange_to_2d()

virtual void openswmm::ICouplingPoint::exchange_to_2d ( double value)
pure virtual

Deliver a 1D-side sample to the concrete coupling implementation.

This abstract interface imposes no clock, ownership, synchronization or conservation policy.

Parameters
[in]valueSample whose physical quantity, units and sign convention are defined by that implementation.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ object_index()

virtual int openswmm::ICouplingPoint::object_index ( ) const
pure virtualnoexcept

Identify the referenced 1D object within its type-specific table.

Returns
Zero-based object index interpreted according to object_type(); validity is the implementer's responsibility.

◆ object_type()

virtual const char * openswmm::ICouplingPoint::object_type ( ) const
pure virtualnoexcept

Identify the referenced 1D object category.

Returns
Borrowed category token such as NODE, LINK or SUBCATCH; pointer lifetime is defined by the implementation.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receive_from_2d()

virtual double openswmm::ICouplingPoint::receive_from_2d ( ) const
pure virtual

Read the sample provided by the concrete 2D coupling implementation.

Returns
Sample in the quantity/units defined by the concrete implementation; no clock advancement is prescribed by this interface.
Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following file: