We support only version 2 of rigid body transform files for only ensight gold files, but it's implemented here, so we don't need to duplicate implementation for ASCII and binary readers (the erb and eet files are always in ASCII). For rigid body transforms, we need to track per part: 1. transforms to be applied before the Euler transformation 2. Information about which data to use in the Euler Tra
| 392 | // 2. Information about which data to use in the Euler Transform file (eet file) |
| 393 | // 3. transforms to be applied after the Euler transformation |
| 394 | struct PartTransforms |
| 395 | { |
| 396 | // Pre and post transforms do not change over time |
| 397 | // We have to track each transform separately, because some transforms need to be |
| 398 | // applied to geometry and vectors, while others should only be applied to the geometry |
| 399 | std::vector<vtkSmartPointer<vtkTransform>> PreTransforms; |
| 400 | std::vector<bool> PreTransformsApplyToVectors; |
| 401 | std::vector<vtkSmartPointer<vtkTransform>> PostTransforms; |
| 402 | std::vector<bool> PostTransformsApplyToVectors; |
| 403 | |
| 404 | // EnSight format requires specifying the eet file per part, but according to the user manual |
| 405 | // use of different eet files for the same dataset is not actually allowed |
| 406 | std::string EETFilename; |
| 407 | |
| 408 | // title is related to, but not necessarily a part name. for instance, if you have 4 wheel parts |
| 409 | // there may only be a single "wheel" title that all wheel parts use, applying the same Euler |
| 410 | // rotation to all wheels |
| 411 | std::string EETTransTitle; |
| 412 | }; |
| 413 | |
| 414 | // rigid body files allows for using either part names or part Ids to specify |
| 415 | // transforms for parts; |
no outgoing calls
no test coverage detected