openpose_body_25.h
Go to the documentation of this file.
1 /**
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @author Fabian Reister ( fabian dot reister at kit dot edu )
17  * @date 2022
18  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19  * GNU General Public License
20  */
21 
22 #pragma once
23 
24 #include <SimoxUtility/color/Color.h>
25 #include <SimoxUtility/meta/enum/EnumNames.hpp>
26 
27 
29 {
30  inline const std::string ModelId = "BODY_25";
31 
32  enum class Joints
33  {
34  Nose,
35  Neck,
37  ElbowRight,
38  WristRight,
40  ElbowLeft,
41  WristLeft,
42  Pelvis,
43  HipRight,
44  KneeRight,
45  AnkleRight,
46  HipLeft,
47  KneeLeft,
48  AnkleLeft,
49  EyeRight,
50  EyeLeft,
51  EarRight,
52  EarLeft,
53  BigToeLeft,
55  HeelLeft,
58  HeelRight,
60  };
61 
62  inline const simox::meta::EnumNames<Joints> JointNames{{Joints::Nose, "Nose"},
63  {Joints::Neck, "Neck"},
64  {Joints::ShoulderRight, "RShoulder"},
65  {Joints::ElbowRight, "RElbow"},
66  {Joints::WristRight, "RWrist"},
67  {Joints::ShoulderLeft, "LShoulder"},
68  {Joints::ElbowLeft, "LElbow"},
69  {Joints::WristLeft, "LWrist"},
70  {Joints::Pelvis, "MidHip"},
71  {Joints::HipRight, "RHip"},
72  {Joints::KneeRight, "RKnee"},
73  {Joints::AnkleRight, "RAnkle"},
74  {Joints::HipLeft, "LHip"},
75  {Joints::KneeLeft, "LKnee"},
76  {Joints::AnkleLeft, "LAnkle"},
77  {Joints::EyeRight, "REye"},
78  {Joints::EyeLeft, "LEye"},
79  {Joints::EarRight, "REar"},
80  {Joints::EarLeft, "LEar"},
81  {Joints::BigToeLeft, "LBigToe"},
82  {Joints::SmallToeLeft, "LSmallToe"},
83  {Joints::HeelLeft, "LHeel"},
84  {Joints::BigToeRight, "RBigToe"},
85  {Joints::SmallToeRight, "RSmallToe"},
86  {Joints::HeelRight, "RHeel"},
87  {Joints::Background, "Background"}};
88 
89 
90  inline const std::vector<std::pair<Joints, Joints>> Segments = {
115 
116 
117  inline const std::map<Joints, simox::Color> Colors = {
118  {Joints::Nose, {1.f, 0.f, 85.f / 255.f}},
119  {Joints::Neck, {1.f, 0.f, 0.f}},
120  {Joints::ShoulderRight, {1.f, 85.f / 255.f, 0.f}},
121  {Joints::ElbowRight, {1.f, 170.f / 255.f, 0.f}},
122  {Joints::WristRight, {1.f, 1.f, 0.f}},
123  {Joints::ShoulderLeft, {170.f / 255.f, 1.f, 0.f}},
124  {Joints::ElbowLeft, {85.f / 255.f, 1.f, 0.f}},
125  {Joints::WristLeft, {0.f, 1.f, 0.f}},
126  {Joints::Pelvis, {1.f, 0.f, 0.f}},
127  {Joints::HipRight, {0.f, 1.f, 85.f / 255.f}},
128  {Joints::KneeRight, {0.f, 1.f, 170.f / 255.f}},
129  {Joints::AnkleRight, {0.f, 1.f, 1.f}},
130  {Joints::HipLeft, {0.f, 170.f / 255.f, 1.f}},
131  {Joints::KneeLeft, {0.f, 85.f / 255.f, 1.f}},
132  {Joints::AnkleLeft, {0.f, 0.f, 1.f}},
133  {Joints::EyeRight, {1.f, 0.f, 170.f / 255.f}},
134  {Joints::EyeLeft, {170.f / 255.f, 0.f, 1.f}},
135  {Joints::EarRight, {1.f, 0.f, 1.f}},
136  {Joints::EarLeft, {85.f / 255.f, 0.f, 1.f}},
137  {Joints::BigToeLeft, {0.f, 0.f, 1.f}},
138  {Joints::SmallToeLeft, {0.f, 0.f, 1.f}},
139  {Joints::HeelLeft, {0.f, 0.f, 1.f}},
140  {Joints::BigToeRight, {0.f, 1.f, 1.f}},
141  {Joints::SmallToeRight, {0.f, 1.f, 1.f}},
142  {Joints::HeelRight, {0.f, 1.f, 1.f}}};
143  // Joints::Background has no color assigned
144 
145 
146 } // namespace armarx::human::pose::model::openpose_body_25
armarx::human::pose::model::openpose_body_25::Joints::Nose
@ Nose
armarx::human::pose::model::openpose_body_25::Joints::EarLeft
@ EarLeft
armarx::human::pose::model::openpose_body_25::Joints::HipRight
@ HipRight
armarx::human::pose::model::openpose_body_25::Joints::BigToeLeft
@ BigToeLeft
armarx::human::pose::model::openpose_body_25::Joints::WristRight
@ WristRight
armarx::human::pose::model::openpose_body_25::Joints
Joints
Definition: openpose_body_25.h:32
armarx::human::pose::model::openpose_body_25::Joints::HeelLeft
@ HeelLeft
armarx::human::pose::model::openpose_body_25::Segments
const std::vector< std::pair< Joints, Joints > > Segments
Definition: openpose_body_25.h:90
armarx::human::pose::model::openpose_body_25::Joints::HeelRight
@ HeelRight
armarx::human::pose::model::openpose_body_25::Joints::WristLeft
@ WristLeft
armarx::human::pose::model::openpose_body_25::Joints::ShoulderRight
@ ShoulderRight
armarx::human::pose::model::openpose_body_25::Joints::AnkleLeft
@ AnkleLeft
armarx::human::pose::model::openpose_body_25::Colors
const std::map< Joints, simox::Color > Colors
Definition: openpose_body_25.h:117
armarx::human::pose::model::openpose_body_25::Joints::Pelvis
@ Pelvis
armarx::human::pose::model::openpose_body_25::Joints::SmallToeLeft
@ SmallToeLeft
armarx::human::pose::model::openpose_body_25::Joints::EyeRight
@ EyeRight
armarx::human::pose::model::openpose_body_25::Joints::KneeLeft
@ KneeLeft
armarx::human::pose::model::openpose_body_25::Joints::BigToeRight
@ BigToeRight
armarx::human::pose::model::openpose_body_25::ModelId
const std::string ModelId
Definition: openpose_body_25.h:30
armarx::human::pose::model::openpose_body_25::Joints::Background
@ Background
armarx::human::pose::model::openpose_body_25::Joints::EyeLeft
@ EyeLeft
armarx::human::pose::model::openpose_body_25::Joints::EarRight
@ EarRight
armarx::human::pose::model::openpose_body_25::Joints::Neck
@ Neck
armarx::human::pose::model::openpose_body_25::Joints::ElbowRight
@ ElbowRight
armarx::human::pose::model::openpose_body_25
This file is part of ArmarX.
Definition: openpose_body_25.h:28
armarx::human::pose::model::openpose_body_25::Joints::SmallToeRight
@ SmallToeRight
armarx::human::pose::model::openpose_body_25::Joints::KneeRight
@ KneeRight
armarx::human::pose::model::openpose_body_25::Joints::ShoulderLeft
@ ShoulderLeft
armarx::human::pose::model::openpose_body_25::Joints::AnkleRight
@ AnkleRight
armarx::human::pose::model::openpose_body_25::JointNames
const simox::meta::EnumNames< Joints > JointNames
Definition: openpose_body_25.h:62
armarx::human::pose::model::openpose_body_25::Joints::ElbowLeft
@ ElbowLeft
armarx::human::pose::model::openpose_body_25::Joints::HipLeft
@ HipLeft