Shape can now be created without points

This commit is contained in:
Sara 2023-10-25 20:27:19 +02:00
parent 043d93a6ae
commit 640d12ab18

View file

@ -69,12 +69,17 @@ Shape* shape_new(const Vector* points, size_t points_len) {
self->points = list_from_type(Vector);
list_reserve(&self->points, points_len);
if(points != NULL) {
memcpy(list_iterator_begin_as(Vector, &self->points), points, points_len * sizeof(Vector));
self->points.len = points_len;
// derive metadata
self->mean = _shape_calculate_mean(self);
self->is_convex = _shape_calculate_is_convex(self);
} else {
self->is_convex = 1;
self->mean = ZeroVector;
}
return self;
}