mirror of
https://github.com/PoetryInCode/simple-rigid-sim.git
synced 2025-06-13 12:23:08 -04:00
geometry utilities
This commit is contained in:
parent
b1b1a7c772
commit
4508e7569c
@ -44,6 +44,10 @@ void Circle::render(SDL_Renderer *renderer) {
|
||||
void Circle::setPosition(Vector vec) {
|
||||
center = vec;
|
||||
}
|
||||
|
||||
float Circle::getOverlap(Circle c) {
|
||||
return (c.center.distanceTo(center)-radius-c.radius)/2;
|
||||
}
|
||||
/*
|
||||
bool Circle::isInitialized() {
|
||||
if(center.x == NULL) {
|
||||
@ -51,4 +55,4 @@ bool Circle::isInitialized() {
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
}*/
|
||||
|
@ -29,6 +29,7 @@ class Circle {
|
||||
void translate(Vector vec);
|
||||
void setColor(Color c);
|
||||
void setPosition(Vector vec);
|
||||
float getOverlap(Circle c);
|
||||
//bool isInitialized();
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
@ -12,5 +12,11 @@ Vector::Vector() {
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -6,5 +6,7 @@ class Vector {
|
||||
Vector();
|
||||
Vector(float x, float y);
|
||||
int distanceTo(Vector vec);
|
||||
int xDif(Vector vec);
|
||||
int yDif(Vector vec);
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user