Main MRPT website
>
C++ reference for MRPT 1.9.9
xSens_MT4
xstypes
include
xsens
xssdidata.h
Go to the documentation of this file.
1
/* +------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| http://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6
| See: http://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See details in http://www.mrpt.org/License |
8
+------------------------------------------------------------------------+ */
9
#ifndef XSSDIDATA_H
10
#define XSSDIDATA_H
11
12
#include "
xstypesconfig.h
"
13
#include "
xsvector3.h
"
14
#include "
xsquaternion.h
"
15
16
struct
XsSdiData
;
17
18
#ifdef __cplusplus
19
extern
"C"
{
20
#else
21
#define XSSDIDATA_INITIALIZER \
22
{ \
23
XSQUATERNION_INITIALIZER, XSVECTOR3_INITIALIZER \
24
}
25
#endif
26
27
XSTYPES_DLL_API
void
XsSdiData_construct
(
28
struct
XsSdiData
* thisPtr,
const
XsReal
* orientationIncrement,
29
const
XsReal
* velocityIncrement);
30
XSTYPES_DLL_API
void
XsSdiData_destruct
(
struct
XsSdiData
* thisPtr);
31
32
#ifdef __cplusplus
33
}
// extern "C"
34
#endif
35
36
struct
XsSdiData
37
{
38
#ifdef __cplusplus
39
//! \brief Construct an empty object
40
inline
XsSdiData
() {}
41
//! \brief Construct an initialized object
42
inline
XsSdiData
(
const
XsQuaternion
& dq,
const
XsVector
& dv)
43
:
m_orientationIncrement
(dq),
m_velocityIncrement
(dv)
44
{
45
}
46
47
//! \brief Copy constructor
48
inline
XsSdiData
(
const
XsSdiData
& other)
49
:
m_orientationIncrement
(other.
m_orientationIncrement
),
50
m_velocityIncrement
(other.
m_velocityIncrement
)
51
{
52
}
53
54
//! \brief Assignment operator
55
inline
const
XsSdiData
& operator=(
const
XsSdiData
& other)
56
{
57
if
(
this
!= &other)
58
{
59
m_orientationIncrement
= other.
m_orientationIncrement
;
60
m_velocityIncrement
= other.
m_velocityIncrement
;
61
}
62
return
*
this
;
63
}
64
65
//! \brief Clear the object so it contains unity data
66
inline
void
zero()
67
{
68
m_orientationIncrement
= XsQuaternion::identity();
69
m_velocityIncrement
.zero();
70
}
71
72
//! \brief Returns the contained orientation increment
73
inline
const
XsQuaternion
& orientationIncrement()
const
74
{
75
return
m_orientationIncrement
;
76
}
77
78
//! \brief Update the contained orientation increment
79
inline
void
setOrientationIncrement(
const
XsQuaternion
& dq)
80
{
81
m_orientationIncrement
= dq;
82
}
83
84
//! \brief Returns the contained velocity increment
85
inline
const
XsVector3
& velocityIncrement()
const
86
{
87
return
m_velocityIncrement
;
88
}
89
90
//! \brief Update the contained velocity increment
91
inline
void
setVelocityIncrement(
const
XsVector
& dv)
92
{
93
m_velocityIncrement
= dv;
94
}
95
96
private
:
97
#endif
98
99
/** The orientation increment */
100
XsQuaternion
m_orientationIncrement
;
101
/** The velocity increment */
102
XsVector3
m_velocityIncrement
;
103
};
104
105
typedef
struct
XsSdiData
XsSdiData
;
106
107
#endif // file guard
XsSdiData_destruct
XSTYPES_DLL_API void XsSdiData_destruct(struct XsSdiData *thisPtr)
XsQuaternion
Definition:
xsquaternion.h:57
XsSdiData
Definition:
xssdidata.h:36
xsquaternion.h
XsSdiData::m_velocityIncrement
XsVector3 m_velocityIncrement
The velocity increment.
Definition:
xssdidata.h:102
XsVector
Definition:
xsvector.h:59
XsSdiData
struct XsSdiData XsSdiData
Definition:
xssdidata.h:105
XsReal
double XsReal
Defines the floating point type used by the Xsens libraries.
Definition:
xstypedefs.h:17
XsSdiData_construct
XSTYPES_DLL_API void XsSdiData_construct(struct XsSdiData *thisPtr, const XsReal *orientationIncrement, const XsReal *velocityIncrement)
xstypesconfig.h
XsSdiData::m_orientationIncrement
XsQuaternion m_orientationIncrement
The orientation increment.
Definition:
xssdidata.h:100
XSTYPES_DLL_API
#define XSTYPES_DLL_API
Definition:
xstypesconfig.h:9
xsvector3.h
XsVector3
Definition:
xsvector3.h:40
Page generated by
Doxygen 1.8.17
for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST