| 156 | |
| 157 | template <typename Packer> |
| 158 | void pack_region(Packer& pk, const region::Region& r) { |
| 159 | const auto& axis = r.primary(); |
| 160 | pk.pack_array(9); |
| 161 | pk.pack(static_cast<std::uint8_t>(axis.scale)); |
| 162 | pk.pack(axis.a_lo); |
| 163 | pk.pack(axis.a_hi); |
| 164 | pk.pack(axis.a_lo_t); |
| 165 | pk.pack(axis.a_hi_t); |
| 166 | pk.pack(axis.inv_span_t); |
| 167 | pack_curve(pk, r.b_lo()); |
| 168 | pack_curve(pk, r.b_hi()); |
| 169 | // Secondary-axis (eta) scale — element [8], appended in rev 16. |
| 170 | // LINEAR (0) for every pre-rev-16 surface; DmassT VAPOR/SUPER use LOG. |
| 171 | pk.pack(static_cast<std::uint8_t>(r.secondary_scale())); |
| 172 | } |
| 173 | |
| 174 | template <typename Packer> |
| 175 | void pack_surface(Packer& pk, const SVDSurface& s) { |
no test coverage detected