22 lines
604 B
C++
Executable File
22 lines
604 B
C++
Executable File
#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;
|
|
|
|
}; |