1234567891011121314151617181920212223242526272829303132 |
- #ifndef MDD_IINPUT_H
- #define MDD_IINPUT_H
- //#include "json.hpp"
- #include <memory>
- #include "IInteractive.h"
- #include "IOutput.h"
- #include <vector>
- namespace mdd{
- struct limits {
- std::vector<double> min;
- std::vector<double> max;
- std::vector<double> step;
- std::string rule;
- std::vector<std::vector<double>> elements;
- };
- class IInput
- : public IInteractive<IOutput>
- {
- public:
- typedef std::shared_ptr<IInput> Ptr;
- virtual const std::shared_ptr<limits> getLimits() = 0;
- virtual std::shared_ptr<limits>& setLimits() = 0;
- virtual std::shared_ptr<IOutput> getConnection() = 0;
- virtual ~IInput() = default;
- int removeConnection(std::shared_ptr<IOutput> output = nullptr) = 0;
- };
- }
- #endif
|