View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003115 | OpenFOAM | Feature | public | 2018-11-28 19:30 | 2018-12-10 10:20 |
Reporter | beemer252025 | Assigned To | henry | ||
Priority | normal | Severity | tweak | Reproducibility | always |
Status | closed | Resolution | suspended | ||
Platform | GNU/Linux | OS | Ubuntu | OS Version | 15.04 |
Summary | 0003115: Inconsistent definitions in the septernion class | ||||
Description | The definitions for septernion::transformPoint() and septernion::operator*= do not seem to be consistent with each other, nor do they appear to accomplish the intended function. According to the class description, a septernion is a class used to represent translations and rotations in 3D space, and so the expected transform would be t() + r().transform(v), which represents rotating the point by the defined quaternion, r, and then translating by vector t. The currently implemented definition is r().transform(v-t()), which represents an inverted translation followed by the proper rotation. When working from the standpoint of solid objects, performing the rotation first, then the translation makes the septernion much more straightforward to use than the currently implemented transform. | ||||
Additional Information | The definition of interest is in septernionI.H. Care should be taken that all definitions (multiplication, division, inverseTransform) match the chosen definition of transform. | ||||
Tags | No tags attached. | ||||
|
The current implementation is consistent with the way it is currently used in the code. I don't mind the operation order changing but you will need to provide a tested patch which includes both this change and the corresponding changes where the current implementation is used. |
|
Pending the contribution of a tested patch |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-11-28 19:30 | beemer252025 | New Issue | |
2018-11-28 19:48 | henry | Note Added: 0010197 | |
2018-11-28 19:48 | henry | Severity | major => tweak |
2018-11-28 19:48 | henry | Category | Bug => Feature |
2018-12-10 10:20 | henry | Assigned To | => henry |
2018-12-10 10:20 | henry | Status | new => closed |
2018-12-10 10:20 | henry | Resolution | open => suspended |
2018-12-10 10:20 | henry | Note Added: 0010210 |