Apply the graphic group transform in the boolean node (#1825)

This commit is contained in:
James Lindsay 2024-07-14 03:49:40 +01:00 committed by GitHub
parent dba0433100
commit 027d3f4e60
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -96,7 +96,13 @@ fn boolean_operation_node(graphic_group: GraphicGroup, boolean_operation: Boolea
fn collect_vector_data(graphic_group: &GraphicGroup) -> Vec<VectorData> {
// Ensure all non vector data in the graphic group is converted to vector data
graphic_group.iter().map(union_vector_data).collect::<Vec<_>>()
let vector_data = graphic_group.iter().map(union_vector_data);
// Apply the transform from the parent graphic group
let transformed_vector_data = vector_data.map(|mut vector_data| {
vector_data.transform = graphic_group.transform * vector_data.transform;
vector_data
});
transformed_vector_data.collect::<Vec<_>>()
}
fn subtract<'a>(vector_data: impl Iterator<Item = &'a VectorData>) -> VectorData {