Did not implement edge based collision (performance concerns) merged other modifications
This commit is contained in:
commit
256fef97d9
|
@ -141,6 +141,10 @@ void shape_insert_point(Shape* self, size_t at, Vector point) {
|
|||
list_insert(&self->points, &point, at);
|
||||
}
|
||||
|
||||
List* shape_get_points(Shape* self) {
|
||||
return &self->points;
|
||||
}
|
||||
|
||||
Vector shape_remove_point(Shape* self, size_t at) {
|
||||
Vector point = *list_at_as(Vector, &self->points, at);
|
||||
list_erase(&self->points, at);
|
||||
|
|
|
@ -120,6 +120,10 @@ Vector vrotatef(Vector a, float t) {
|
|||
};
|
||||
}
|
||||
static inline
|
||||
float vanglebetweenf(Vector a, Vector b) {
|
||||
return vdotf(a, b) / (vmagnitudef(a) * vmagnitudef(b));
|
||||
}
|
||||
static inline
|
||||
Vector vprojectf(Vector onto, Vector from) {
|
||||
float dot = vdotf(onto, from);
|
||||
return vmulff(onto, dot);
|
||||
|
|
Loading…
Reference in a new issue