Loading src/csg/tests/meson.build +3 −3 Original line number Diff line number Diff line unit_exe = executable( 'unit_tests', test_csg = executable( 'unit_tests_csg', 'levelset/boolean.t.cpp', 'levelset/primitives.t.cpp', 'levelset/transform.t.cpp', Loading @@ -15,4 +15,4 @@ unit_exe = executable( link_with: lib_csg_parser, override_options: 'cpp_std=c++2a', ) test('unit_test', unit_exe) test('unit_test_csg', test_csg) src/inputs/geometry.cpp +5 −3 Original line number Diff line number Diff line #include "solver.hpp" #include "solver_impl.hpp" namespace solver { solver::GeometrySettings make_geometry(solver::InputInfo ii, std::vector<InputsMessage> &messages) { std::pair<solver::GeometrySettings, std::vector<InputsMessage>> make_geometry(solver::InputInfo ii) { std::vector<InputsMessage> messages; solver::GeometrySettings geo; geo.csg_filename = ""; Loading Loading @@ -51,6 +53,6 @@ solver::GeometrySettings make_geometry(solver::InputInfo ii, std::get<1>(geo.axes).periodic = is_periodic[1]; std::get<2>(geo.axes).periodic = is_periodic[2]; } return geo; return std::make_pair(geo, messages); } } // namespace solver src/inputs/mesh.cpp +5 −3 Original line number Diff line number Diff line #include "solver.hpp" #include "solver_impl.hpp" namespace solver { solver::MeshSettings make_mesh(solver::InputInfo ii, std::vector<InputsMessage> &messages) { std::pair<solver::MeshSettings, std::vector<InputsMessage>> make_mesh(solver::InputInfo ii) { std::vector<InputsMessage> messages; solver::MeshSettings mesh; auto [mx, my, mz] = mesh.axes; Loading Loading @@ -99,6 +101,6 @@ solver::MeshSettings make_mesh(solver::InputInfo ii, mesh.axes[1] = my; mesh.axes[2] = mz; return mesh; return std::make_pair(mesh, messages); } } // namespace solver src/inputs/solver.cpp +13 −4 Original line number Diff line number Diff line Loading @@ -51,11 +51,20 @@ void add_msg(std::string key, std::vector<InputsMessage> &messages, std::pair<solver::SolverSettings, std::vector<InputsMessage>> make_solver(solver::InputInfo ii) { std::vector<InputsMessage> messages; solver::SolverSettings ss; ss.geometry = make_geometry(ii, messages); ss.mesh = make_mesh(ii, messages); ss.time = make_time(ii, messages); auto [geometry, msgs] = make_geometry(ii); auto [mesh, msgs2] = make_mesh(ii); auto [time, msgs3] = make_time(ii); ss.geometry = geometry; ss.mesh = mesh; ss.time = time; std::vector<InputsMessage> messages; for (auto msgz : std::vector<std::vector<InputsMessage>>{msgs, msgs2, msgs3}) { for (auto msg : msgz) { messages.push_back(msg); } } return std::make_pair(ss, messages); } Loading src/inputs/solver_impl.hpp +6 −3 Original line number Diff line number Diff line #include <solver.hpp> namespace solver { GeometrySettings make_geometry(solver::InputInfo, std::vector<InputsMessage> &); MeshSettings make_mesh(solver::InputInfo, std::vector<InputsMessage> &); TimeSettings make_time(solver::InputInfo, std::vector<InputsMessage> &); std::pair<solver::GeometrySettings, std::vector<InputsMessage>> make_geometry(solver::InputInfo); std::pair<solver::MeshSettings, std::vector<InputsMessage>> make_mesh(solver::InputInfo); std::pair<solver::TimeSettings, std::vector<InputsMessage>> make_time(solver::InputInfo); void add_missing_msg(std::string key, std::vector<InputsMessage> &, Array); void add_msg(std::string key, std::vector<InputsMessage> &, Array); } // namespace solver Loading
src/csg/tests/meson.build +3 −3 Original line number Diff line number Diff line unit_exe = executable( 'unit_tests', test_csg = executable( 'unit_tests_csg', 'levelset/boolean.t.cpp', 'levelset/primitives.t.cpp', 'levelset/transform.t.cpp', Loading @@ -15,4 +15,4 @@ unit_exe = executable( link_with: lib_csg_parser, override_options: 'cpp_std=c++2a', ) test('unit_test', unit_exe) test('unit_test_csg', test_csg)
src/inputs/geometry.cpp +5 −3 Original line number Diff line number Diff line #include "solver.hpp" #include "solver_impl.hpp" namespace solver { solver::GeometrySettings make_geometry(solver::InputInfo ii, std::vector<InputsMessage> &messages) { std::pair<solver::GeometrySettings, std::vector<InputsMessage>> make_geometry(solver::InputInfo ii) { std::vector<InputsMessage> messages; solver::GeometrySettings geo; geo.csg_filename = ""; Loading Loading @@ -51,6 +53,6 @@ solver::GeometrySettings make_geometry(solver::InputInfo ii, std::get<1>(geo.axes).periodic = is_periodic[1]; std::get<2>(geo.axes).periodic = is_periodic[2]; } return geo; return std::make_pair(geo, messages); } } // namespace solver
src/inputs/mesh.cpp +5 −3 Original line number Diff line number Diff line #include "solver.hpp" #include "solver_impl.hpp" namespace solver { solver::MeshSettings make_mesh(solver::InputInfo ii, std::vector<InputsMessage> &messages) { std::pair<solver::MeshSettings, std::vector<InputsMessage>> make_mesh(solver::InputInfo ii) { std::vector<InputsMessage> messages; solver::MeshSettings mesh; auto [mx, my, mz] = mesh.axes; Loading Loading @@ -99,6 +101,6 @@ solver::MeshSettings make_mesh(solver::InputInfo ii, mesh.axes[1] = my; mesh.axes[2] = mz; return mesh; return std::make_pair(mesh, messages); } } // namespace solver
src/inputs/solver.cpp +13 −4 Original line number Diff line number Diff line Loading @@ -51,11 +51,20 @@ void add_msg(std::string key, std::vector<InputsMessage> &messages, std::pair<solver::SolverSettings, std::vector<InputsMessage>> make_solver(solver::InputInfo ii) { std::vector<InputsMessage> messages; solver::SolverSettings ss; ss.geometry = make_geometry(ii, messages); ss.mesh = make_mesh(ii, messages); ss.time = make_time(ii, messages); auto [geometry, msgs] = make_geometry(ii); auto [mesh, msgs2] = make_mesh(ii); auto [time, msgs3] = make_time(ii); ss.geometry = geometry; ss.mesh = mesh; ss.time = time; std::vector<InputsMessage> messages; for (auto msgz : std::vector<std::vector<InputsMessage>>{msgs, msgs2, msgs3}) { for (auto msg : msgz) { messages.push_back(msg); } } return std::make_pair(ss, messages); } Loading
src/inputs/solver_impl.hpp +6 −3 Original line number Diff line number Diff line #include <solver.hpp> namespace solver { GeometrySettings make_geometry(solver::InputInfo, std::vector<InputsMessage> &); MeshSettings make_mesh(solver::InputInfo, std::vector<InputsMessage> &); TimeSettings make_time(solver::InputInfo, std::vector<InputsMessage> &); std::pair<solver::GeometrySettings, std::vector<InputsMessage>> make_geometry(solver::InputInfo); std::pair<solver::MeshSettings, std::vector<InputsMessage>> make_mesh(solver::InputInfo); std::pair<solver::TimeSettings, std::vector<InputsMessage>> make_time(solver::InputInfo); void add_missing_msg(std::string key, std::vector<InputsMessage> &, Array); void add_msg(std::string key, std::vector<InputsMessage> &, Array); } // namespace solver