Files
cpp/src/motions/rjoac.h
2026-03-08 11:28:02 +01:00

28 lines
782 B
C++

#ifndef RJOAC_H
#define RJOAC_H
#include "base.h"
#include "coordinates.h"
namespace motions {
class RandomJumpOnCone final: public BaseMotion {
public:
RandomJumpOnCone(double, double, double);
RandomJumpOnCone();
void initialize(std::mt19937_64& rng) override;
double jump(std::mt19937_64& rng) override;
[[nodiscard]] std::unique_ptr<BaseMotion> clone() const override;
void setParameters(const std::unordered_map<std::string, double> &) override;
[[nodiscard]] std::unordered_map<std::string, double> getParameters() const override;
[[nodiscard]] std::string toString() const override;
private:
double m_angle{0};
coordinates::SphericalPos m_axis{1, 0};
};
}
#endif //RJOAC_H