| 2865 | } |
| 2866 | |
| 2867 | void SimulatorBase::writeSceneFile(const std::string &fileName) |
| 2868 | { |
| 2869 | Utilities::SceneWriter writer(m_sceneLoader->getJSONData()); |
| 2870 | const Utilities::SceneLoader::Scene& scene = SceneConfiguration::getCurrent()->getScene(); |
| 2871 | |
| 2872 | Simulation* sim = Simulation::getCurrent(); |
| 2873 | writer.writeParameterObject("Configuration", this); |
| 2874 | writer.writeParameterObject("Configuration", Simulation::getCurrent()); |
| 2875 | writer.writeTimeStepParameterObject("Configuration", Simulation::getCurrent()->getTimeStep()); |
| 2876 | #ifdef USE_DEBUG_TOOLS |
| 2877 | writer.writeParameterObject("Configuration", Simulation::getCurrent()->getDebugTools()); |
| 2878 | #endif |
| 2879 | |
| 2880 | for (unsigned int i = 0; i < sim->numberOfFluidModels(); i++) |
| 2881 | { |
| 2882 | FluidModel* model = sim->getFluidModel(i); |
| 2883 | const std::string& key = model->getId(); |
| 2884 | writer.updateMaterialParameterConfig(model->getId(), model); |
| 2885 | writer.updateMaterialParameterConfig(model->getId(), (NonPressureForceBase*)model->getXSPH()); |
| 2886 | writer.updateMaterialParameterConfig(model->getId(), (NonPressureForceBase*)model->getDragBase()); |
| 2887 | writer.updateMaterialParameterConfig(model->getId(), (NonPressureForceBase*)model->getSurfaceTensionBase()); |
| 2888 | writer.updateMaterialParameterConfig(model->getId(), (NonPressureForceBase*)model->getViscosityBase()); |
| 2889 | writer.updateMaterialParameterConfig(model->getId(), (NonPressureForceBase*)model->getVorticityBase()); |
| 2890 | writer.updateMaterialParameterConfig(model->getId(), (NonPressureForceBase*)model->getElasticityBase()); |
| 2891 | |
| 2892 | for (auto material : scene.materials) |
| 2893 | { |
| 2894 | if (material->id == key) |
| 2895 | { |
| 2896 | writer.updateMaterialParameterConfig(model->getId(), "colorField", getColorField(i)); |
| 2897 | writer.updateMaterialParameterConfig(model->getId(), "colorMapType", getColorMapType(i)); |
| 2898 | writer.updateMaterialParameterConfig(model->getId(), "renderMinValue", getRenderMinValue(i)); |
| 2899 | writer.updateMaterialParameterConfig(model->getId(), "renderMaxValue", getRenderMaxValue(i)); |
| 2900 | writer.updateMaterialParameterConfig(model->getId(), "visible", getVisible(i)); |
| 2901 | } |
| 2902 | } |
| 2903 | } |
| 2904 | |
| 2905 | writer.writeScene(fileName.c_str()); |
| 2906 | } |
nothing calls this directly
no test coverage detected