12#ifndef WSFQUANTUMMATRIX_HPP
13#define WSFQUANTUMMATRIX_HPP
15#include "wsf_mil_export.h"
35 double Value(
size_t taskIndex,
size_t assetIndex) {
return mValues[taskIndex][assetIndex]; }
37 double Profit(
size_t taskIndex,
size_t assetIndex) {
return mProfits[taskIndex][assetIndex]; }
39 void SetAssets(std::vector<WsfAssetPerception*>& aAssets);
40 void SetTasks(std::vector<WsfQuantumTask*>& aTasks);
41 virtual void UpdateEvaluations(
double aSimTime,
WsfQuantumEvaluator& aEvaluator, std::vector<WsfLocalTrack*>& aPerception);
44 void EraseTask(
size_t taskIndex);
45 void RemoveTask(
size_t taskIndex);
46 void EraseAsset(
size_t assetIndex);
47 void RemoveAsset(
size_t assetIndex);
49 static void SetRow(std::vector<std::vector<double>>& m,
size_t aRow,
double aValue);
51 static void RemoveRow(std::vector<std::vector<double>>& m,
size_t aRow);
53 static void SetColumn(std::vector<std::vector<double>>& m,
size_t aCol,
double aValue);
55 static void RemoveColumn(std::vector<std::vector<double>>& m,
size_t aCol);
Definition WsfQuantumEvaluator.hpp:31
double Profit(size_t taskIndex, size_t assetIndex)
Definition WsfQuantumMatrix.hpp:37
double Value(size_t taskIndex, size_t assetIndex)
Definition WsfQuantumMatrix.hpp:35
std::vector< WsfQuantumTask * > mTasks
Definition WsfQuantumMatrix.hpp:59
WsfQuantumMatrix & operator=(const WsfQuantumMatrix &)
Definition WsfQuantumMatrix.cpp:33
WsfQuantumMatrix()=default
std::vector< std::vector< double > > & Profit()
Definition WsfQuantumMatrix.hpp:36
std::vector< WsfQuantumTask * > & Tasks()
Definition WsfQuantumMatrix.hpp:33
std::vector< std::vector< double > > mProfits
Definition WsfQuantumMatrix.hpp:61
std::vector< WsfAssetPerception * > mAssets
Definition WsfQuantumMatrix.hpp:58
std::vector< std::vector< double > > mValues
Definition WsfQuantumMatrix.hpp:60
std::vector< WsfAssetPerception * > & Assets()
Definition WsfQuantumMatrix.hpp:32
std::vector< std::vector< double > > & Values()
Definition WsfQuantumMatrix.hpp:34