geometry utilities

This commit is contained in:
Solomon W. 2020-06-04 13:48:01 -04:00
parent b1b1a7c772
commit 4508e7569c
4 changed files with 18 additions and 5 deletions

View File

@ -44,6 +44,10 @@ void Circle::render(SDL_Renderer *renderer) {
void Circle::setPosition(Vector vec) { void Circle::setPosition(Vector vec) {
center = vec; center = vec;
} }
float Circle::getOverlap(Circle c) {
return (c.center.distanceTo(center)-radius-c.radius)/2;
}
/* /*
bool Circle::isInitialized() { bool Circle::isInitialized() {
if(center.x == NULL) { if(center.x == NULL) {

View File

@ -29,6 +29,7 @@ class Circle {
void translate(Vector vec); void translate(Vector vec);
void setColor(Color c); void setColor(Color c);
void setPosition(Vector vec); void setPosition(Vector vec);
float getOverlap(Circle c);
//bool isInitialized(); //bool isInitialized();
}; };
#endif #endif

View File

@ -12,5 +12,11 @@ Vector::Vector() {
} }
int Vector::distanceTo(Vector vec) { int Vector::distanceTo(Vector vec) {
return sqrt(pow(abs(x - vec.x),2)+pow(abs(y - vec.y),2)); return sqrt(pow(abs(xDif(vec)),2)+pow(abs(yDif(vec)),2));
}
int Vector::xDif(Vector vec) {
return x-vec.x;
}
int Vector::yDif(Vector vec) {
return y-vec.y;
} }

View File

@ -6,5 +6,7 @@ class Vector {
Vector(); Vector();
Vector(float x, float y); Vector(float x, float y);
int distanceTo(Vector vec); int distanceTo(Vector vec);
int xDif(Vector vec);
int yDif(Vector vec);
}; };
#endif #endif