File: 0011-Fix-GlobalRollingFrictionContactProblem-serializatio.patch

package info (click to toggle)
siconos 4.4.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 78,332 kB
  • sloc: cpp: 160,975; ansic: 129,999; fortran: 33,051; python: 21,001; xml: 1,244; sh: 385; makefile: 318
file content (39 lines) | stat: -rw-r--r-- 1,317 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From: Stephen Sinclair <radarsat1@gmail.com>
Date: Sun, 24 Oct 2021 13:47:59 +0000
Subject: Fix GlobalRollingFrictionContactProblem serialization.

---
 io/src/serialization/SiconosFull.hpp | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/io/src/serialization/SiconosFull.hpp b/io/src/serialization/SiconosFull.hpp
index 2fcaa84..45571ea 100644
--- a/io/src/serialization/SiconosFull.hpp
+++ b/io/src/serialization/SiconosFull.hpp
@@ -151,6 +151,26 @@ void siconos_io(Archive& ar, RollingFrictionContact &v, unsigned int version)
 REGISTER_BOOST_SERIALIZATION(RollingFrictionContact);
 
 
+template <class Archive>
+void siconos_io(Archive& ar, GlobalRollingFrictionContact &v, unsigned int version)
+{
+	SERIALIZE(v, (_contactProblemDim)(_mu)(_mu_r)(_numerics_solver_options), ar);
+
+  if (Archive::is_loading::value)
+  {
+    if (v._contactProblemDim == 2)
+      assert(! "No g_rolling_fc2d_driver yet.");
+    else
+      v._g_rolling_driver = &g_rolling_fc3d_driver;
+  }
+
+  ar & boost::serialization::make_nvp("LinearOSNS",
+                                      boost::serialization::base_object<LinearOSNS>(v));
+
+}
+REGISTER_BOOST_SERIALIZATION(GlobalRollingFrictionContact);
+
+
 template <class Archive>
 void siconos_io(Archive& ar, __mpz_struct& v, unsigned int version)
 {