#pragma once #include "./Curve.hpp" class Bezier : public Curve { private: unsigned int order; protected: float evaluateBasisFunction(float at, int number, int order, float intervalLeft, float intervalRight); public: Bezier(unsigned int order, vector *points, vector *intervals); glm::vec3 evaluate(float at); glm::vec3 derivate(float at); }; class Bezier3Segments : public Bezier { public: Bezier3Segments( vector* points, vector* intervals); glm::vec3 evaluate(float at); glm::vec3 derivate(float at); float getLeftBound(); float getRightBound(); };