UpdateConsumer.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
RobotAPI/libraries/armem/client/MemoryNameSystem.h
>
4
#include <
RobotAPI/libraries/core/FramedPose.h
>
5
6
#include <VisionX/libraries/armem_human/aron/FaceRecognition.aron.generated.h>
7
#include <VisionX/libraries/armem_human/aron/HumanPose.aron.generated.h>
8
#include <VisionX/libraries/armem_human/aron/Profile.aron.generated.h>
9
#include <
VisionX/libraries/armem_human/types.h
>
10
11
namespace
VisionX::components::person_instance_updater
12
{
13
class
UpdateConsumer
14
{
15
public
:
16
UpdateConsumer
();
17
UpdateConsumer
(
int
maxFaceHeadDistance);
18
void
consumeFaceRecognitionUpdate
(
armarx::armem::human::FaceRecognition
faceRecognition,
19
armarx::armem::MemoryID
faceRecognitionID,
20
armarx::armem::client::MemoryNameSystem
mns);
21
void
consumePoseUpdate
(
armarx::armem::human::HumanPose
humanPose,
22
armarx::armem::MemoryID
poseID,
23
armarx::armem::client::MemoryNameSystem
mns);
24
void
consumeProfileUpdate
(
armarx::human::arondto::Profile
profile,
25
armarx::armem::MemoryID
profileID,
26
armarx::armem::client::MemoryNameSystem
mns);
27
28
private
:
29
std::optional<armarx::armem::MemoryID>
30
getClosestPoseID(
Eigen::Matrix<float, 3, 1>
facePos,
31
armarx::armem::client::MemoryNameSystem
mns);
32
33
std::optional<armarx::armem::MemoryID>
34
getClosestFaceID(
armarx::FramedPosition
headPos,
35
armarx::armem::client::MemoryNameSystem
mns);
36
37
static
std::optional<armarx::FramedPosition>
38
getHeadPos(
armarx::armem::human::HumanPose
pose);
39
40
static
float
getDistance(
Eigen::Matrix<float, 3, 1>
facePos,
41
armarx::FramedPosition
headPos);
42
float
maxFaceHeadDistance;
43
};
44
}
// namespace VisionX::components::person_instance_updater
VisionX::components::person_instance_updater::UpdateConsumer
Definition:
UpdateConsumer.h:13
VisionX::components::person_instance_updater::UpdateConsumer::UpdateConsumer
UpdateConsumer()
Definition:
UpdateConsumer.cpp:26
VisionX::components::person_instance_updater::UpdateConsumer::consumeFaceRecognitionUpdate
void consumeFaceRecognitionUpdate(armarx::armem::human::FaceRecognition faceRecognition, armarx::armem::MemoryID faceRecognitionID, armarx::armem::client::MemoryNameSystem mns)
Definition:
UpdateConsumer.cpp:38
armarx::armem::human::FaceRecognition
Definition:
types.h:59
VisionX::components::person_instance_updater
Definition:
PersonInstanceUpdater.cpp:43
VisionX::components::person_instance_updater::UpdateConsumer::consumeProfileUpdate
void consumeProfileUpdate(armarx::human::arondto::Profile profile, armarx::armem::MemoryID profileID, armarx::armem::client::MemoryNameSystem mns)
Definition:
UpdateConsumer.cpp:174
types.h
armarx::armem::MemoryID
A memory ID.
Definition:
MemoryID.h:47
FramedPose.h
VisionX::components::person_instance_updater::UpdateConsumer::consumePoseUpdate
void consumePoseUpdate(armarx::armem::human::HumanPose humanPose, armarx::armem::MemoryID poseID, armarx::armem::client::MemoryNameSystem mns)
Definition:
UpdateConsumer.cpp:118
armarx::FramedPosition
The FramedPosition class.
Definition:
FramedPose.h:142
armarx::armem::server::human::profile::Profile
armarx::human::arondto::Profile Profile
Definition:
Segment.cpp:43
armarx::armem::human::HumanPose
Definition:
types.h:30
armarx::armem::client::MemoryNameSystem
The memory name system (MNS) client.
Definition:
MemoryNameSystem.h:69
Eigen::Matrix< float, 3, 1 >
MemoryNameSystem.h
VisionX
components
person_instance_updater
UpdateConsumer.h
Generated on Sat Oct 12 2024 09:14:16 for armarx_documentation by
1.8.17