36 std::string horizontal_frame_;
37 std::string vertical_frame_;
39 std::set<Subscriber *> subscribers_;
41 void notifySubscribers();
42 void cleanSubscribers();
46 Prism() : polygon_(), min_z_(0.0), max_z_(0.0), horizontal_frame_(
"world_origin"), vertical_frame_(
"world_origin") {
50 Prism(
const std::vector<Point2d> &points,
const double max_z,
const double min_z);
52 Prism(
const std::vector<Point2d> &points,
const double max_z,
const double min_z,
const std::string &horizontal_frame,
const std::string &vertical_frame);
57 polygon_ = other.polygon_;
58 min_z_ = other.min_z_;
59 max_z_ = other.max_z_;
60 horizontal_frame_ = other.horizontal_frame_;
61 vertical_frame_ = other.vertical_frame_;
69 : polygon_(other.polygon_), min_z_(other.min_z_), max_z_(other.max_z_), horizontal_frame_(other.horizontal_frame_),
70 vertical_frame_(other.vertical_frame_), subscribers_()
76 : polygon_(std::move(other.polygon_)), min_z_(other.min_z_), max_z_(other.max_z_), horizontal_frame_(other.horizontal_frame_),
77 vertical_frame_(other.vertical_frame_), subscribers_(std::move(other.subscribers_)) {
83 polygon_ = std::move(other.polygon_);
84 min_z_ = other.min_z_;
85 max_z_ = other.max_z_;
86 horizontal_frame_ = other.horizontal_frame_;
87 vertical_frame_ = other.vertical_frame_;
88 subscribers_ = std::move(other.subscribers_);
98 std::vector<Point2d> getPoints();
99 double getMaxZ()
const;
100 double getMinZ()
const;
101 std::string getHorizontalFrame()
const;
104 Polygon2D getPolygon()
const;
107 unsigned int getNumVertices()
const;
110 Point2d getCenter()
const;
112 void setMaxZ(
const double value);
114 void setMinZ(
const double value);
119 bool setVertex(
const Point2d &vertex,
const unsigned int index);
125 bool setVertices(
const std::vector<Point2d> &vertices,
const std::vector<unsigned int> &indices);
128 void addVertexClockwise(
const unsigned int index);
131 void addVertexCounterclockwise(
const unsigned int index);
133 void move(
const Point3d &adjustment);
136 void rotate(
const double alpha);
139 void deleteVertex(
const unsigned int index);
142 bool isPointIn(
const Point3d &point)
const;
145 bool isPointIn(
const double x,
const double y,
const double z)
const;
148 bool isPointIn(
const Point2d &point)
const;
151 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