HLR  0.0.1
Object.hpp
1 #ifndef OBJECT_HPP
2 #define OBJECT_HPP
3 
4 #include <cstdint>
5 #include <optional>
6 #include <HLR/Object.h> //ROS msg
7 #include <CGAL/Simple_cartesian.h>
8 #include <CGAL/Surface_mesh.h>
9 
10 namespace HLR
11 {
12 namespace PointCloud
13 {
22 struct Object
23 {
27  using Point = CGAL::Simple_cartesian<double>::Point_3;
31  using Polyhedron = CGAL::Surface_mesh<Point>;
32 
37  std::uint32_t id;
47  std::optional<double> speed;
52  bool is_cup;
60  bool is_deleted;
61 
67  bool operator==(const Object& rhs) const;
73  bool operator!=(const Object& rhs) const;
78  explicit operator HLR::Object() const;
79 };
80 
81 } // namespace PointCloud
82 } // namespace HLR
83 #endif /* OBJECT_HPP */
std::optional< double > speed
The velocity in m/s at which the Object is moving the real world.
Definition: Object.hpp:47
A class for mapping the ROS::Object defined in msg/Object.msg.
Definition: Object.hpp:22
CGAL::Simple_cartesian< double >::Point_3 Point
Data type specifying a point in 3D space.
Definition: Object.hpp:27
bool operator!=(const Object &rhs) const
Compares each of the attributes for inequality.
std::uint32_t id
Must be unique.
Definition: Object.hpp:37
CGAL::Surface_mesh< Point > Polyhedron
Data type specifying a polyhedron.
Definition: Object.hpp:31
Polyhedron polyhedron
The polyhedron defining the Object.
Definition: Object.hpp:42
bool is_cup
Is true if Vision recognizes it as a cup.
Definition: Object.hpp:52
bool is_deleted
Is true if the Object is not visible in the world anymore.
Definition: Object.hpp:60
bool operator==(const Object &rhs) const
Compares each of the attributes for equality.