qtrocket/model/MotorModelDatabase.h
Travis Hunter e6bf1fea9b
Some checks failed
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc-13, g++-13, ubuntu-latest) (push) Has been cancelled
Revert "Merge pull request #20 from cthunter01/propagator"
This reverts commit 6280d9fb0184275843a8f4406c7293e41e65a639, reversing
changes made to 3c9c8b8c6a2b2e7430ff09efdc2cc0c1996b16ca.
2025-04-16 18:23:28 -06:00

54 lines
1.3 KiB
C++

#ifndef MOTORMODELDATABASE_H
#define MOTORMODELDATABASE_H
/// \cond
// C headers
// C++ headers
#include <vector>
// 3rd party headers
/// \endcond
// qtrocket headers
#include "model/MotorModel.h"
/**
* @brief The MotorModelDatabase class provides a storage and search mechanism for
* MotorModels
*/
class MotorModelDatabase
{
public:
/**
* @brief MotorModelDatabase constructor
*/
MotorModelDatabase();
/**
* @brief MotorModelDatabase destructor is defaulted
*/
~MotorModelDatabase() = default;
/**
* @brief findMotorsByManufacturer returns a vector of MotorModel from a given
* manufacturer
* @param manufacturer The manufacturer to search for
* @return vector of MotorModels from a given manufacturer
*/
std::vector<model::MotorModel> findMotorsByManufacturer(const std::string& manufacturer);
/**
* @brief findMotersByImpulseClass returns a vector of MotorModels with a given
* impulse class
* @param imClass Impulse class to search for
* @return vector of MotorModels with a given Impulse class
*/
std::vector<model::MotorModel> findMotersByImpulseClass(const std::string& imClass);
private:
std::vector<model::MotorModel> motors;
};
#endif // MOTORMODELDATABASE_H