WSF
WsfClassificationProcessor.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFCLASSIFICATIONPROCESSOR_HPP
13#define WSFCLASSIFICATIONPROCESSOR_HPP
14
15#include "wsf_mil_export.h"
16
17#include <string>
18
20#include "WsfStringId.hpp"
21#include "WsfTrack.hpp"
23
24
28class WSF_MIL_EXPORT TrackAccessor
29{
30public:
31 TrackAccessor() = default;
32 virtual ~TrackAccessor() = default;
33
34 std::string GetTrueType() const { return mTrack == nullptr ? "???" : mTrack->GetTargetType().GetString(); }
35
36 // int GetTrueTypeID() const
37 //{
38 // return mTrack == 0 ? -1 : UtStringId::UnsafeGetNumber(mTrack->GetTargetType());
39 // }
40 WsfStringId GetTrueTypeID() const { return mTrack == nullptr ? WsfStringId() : mTrack->GetTargetType(); }
41
42 void SetTrack(const WsfTrack& aTrack) { mTrack = &aTrack; }
43
44protected:
45 const WsfTrack* mTrack = nullptr;
46};
47
48
50{
54 {
56 {
57 return i->mTypeScore > j->mTypeScore;
58 }
60 {
61 return i.mTypeScore > j.mTypeScore;
62 }
63 };
64
66 double mTypeScore;
67};
68using ClassificationReportList = std::vector<ClassificationReport>;
69
70
77{
78public:
79 // Let the vector allocate memory
80 // static void PrintClassList(ClassificationReportList& ClassificationReportList, int aTrueEntityType = -1);
82
87
88 WsfProcessor* Clone() const override { return new WsfClassificationProcessor(*this); }
89
90 bool ProcessInput(UtInput& aInput) override;
91 bool Initialize(double aSimTime) override;
92
93 bool ProcessMessage(double aSimTime, const WsfMessage& aMessage) override;
94
95 void CreateClassList(const WsfTrack& aTrack, ClassificationReportList& aClassificationReportList) const;
96
97private:
98 WsfTrackClassifier* mClassifier = nullptr;
99 bool mTest = false;
100};
101
102#endif
std::vector< ClassificationReport > ClassificationReportList
Definition WsfClassificationProcessor.hpp:68
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
void SetTrack(const WsfTrack &aTrack)
Definition WsfClassificationProcessor.hpp:42
virtual ~TrackAccessor()=default
std::string GetTrueType() const
Definition WsfClassificationProcessor.hpp:34
TrackAccessor()=default
const WsfTrack * mTrack
Definition WsfClassificationProcessor.hpp:45
WsfStringId GetTrueTypeID() const
Definition WsfClassificationProcessor.hpp:40
static void PrintClassList(ClassificationReportList &ClassificationReportList, WsfStringId aTrueEntityType)
Definition WsfClassificationProcessor.cpp:159
WsfClassificationProcessor & operator=(const WsfClassificationProcessor &)=delete
WsfClassificationProcessor(WsfScenario &aScenario)
Definition WsfClassificationProcessor.cpp:36
WsfProcessor * Clone() const override
Definition WsfClassificationProcessor.hpp:88
WsfLinkedProcessor(WsfScenario &aScenario)
Definition WsfLinkedProcessor.cpp:19
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfTrackClassifier.hpp:26
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Used for sorting the list : 0.9, 0.7, 0.69, ...
Definition WsfClassificationProcessor.hpp:54
bool operator()(const ClassificationReport *i, const ClassificationReport *j)
Definition WsfClassificationProcessor.hpp:55
bool operator()(const ClassificationReport &i, const ClassificationReport &j)
Definition WsfClassificationProcessor.hpp:59
Definition WsfClassificationProcessor.hpp:50
WsfStringId mEntityTypeId
Definition WsfClassificationProcessor.hpp:65
double mTypeScore
Definition WsfClassificationProcessor.hpp:66
Copyrights Multiple, All Rights Reserved