Main Page
+
Namespaces
Namespace List
+
Namespace Members
All
Functions
Variables
Typedefs
+
Classes
Class List
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
c
d
f
g
h
i
m
n
o
p
r
s
t
u
v
w
~
+
Variables
a
b
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
v
x
y
z
Typedefs
+
Files
File List
+
File Members
+
All
_
c
d
e
m
n
s
u
v
x
Functions
Typedefs
Enumerations
+
Enumerator
c
d
e
n
v
Macros
include
mocap_nokov
data_model.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 University of Bonn, Computer Science Institute,
3
* Kathrin Gräve
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions are met:
8
*
9
* 1. Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* 3. Neither the name of the copyright holder nor the names of its
15
* contributors may be used to endorse or promote products derived from
16
* this software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
* POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
#ifndef __MOCAP_NOKOV_DATA_MODEL_H__
32
#define __MOCAP_NOKOV_DATA_MODEL_H__
33
34
#include <string>
35
#include <vector>
36
37
#include <
mocap_nokov/version.h
>
38
39
namespace
mocap_nokov
40
{
41
43
struct
Marker
44
{
45
float
x
;
46
float
y
;
47
float
z
;
48
};
49
50
struct
__attribute__
((__packed__))
Pose
51
{
52
struct
__attribute__
((__packed__)) {
53
float
x
;
54
float
y
;
55
float
z
;
56
} position;
57
struct
__attribute__
((__packed__)) {
58
float
x
;
59
float
y
;
60
float
z
;
61
float
w;
62
} orientation;
63
};
64
66
struct
RigidBody
67
{
68
RigidBody
();
69
int
bodyId
;
70
Pose
pose
;
71
float
meanMarkerError
;
72
bool
isTrackingValid
;
73
double
trackTimestamp
;
74
75
bool
hasValidData()
const
;
76
};
77
79
struct
ModelDescription
80
{
81
ModelDescription
();
82
void
clear();
83
84
std::string
name
;
85
std::vector<std::string>
markerNames
;
86
};
87
88
struct
MarkerSet
89
{
90
void
clear();
91
92
char
name[256];
93
std::vector<Marker>
markers
;
94
};
95
97
struct
ModelFrame
98
{
99
ModelFrame
();
100
void
clear();
101
102
std::vector<MarkerSet>
markerSets
;
103
std::vector<Marker>
otherMarkers
;
104
std::vector<RigidBody>
rigidBodies
;
105
float
latency
;
106
};
107
109
class
DataModel
110
{
111
public
:
112
DataModel
();
113
114
int
frameNumber
;
115
ModelFrame
dataFrame
;
116
117
void
clear();
118
};
119
120
}
121
122
#endif
mocap_nokov::Marker::y
float y
Definition:
data_model.h:46
mocap_nokov::RigidBody::trackTimestamp
double trackTimestamp
Definition:
data_model.h:73
mocap_nokov::RigidBody::isTrackingValid
bool isTrackingValid
Definition:
data_model.h:72
mocap_nokov::ModelFrame::rigidBodies
std::vector< RigidBody > rigidBodies
Definition:
data_model.h:104
mocap_nokov::Marker::x
float x
Definition:
data_model.h:45
mocap_nokov::ModelFrame
Data object holding poses of a tracked model's components.
Definition:
data_model.h:97
mocap_nokov::Marker::z
float z
Definition:
data_model.h:47
mocap_nokov::ModelDescription::name
std::string name
Definition:
data_model.h:84
mocap_nokov::RigidBody::pose
Pose pose
Definition:
data_model.h:70
mocap_nokov::RigidBody::bodyId
int bodyId
Definition:
data_model.h:69
mocap_nokov::DataModel::frameNumber
int frameNumber
Definition:
data_model.h:114
mocap_nokov::ModelFrame::otherMarkers
std::vector< Marker > otherMarkers
Definition:
data_model.h:103
tf::Transform
mocap_nokov::MarkerSet
Definition:
data_model.h:88
mocap_nokov
Definition:
data_model.h:39
mocap_nokov::DataModel
The data model for this node.
Definition:
data_model.h:109
mocap_nokov::RigidBody::meanMarkerError
float meanMarkerError
Definition:
data_model.h:71
version.h
mocap_nokov::__attribute__
struct __attribute__((__packed__)) Pose
Definition:
data_model.h:50
mocap_nokov::RigidBody
Data object holding information about a single rigid body within a mocap skeleton.
Definition:
data_model.h:66
mocap_nokov::MarkerSet::markers
std::vector< Marker > markers
Definition:
data_model.h:93
mocap_nokov::Marker
Data object holding the position of a single mocap marker in 3d space.
Definition:
data_model.h:43
mocap_nokov::DataModel::dataFrame
ModelFrame dataFrame
Definition:
data_model.h:115
mocap_nokov::ModelFrame::markerSets
std::vector< MarkerSet > markerSets
Definition:
data_model.h:102
mocap_nokov::ModelDescription
Data object describing a single tracked model.
Definition:
data_model.h:79
mocap_nokov::ModelDescription::markerNames
std::vector< std::string > markerNames
Definition:
data_model.h:85
mocap_nokov::ModelFrame::latency
float latency
Definition:
data_model.h:105
mocap_nokov
Author(s):
autogenerated on Sat Sep 10 2022 02:45:32