Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Institute of Technical Acoustics (ITA)
ITASimulationScheduler
Commits
0800b2f0
Commit
0800b2f0
authored
Aug 07, 2020
by
Pascal Palenda
Browse files
Add SerializationHelper for Quaternions and use them
parent
2fdc7734
Changes
3
Show whitespace changes
Inline
Side-by-side
src/ITA/SimulationScheduler/3d_object.cpp
View file @
0800b2f0
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
// simulation scheduler include
// simulation scheduler include
#include
<ITA/SimulationScheduler/Utils/utils.h>
#include
<ITA/SimulationScheduler/Utils/utils.h>
#include
"../src/ITA/SimulationScheduler/serialization_helper.h"
// Vista include
// Vista include
#include
<VistaAspects/VistaSerializer.h>
#include
<VistaAspects/VistaSerializer.h>
...
@@ -59,15 +60,9 @@ namespace ITA
...
@@ -59,15 +60,9 @@ namespace ITA
int
C3DObject
::
Serialize
(
IVistaSerializer
&
pSerializer
)
const
int
C3DObject
::
Serialize
(
IVistaSerializer
&
pSerializer
)
const
{
{
int
returnVal
=
0
;
int
returnVal
=
0
;
returnVal
+=
pSerializer
.
WriteFloat32
(
m_v3Position
[
0
]
);
returnVal
+=
SerializationHelper
::
WriteVistaVector3D
(
pSerializer
,
m_v3Position
);
returnVal
+=
pSerializer
.
WriteFloat32
(
m_v3Position
[
1
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
m_v3Position
[
2
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
m_v3Position
[
3
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
m_qOrientation
[
0
]
);
returnVal
+=
SerializationHelper
::
WriteVistaQuaternion
(
pSerializer
,
m_qOrientation
);
returnVal
+=
pSerializer
.
WriteFloat32
(
m_qOrientation
[
1
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
m_qOrientation
[
2
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
m_qOrientation
[
3
]
);
returnVal
+=
pSerializer
.
WriteInt32
(
m_iID
);
returnVal
+=
pSerializer
.
WriteInt32
(
m_iID
);
...
@@ -79,15 +74,9 @@ namespace ITA
...
@@ -79,15 +74,9 @@ namespace ITA
{
{
int
returnVal
=
0
;
int
returnVal
=
0
;
int
tmp
;
int
tmp
;
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_v3Position
[
0
]
);
returnVal
+=
SerializationHelper
::
ReadVistaVector3D
(
pDeserializer
,
m_v3Position
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_v3Position
[
1
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_v3Position
[
2
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_v3Position
[
3
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_qOrientation
[
0
]
);
returnVal
+=
SerializationHelper
::
ReadVistaQuaternion
(
pDeserializer
,
m_qOrientation
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_qOrientation
[
1
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_qOrientation
[
2
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
m_qOrientation
[
3
]
);
returnVal
+=
pDeserializer
.
ReadInt32
(
m_iID
);
returnVal
+=
pDeserializer
.
ReadInt32
(
m_iID
);
...
...
src/ITA/SimulationScheduler/serialization_helper.cpp
View file @
0800b2f0
...
@@ -117,3 +117,29 @@ int ITA::SimulationScheduler::SerializationHelper::ReadVistaVector3D(IVistaDeSer
...
@@ -117,3 +117,29 @@ int ITA::SimulationScheduler::SerializationHelper::ReadVistaVector3D(IVistaDeSer
return
returnVal
;
return
returnVal
;
}
}
int
ITA
::
SimulationScheduler
::
SerializationHelper
::
WriteVistaQuaternion
(
IVistaSerializer
&
pSerializer
,
const
VistaQuaternion
&
qQuaternion
)
{
int
returnVal
=
0
;
returnVal
+=
pSerializer
.
WriteFloat32
(
qQuaternion
[
Vista
::
X
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
qQuaternion
[
Vista
::
Y
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
qQuaternion
[
Vista
::
Z
]
);
returnVal
+=
pSerializer
.
WriteFloat32
(
qQuaternion
[
Vista
::
W
]
);
return
returnVal
;
}
int
ITA
::
SimulationScheduler
::
SerializationHelper
::
ReadVistaQuaternion
(
IVistaDeSerializer
&
pDeserializer
,
VistaQuaternion
&
qQuaternion
)
{
int
returnVal
=
0
;
returnVal
+=
pDeserializer
.
ReadFloat32
(
qQuaternion
[
Vista
::
X
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
qQuaternion
[
Vista
::
Y
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
qQuaternion
[
Vista
::
Z
]
);
returnVal
+=
pDeserializer
.
ReadFloat32
(
qQuaternion
[
Vista
::
W
]
);
return
returnVal
;
}
src/ITA/SimulationScheduler/serialization_helper.h
View file @
0800b2f0
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
// Vista
// Vista
#include
<VistaBase/VistaVector3D.h>
#include
<VistaBase/VistaVector3D.h>
#include
<VistaBase/VistaQuaternion.h>
#include
<VistaAspects/VistaSerializer.h>
#include
<VistaAspects/VistaSerializer.h>
#include
<VistaAspects/VistaDeSerializer.h>
#include
<VistaAspects/VistaDeSerializer.h>
...
@@ -58,6 +59,9 @@ namespace ITA
...
@@ -58,6 +59,9 @@ namespace ITA
static
int
WriteVistaVector3D
(
IVistaSerializer
&
pSerializer
,
const
VistaVector3D
&
v3Vector
);
static
int
WriteVistaVector3D
(
IVistaSerializer
&
pSerializer
,
const
VistaVector3D
&
v3Vector
);
static
int
ReadVistaVector3D
(
IVistaDeSerializer
&
pDeserializer
,
VistaVector3D
&
v3Vector
);
static
int
ReadVistaVector3D
(
IVistaDeSerializer
&
pDeserializer
,
VistaVector3D
&
v3Vector
);
static
int
WriteVistaQuaternion
(
IVistaSerializer
&
pSerializer
,
const
VistaQuaternion
&
qQuaternion
);
static
int
ReadVistaQuaternion
(
IVistaDeSerializer
&
pDeserializer
,
VistaQuaternion
&
qQuaternion
);
};
};
}
// namespace SimulationScheduler
}
// namespace SimulationScheduler
}
// namespace ITA
}
// namespace ITA
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment