| 266 | } |
| 267 | |
| 268 | void serialize(std::ostream &os) const |
| 269 | { |
| 270 | os.write(reinterpret_cast<const char *>(&m_isSurface), sizeof(m_isSurface)); |
| 271 | os.write(reinterpret_cast<const char *>(&m_decayOnSpatialSplit), sizeof(m_decayOnSpatialSplit)); |
| 272 | os.write(reinterpret_cast<const char *>(&m_iteration), sizeof(m_iteration)); |
| 273 | os.write(reinterpret_cast<const char *>(&m_totalSPP), sizeof(m_totalSPP)); |
| 274 | os.write(reinterpret_cast<const char *>(&m_deterministic), sizeof(m_deterministic)); |
| 275 | os.write(reinterpret_cast<const char *>(&m_fitRegions), sizeof(m_fitRegions)); |
| 276 | os.write(reinterpret_cast<const char *>(&m_isSceneBoundsSet), sizeof(m_isSceneBoundsSet)); |
| 277 | os.write(reinterpret_cast<const char *>(&m_sceneBounds), sizeof(m_sceneBounds)); |
| 278 | os.write(reinterpret_cast<const char *>(&m_initialized), sizeof(m_initialized)); |
| 279 | |
| 280 | os.write(reinterpret_cast<const char *>(&m_timeLastUpdate), sizeof(m_timeLastUpdate)); |
| 281 | os.write(reinterpret_cast<const char *>(&m_timeLastUpdateCopySamples), sizeof(m_timeLastUpdateCopySamples)); |
| 282 | os.write(reinterpret_cast<const char *>(&m_timeLastUpdateSpatialStructureUpdate), sizeof(m_timeLastUpdateSpatialStructureUpdate)); |
| 283 | os.write(reinterpret_cast<const char *>(&m_timeLastUpdateDirectionalDistriubtionUpdate), sizeof(m_timeLastUpdateDirectionalDistriubtionUpdate)); |
| 284 | |
| 285 | m_distributionFactorySettings.serialize(os); |
| 286 | m_spatialSubdivBuilderSettings.serialize(os); |
| 287 | m_spatialSubdiv.serialize(os); |
| 288 | size_t size = m_regionStorageContainer.size(); |
| 289 | os.write(reinterpret_cast<const char *>(&size), sizeof(size)); |
| 290 | for (size_t i = 0; i < size; i++) |
| 291 | { |
| 292 | m_regionStorageContainer[i].first.serialize(os); |
| 293 | m_regionStorageContainer[i].second.serialize(os); |
| 294 | } |
| 295 | os.write(reinterpret_cast<const char *>(&m_useStochasticNNLookUp), sizeof(m_useStochasticNNLookUp)); |
| 296 | os.write(reinterpret_cast<const char *>(&m_useISNNLookUp), sizeof(m_useISNNLookUp)); |
| 297 | m_regionKNNSearchTree.serialize(os); |
| 298 | } |
| 299 | |
| 300 | void deserialize(std::istream &is) |
| 301 | { |
no test coverage detected