OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
oms::DirectedGraph Class Reference

#include <DirectedGraph.h>

Collaboration diagram for oms::DirectedGraph:
Collaboration graph

Public Member Functions

 DirectedGraph ()
 
 ~DirectedGraph ()
 
void clear ()
 
int addNode (const Connector &var)
 
void addEdge (const Connector &var1, const Connector &var2)
 
void dotExport (const std::string &filename)
 
void includeGraph (const DirectedGraph &graph, const ComRef &prefix)
 
const std::vector< oms_ssc_t > & getSortedConnections ()
 
const std::vector< Connector > & getNodes () const
 
const oms_ssc_tgetEdges () const
 

Private Member Functions

std::deque< std::vector< int > > getSCCs ()
 
void calculateSortedConnections ()
 
void strongconnect (int v, std::vector< std::vector< int > > G, int &index, int *d, int *low, std::stack< int > &S, bool *stacked, std::deque< std::vector< int > > &components)
 

Static Private Member Functions

static int getEdgeIndex (const oms_ssc_t &edges, int from, int to)
 

Private Attributes

std::vector< Connectornodes
 
oms_ssc_t edges
 
std::vector< std::vector< int > > G
 
std::vector< oms_ssc_tsortedConnections
 
bool sortedConnectionsAreValid
 

Constructor & Destructor Documentation

◆ DirectedGraph()

oms::DirectedGraph::DirectedGraph ( )

◆ ~DirectedGraph()

oms::DirectedGraph::~DirectedGraph ( )

Member Function Documentation

◆ addEdge()

void oms::DirectedGraph::addEdge ( const Connector var1,
const Connector var2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addNode()

int oms::DirectedGraph::addNode ( const Connector var)
Here is the caller graph for this function:

◆ calculateSortedConnections()

void oms::DirectedGraph::calculateSortedConnections ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear()

void oms::DirectedGraph::clear ( )
Here is the caller graph for this function:

◆ dotExport()

void oms::DirectedGraph::dotExport ( const std::string &  filename)
Here is the caller graph for this function:

◆ getEdgeIndex()

int oms::DirectedGraph::getEdgeIndex ( const oms_ssc_t edges,
int  from,
int  to 
)
staticprivate
Here is the caller graph for this function:

◆ getEdges()

const oms_ssc_t& oms::DirectedGraph::getEdges ( ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNodes()

const std::vector<Connector>& oms::DirectedGraph::getNodes ( ) const
inline
Here is the caller graph for this function:

◆ getSCCs()

std::deque< std::vector< int > > oms::DirectedGraph::getSCCs ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSortedConnections()

const std::vector< oms_ssc_t > & oms::DirectedGraph::getSortedConnections ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ includeGraph()

void oms::DirectedGraph::includeGraph ( const DirectedGraph graph,
const ComRef prefix 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ strongconnect()

void oms::DirectedGraph::strongconnect ( int  v,
std::vector< std::vector< int > >  G,
int &  index,
int *  d,
int *  low,
std::stack< int > &  S,
bool *  stacked,
std::deque< std::vector< int > > &  components 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ edges

oms_ssc_t oms::DirectedGraph::edges
private

◆ G

std::vector< std::vector<int> > oms::DirectedGraph::G
private

◆ nodes

std::vector<Connector> oms::DirectedGraph::nodes
private

◆ sortedConnections

std::vector< oms_ssc_t > oms::DirectedGraph::sortedConnections
private

◆ sortedConnectionsAreValid

bool oms::DirectedGraph::sortedConnectionsAreValid
private

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