bevy/examples/ecs
Dusty DeWeese 9f8bdeeeb9 Use Affine3A for GlobalTransform to allow any affine transformation (#4379)
# Objective

- Add capability to use `Affine3A`s for some `GlobalTransform`s. This allows affine transformations that are not possible using a single `Transform` such as shear and non-uniform scaling along an arbitrary axis.
- Related to #1755 and #2026

## Solution

- `GlobalTransform` becomes an enum wrapping either a `Transform` or an `Affine3A`.
- The API of `GlobalTransform` is minimized to avoid inefficiency, and to make it clear that operations should be performed using the underlying data types.
- using `GlobalTransform::Affine3A` disables transform propagation, because the main use is for cases that `Transform`s cannot support.

---

## Changelog

- `GlobalTransform`s can optionally support any affine transformation using an `Affine3A`.


Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2022-07-16 00:51:12 +00:00
..
component_change_detection.rs Update codebase to use IntoIterator where possible. (#5269) 2022-07-11 15:28:50 +00:00
custom_query_param.rs Update codebase to use IntoIterator where possible. (#5269) 2022-07-11 15:28:50 +00:00
ecs_guide.rs Update codebase to use IntoIterator where possible. (#5269) 2022-07-11 15:28:50 +00:00
event.rs Doc/module style doc blocks for examples (#4438) 2022-05-16 13:53:20 +00:00
fixed_timestep.rs Split time functionality into bevy_time (#4187) 2022-05-26 00:27:18 +00:00
generic_system.rs Update codebase to use IntoIterator where possible. (#5269) 2022-07-11 15:28:50 +00:00
hierarchy.rs Update codebase to use IntoIterator where possible. (#5269) 2022-07-11 15:28:50 +00:00
iter_combinations.rs Use Affine3A for GlobalTransform to allow any affine transformation (#4379) 2022-07-16 00:51:12 +00:00
parallel_query.rs Camera Driven Rendering (#4745) 2022-06-02 00:12:17 +00:00
removal_detection.rs Camera Driven Rendering (#4745) 2022-06-02 00:12:17 +00:00
startup_system.rs Doc/module style doc blocks for examples (#4438) 2022-05-16 13:53:20 +00:00
state.rs Update codebase to use IntoIterator where possible. (#5269) 2022-07-11 15:28:50 +00:00
system_chaining.rs Doc/module style doc blocks for examples (#4438) 2022-05-16 13:53:20 +00:00
system_closure.rs Doc/module style doc blocks for examples (#4438) 2022-05-16 13:53:20 +00:00
system_param.rs Doc/module style doc blocks for examples (#4438) 2022-05-16 13:53:20 +00:00
system_sets.rs Implement From<bool> for ShouldRun. (#5306) 2022-07-14 17:26:40 +00:00
timers.rs Update codebase to use IntoIterator where possible. (#5269) 2022-07-11 15:28:50 +00:00