util.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <optional>
4 #include <string>
5 
7 
8 #include "types.h"
9 
10 namespace armarx::armem::human
11 {
13  {
18  };
19 
20  std::optional<Eigen::Vector3f>
21  computeMeanPosition(const HumanPose& humanPose,
23 
25  {
26  struct Properties
27  {
28  Eigen::Vector3f positionMM = Eigen::Vector3f::Zero();
30  double distanceThresholdMM = -1.0;
31  std::string modelIDs = std::string();
32 
34  const std::string& prefix = std::string());
35 
36  } properties;
37 
38  void updateFromProperties();
39 
40  Eigen::Vector3f positionMM = Eigen::Vector3f::Zero();
42  std::optional<double> distanceThresholdMM = std::nullopt;
43  std::set<std::string> modelIDs = std::set<std::string>();
44  };
45 
46  std::optional<HumanPose>
47  getNearestHuman(const std::vector<HumanPose>& humanPoses,
48  const NearestHumanParameters& parameters = NearestHumanParameters());
49 
50 } // namespace armarx::armem::human
armarx::armem::human::Camera
@ Camera
Definition: util.h:14
armarx::armem::human::KeyPointCoordinateSystem
KeyPointCoordinateSystem
Definition: util.h:12
armarx::armem::human::NearestHumanParameters::Properties
Definition: util.h:26
armarx::armem::human::NearestHumanParameters::Properties::modelIDs
std::string modelIDs
Definition: util.h:31
armarx::armem::human::NearestHumanParameters
Definition: util.h:24
armarx::armem::human::NearestHumanParameters::Properties::coordSystem
KeyPointCoordinateSystem coordSystem
Definition: util.h:29
armarx::armem::human::NearestHumanParameters::Properties::addTo
void addTo(armarx::PropertyDefinitionsPtr &def, const std::string &prefix=std::string())
Definition: util.cpp:90
armarx::armem::human::NearestHumanParameters::updateFromProperties
void updateFromProperties()
Definition: util.cpp:115
armarx::armem::human::NearestHumanParameters::positionMM
Eigen::Vector3f positionMM
Definition: util.h:40
types.h
armarx::armem::human::NearestHumanParameters::Properties::distanceThresholdMM
double distanceThresholdMM
Definition: util.h:30
armarx::armem::human::Robot
@ Robot
Definition: util.h:17
armarx::armem::human::Global
@ Global
Definition: util.h:15
armarx::armem::human::NearestHumanParameters::Properties::positionMM
Eigen::Vector3f positionMM
Definition: util.h:28
armarx::armem::human::NearestHumanParameters::modelIDs
std::set< std::string > modelIDs
Definition: util.h:43
armarx::armem::human::getNearestHuman
std::optional< HumanPose > getNearestHuman(const std::vector< HumanPose > &humanPoses, const NearestHumanParameters &parameters)
Definition: util.cpp:61
armarx::armem::human::GlobalFloorProjection
@ GlobalFloorProjection
Definition: util.h:16
IceUtil::Handle< class PropertyDefinitionContainer >
forward_declarations.h
armarx::armem::human::NearestHumanParameters::coordSystem
KeyPointCoordinateSystem coordSystem
Definition: util.h:41
armarx::armem::human::NearestHumanParameters::properties
struct armarx::armem::human::NearestHumanParameters::Properties properties
armarx::armem::human::computeMeanPosition
std::optional< Eigen::Vector3f > computeMeanPosition(const HumanPose &humanPose, KeyPointCoordinateSystem coordSystem)
Definition: util.cpp:15
armarx::armem::human
Definition: aron_conversions.cpp:16
armarx::armem::human::NearestHumanParameters::distanceThresholdMM
std::optional< double > distanceThresholdMM
Definition: util.h:42