Support skew in periodic simulations
1. Add Vector3r Scene::cellSkew holding relative skew.
2. Support skew in (at least) Bo1_Sphere_Aabb: Bound::{min,max} are spatial coords of the parallelepiped, but Aabb::halfSize is not (max-min)/2, but axial distance. The Aabb must be enlarged so that the parallelepiped does contain the whole sphere. Add BoundFunctor::skew, which will (at every step) mirror (by BoundDispatcher) Scene::cellSkew. Non-supported functors should throw if skew is non-zero, with explanation.
3. Support skew in Gl1_Aabb (just by always drawing parallelepiped instead of plain box)
4. Support skew in InsertionSortCo
5. Support skew in InteractionDisp
No other changes seem to be needed.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- High
- Drafter:
- Václav Šmilauer
- Direction:
- Approved
- Assignee:
- Václav Šmilauer
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Václav Šmilauer
- Completed by
- Václav Šmilauer
Related branches
Related bugs
Sprints
Whiteboard
The actual implementation didn't change the collider, but rather changed the meaning of Bound::{min,max}: they are always the unskewed (unsheared) coordinates rather than the coordinates of the physical space.
Bruno implemented velocity gradient based integration and homothetic resize.
(future changes will only refine thecurrent implementation, closing this one)
Work Items
Dependency tree
* Blueprints in grey have been implemented.