The NetSignalGroupController class represents a controller for handling network signal groups in a simulation.  
 More...
#include <netsignalgroupcontroller.h>
The NetSignalGroupController class represents a controller for handling network signal groups in a simulation. 
◆ NetSignalGroupController()
      
        
          | NetSignalGroupController::NetSignalGroupController | ( | std::set< std::shared_ptr< NetNode > > | nodes | ) |  | 
      
 
Constructor. 
- Parameters
- 
  
    | nodes | The set of nodes confined by this group controller. |  
 
 
 
◆ addNode()
      
        
          | void NetSignalGroupController::addNode | ( | std::shared_ptr< NetNode > | node | ) |  | 
      
 
Adds a node to the group controller. 
- Parameters
- 
  
  
 
 
◆ clear()
      
        
          | void NetSignalGroupController::clear | ( |  | ) |  | 
      
 
Clears the controller to its initial state. 
 
 
◆ getFeedback()
      
        
          | std::pair< std::shared_ptr< NetSignal >, Vector< std::shared_ptr< NetSignal > > > NetSignalGroupController::getFeedback | ( |  | ) |  | 
      
 
Gets the feedback on which signals should be turned on/off. 
- Returns
- A pair of the locked network signal and the signals to be turned off. 
 
 
◆ sendPassRequestToControlTo()
      
        
          | void NetSignalGroupController::sendPassRequestToControlTo | ( | std::shared_ptr< NetSignal > | networkSignal, | 
        
          |  |  | double & | simulationTime, | 
        
          |  |  | Vector< std::shared_ptr< NetSignal > > & | sameDirectionSignals | 
        
          |  | ) |  |  | 
      
 
Sends a pass request to control a specific network signal. 
- Parameters
- 
  
    | networkSignal | The network signal to control. |  | simulationTime | The current simulation time. |  | sameDirectionSignals | The signals in the same direction as the train. |  
 
 
 
◆ setSignalsInSameDirection()
      
        
          | void NetSignalGroupController::setSignalsInSameDirection | ( | Vector< std::shared_ptr< NetSignal > > | sameDirectionSignals | ) |  | 
      
 
Sets the signals in the same direction as the train. 
- Parameters
- 
  
    | sameDirectionSignals | The signals in the same direction. |  
 
 
 
◆ updateTimeStep()
      
        
          | void NetSignalGroupController::updateTimeStep | ( | double & | timeStep | ) |  | 
      
 
Updates the controller state based on the time step. 
- Parameters
- 
  
  
 
 
◆ operator<<
Overloaded ostream operator for printing the NetSignalGroupController object. 
- Parameters
- 
  
  
- Returns
- The output stream object. 
 
 
◆ atNodes
      
        
          | Vector<std::shared_ptr<NetNode> > NetSignalGroupController::atNodes | 
      
 
The nodes confined by this group controller. 
 
 
◆ confinedLinks
      
        
          | Vector<std::shared_ptr<NetLink> > NetSignalGroupController::confinedLinks | 
      
 
The confined links in the group. 
 
 
◆ lockedOnSignal
      
        
          | std::shared_ptr<NetSignal> NetSignalGroupController::lockedOnSignal | 
      
 
The locked network signal. 
 
 
◆ movements
      
        
          | Map<std::shared_ptr<NetSignal>, bool> NetSignalGroupController::movements | 
      
 
The movement status of the signals. 
 
 
◆ networkSignalsGroup
      
        
          | Vector<std::shared_ptr<NetSignal> > NetSignalGroupController::networkSignalsGroup | 
      
 
The network signals in the group. 
 
 
◆ otherDirectionSignals
      
        
          | Vector<std::shared_ptr<NetSignal> > NetSignalGroupController::otherDirectionSignals | 
      
 
The signals in the opposite direction. 
 
 
◆ timeStamp
      
        
          | double NetSignalGroupController::timeStamp | 
      
 
The timestamp of the controller.