38 std::string horizontal_frame_;
39 std::string vertical_frame_;
41 std::set<Subscriber*> subscribers_;
43 void notifySubscribers();
44 void cleanSubscribers();
48 Prism() : polygon_(), min_z_(0.0), max_z_(0.0), horizontal_frame_(
"world_origin"), vertical_frame_(
"world_origin")
53 Prism(
const std::vector<Point2d>& points,
const double max_z,
const double min_z);
55 Prism(
const std::vector<Point2d>& points,
const double max_z,
const double min_z,
const std::string& horizontal_frame,
const std::string& vertical_frame);
58 Prism& operator=(
const Prism& other)
62 polygon_ = other.polygon_;
63 min_z_ = other.min_z_;
64 max_z_ = other.max_z_;
65 horizontal_frame_ = other.horizontal_frame_;
66 vertical_frame_ = other.vertical_frame_;
73 Prism(
const Prism& other)
74 : polygon_(other.polygon_),
77 horizontal_frame_(other.horizontal_frame_),
78 vertical_frame_(other.vertical_frame_),
84 Prism(Prism&& other) noexcept
85 : polygon_(std::move(other.polygon_)),
88 horizontal_frame_(other.horizontal_frame_),
89 vertical_frame_(other.vertical_frame_),
90 subscribers_(std::move(other.subscribers_))
95 Prism& operator=(Prism&& other)
noexcept
99 polygon_ = std::move(other.polygon_);
100 min_z_ = other.min_z_;
101 max_z_ = other.max_z_;
102 horizontal_frame_ = other.horizontal_frame_;
103 vertical_frame_ = other.vertical_frame_;
104 subscribers_ = std::move(other.subscribers_);
114 std::vector<Point2d> getPoints()
const;
115 double getMaxZ()
const;
116 double getMinZ()
const;
117 std::string getHorizontalFrame()
const;
120 Polygon2D getPolygon()
const;
123 unsigned int getNumVertices()
const;
126 Point2d getCenter()
const;
128 void setMaxZ(
const double value);
130 void setMinZ(
const double value);
135 bool setVertex(
const Point2d& vertex,
const unsigned int index);
141 bool setVertices(
const std::vector<Point2d>& vertices,
const std::vector<unsigned int>& indices);
144 void addVertexClockwise(
const unsigned int index);
147 void addVertexCounterclockwise(
const unsigned int index);
149 void move(
const Point3d& adjustment);
152 void rotate(
const double alpha);
155 void deleteVertex(
const unsigned int index);
158 bool isPointIn(
const Point3d& point)
const;
161 bool isPointIn(
const double x,
const double y,
const double z)
const;
164 bool isPointIn(
const Point2d& point)
const;
167 bool isPointIn(
const double x,
const double y)
const;
All mrs_lib functions, classes, variables and definitions are contained in this namespace.
Definition attitude_converter.h:24