Files
rez_demo/GL_STUFF/HEADERS/CURVES/Curve.hpp

22 lines
604 B
C++
Raw Normal View History

#pragma once
#include <vector>
#include <glm/glm.hpp>
using namespace std;
class Curve {
protected:
vector<glm::vec3> *controlPoints;
vector<float> *intervalBoundaries;
public:
Curve(vector<glm::vec3> *points, vector<float> *boundaries);
vector<glm::vec3>* getControlPoints();
void setControlPoints(vector<glm::vec3>* points);
vector<float>* getIntervalBoundaries();
void setIntervalBoundaries(vector<float>* boundaries);
virtual float getLeftBound();
virtual float getRightBound();
virtual glm::vec3 evaluate(float at) = 0;
virtual glm::vec3 derivate(float at) = 0;
};