DESERT 4.0.0
UwMissionCoordinatorModule Class Reference

#include <uwsc-mission-coordinator-module.h>

Inheritance diagram for UwMissionCoordinatorModule:
Inheritance graph
Collaboration diagram for UwMissionCoordinatorModule:
Collaboration graph

Classes

struct  AUV_stats
 
struct  Mine
 

Public Member Functions

 UwMissionCoordinatorModule ()
 
virtual ~UwMissionCoordinatorModule ()=default
 
virtual int command (int argc, const char *const *argv) override
 
virtual int recvSyncClMsg (ClMessage *m) override
 

Protected Types

typedef struct UwMissionCoordinatorModule::Mine Mine
 
typedef struct UwMissionCoordinatorModule::AUV_stats AUV_stats
 

Protected Member Functions

void removeMine (int id)
 
bool isTracked (Position *p) const
 

Protected Attributes

std::vector< AUV_statsauv_follower
 

Detailed Description

UwMissionCoordinatorModule class is used to manage AUV followers and to collect statistics about them.

Member Typedef Documentation

◆ AUV_stats

AUV_stats describes statistics about the AUV follower. It also contains ids of respectively the UwROV controller and UwTracker receiver module installed in the AUV leader.

◆ Mine

Mine describes a mine by its position and state.

Constructor & Destructor Documentation

◆ UwMissionCoordinatorModule()

UwMissionCoordinatorModule::UwMissionCoordinatorModule ( )

Default Constructor of UwMissionCoordinatorModule class.

◆ ~UwMissionCoordinatorModule()

virtual UwMissionCoordinatorModule::~UwMissionCoordinatorModule ( )
virtualdefault

Destructor of UwMissionCoordinatorModule class.

Member Function Documentation

◆ command()

int UwMissionCoordinatorModule::command ( int  argc,
const char *const *  argv 
)
overridevirtual

TCL command interpreter. It implements the following OTcl methods:

Parameters
argcNumber of arguments in argv.
argvArray of strings which are the command parameters (Note that argv[0] is the name of the object).
Returns
TCL_OK or TCL_ERROR whether the command has been dispatched successfully or not.

References auv_follower.

◆ isTracked()

bool UwMissionCoordinatorModule::isTracked ( Position *  p) const
protected

Check if the mine at received position is already tracked.

Parameters
Position*Pointer to mine position
Returns
bool True if the mine is already tracked false otherwise

References auv_follower.

Referenced by recvSyncClMsg().

◆ recvSyncClMsg()

int UwMissionCoordinatorModule::recvSyncClMsg ( ClMessage *  m)
overridevirtual

Recv syncronous cross layer messages to require an operation from another module.

Parameters
mPointer cross layer message
Returns
zero if successful

References auv_follower, CLMSG_CTR2MC_GETPOS, CLMSG_TRACK2MC_GETSTATUS, CLMSG_TRACK2MC_TRACKPOS, isTracked(), UwMissionCoordinatorModule::Mine::MINE_DETECTED, UwMissionCoordinatorModule::Mine::MINE_TRACKED, removeMine(), and ClMsgMc2CtrPosition::setRovDestination().

Here is the call graph for this function:

◆ removeMine()

void UwMissionCoordinatorModule::removeMine ( int  id)
protected

Send a signal to the AUV follower to inform it, that the mine it is detecting is removed.

Parameters
intID of the ROV sent to detect the mine

References auv_follower, UwMissionCoordinatorModule::Mine::MINE_REMOVED, and ClMsgMc2CtrStatus::setRovStatus().

Referenced by recvSyncClMsg().

Here is the call graph for this function:

Member Data Documentation

◆ auv_follower

std::vector<AUV_stats> UwMissionCoordinatorModule::auv_follower
protected

ROV followers info.

Referenced by command(), isTracked(), recvSyncClMsg(), and removeMine().


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