very, very simple WP with midi CC out
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
#pragma once
|
||||
|
||||
#include <math.h>
|
||||
|
||||
// 2D Vectors
|
||||
|
||||
template<typename T>
|
||||
class Vec2D{
|
||||
public:
|
||||
|
||||
Vec2D() {};
|
||||
Vec2D(T x, T y) : x(x), y(y) {}
|
||||
T x = 0;
|
||||
T y = 0;
|
||||
T dist(Vec2D* v) { return sqrt(pow((v->x - x), 2) + pow((v->y - y), 2));};
|
||||
T length() { return sqrt(pow(x, 2) + pow(y, 2));};
|
||||
|
||||
Vec2D& norm() { return *this * (1.0/length());};
|
||||
|
||||
Vec2D& operator=(const Vec2D& vec){
|
||||
if (this == &vec){
|
||||
return *this;
|
||||
}
|
||||
x = vec.x;
|
||||
y = vec.y;
|
||||
return *this;
|
||||
};
|
||||
|
||||
Vec2D& operator+=(const Vec2D& vec){
|
||||
this->x += vec.x;
|
||||
this->y += vec.y;
|
||||
return *this;
|
||||
};
|
||||
|
||||
friend Vec2D operator+(const Vec2D& left, const Vec2D& right){
|
||||
return Vec2D(left.x + right.x, left.y + right.y);
|
||||
};
|
||||
|
||||
Vec2D& operator-=(const Vec2D& vec){
|
||||
this->x -= vec.x;
|
||||
this->y -= vec.y;
|
||||
return *this;
|
||||
};
|
||||
|
||||
friend Vec2D operator-(const Vec2D& left, const Vec2D& right){
|
||||
return Vec2D(left.x - right.x, left.y - right.y);
|
||||
};
|
||||
|
||||
Vec2D& operator*(const Vec2D& vec){
|
||||
this->x *= vec.x;
|
||||
this->y *= vec.y;
|
||||
return *this;
|
||||
};
|
||||
|
||||
Vec2D& operator*(T scalar){
|
||||
this->x *= scalar;
|
||||
this->y *= scalar;
|
||||
return *this;
|
||||
};
|
||||
};
|
||||
|
||||
struct Color{
|
||||
int r;
|
||||
int g;
|
||||
int b;
|
||||
};
|
||||
Reference in New Issue
Block a user