compas-dev / compas-dev/compas
More transformations of shapes
- Dominant language
- Python
- Stars
- 386
- Forks
- 122
- Avg merge
- 11d 46m
- Merged PRs (30d)
- 1
Description
Following up on #1489, it seems like using `.transform()` or `.transformed()` in any subclass of `compas.geometry.Shape` will result in the `scale` component of the transformation to be ignored, because only the shape's frame is transformed.
There's a commented out piece of code in `Box` that seems to have attempted a fix to that, doing matrix decomposition of the transformation and then applying the `scale` to the dimensions of the box, but for some reason is commented out and it's also not implemented in any of the other shapes (as far as I checked).
As a first step, we should write unit tests that verify the transform and transformed results for each of the shapes in `compas.geometry` (sub-classes of `Shape`). If these tests fail, it means the transformation is indeed not applying the scale component, so the second step would be to add the implementation for that, and hopefully get the unit tests to pass.
Contributor guide
Assessment
This issue has not been assessed yet.