14#include <unordered_map>
31 Visualizer(std::shared_ptr<std::vector<int>> vps =
nullptr);
76 void add_plane(
const Eigen::Vector4d &plane,
const Eigen::Vector3d &origin,
77 const pcl::RGB &color,
const std::string_view &name =
"plane",
87 const std::string_view &name =
"plane",
int vp = 0);
96 const std::string_view &name =
"plane_pair",
int vp = 0);
105 const std::string_view &name =
"plane_pair",
int vp = 0);
115 void add_floor(
const double height,
const Eigen::Vector3d &min,
116 const Eigen::Vector3d &max,
117 const std::string_view &name =
"floor",
int vp = 0);
127 void add_floors(
const std::vector<double> &heights,
const Eigen::Vector3d &min,
128 const Eigen::Vector3d &max,
129 const std::string_view &name =
"floor",
int vp = 0);
132 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
133 const std::string_view &name =
"cell_complex",
int vp = 0);
137 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
138 const std::string_view &name =
"room_probabilities",
int vp = 0);
142 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
143 const std::string_view &name =
"support_probabilities",
int vp = 0);
146 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
148 std::unordered_map<ReUseX::geometry::CellComplex::Vertex, int>,
150 std::set<int>>> &results,
151 const std::string_view &name =
"rooms",
int vp = 0);
154 [[deprecated(
"Use reset_camera_viewpoint instead")]]
void
158 [[deprecated(
"Use add_point_cloud instead")]]
void
162 [[deprecated(
"Use add_plane instead")]]
void
163 addPlane(
const Eigen::Vector4d &plane,
const Eigen::Vector3d &origin,
164 const pcl::RGB &color,
const std::string_view &name =
"plane",
166 add_plane(plane, origin, color, name, vp);
168 [[deprecated(
"Use add_planes instead")]]
void
170 const std::string_view &name =
"plane",
int vp = 0) {
173 [[deprecated(
"Use add_pair instead")]]
void
175 const std::string_view &name =
"plane_pair",
int vp = 0) {
178 [[deprecated(
"Use add_plane_pairs instead")]]
void
180 const std::string_view &name =
"plane_pair",
int vp = 0) {
183 [[deprecated(
"Use add_floor instead")]]
void
184 addFloor(
const double height,
const Eigen::Vector3d &min,
185 const Eigen::Vector3d &max,
const std::string_view &name =
"floor",
189 [[deprecated(
"Use add_floors instead")]]
void
190 addFloors(
const std::vector<double> &heights,
const Eigen::Vector3d &min,
191 const Eigen::Vector3d &max,
const std::string_view &name =
"floor",
195 [[deprecated(
"Use add_cell_complex instead")]]
void
197 const std::string_view &name =
"cell_complex",
int vp = 0) {
200 [[deprecated(
"Use add_room_probabilities instead")]]
void
202 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
203 const std::string_view &name =
"room_probabilities",
int vp = 0) {
206 [[deprecated(
"Use add_support_probabilities instead")]]
void
208 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
209 const std::string_view &name =
"support_probabilities",
int vp = 0) {
212 [[deprecated(
"Use add_rooms instead")]]
void
213 addRooms(
const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
215 std::unordered_map<ReUseX::geometry::CellComplex::Vertex, int>,
217 std::set<int>>> &results,
218 const std::string_view &name =
"rooms",
int vp = 0) {
224 std::unique_ptr<Impl> pimpl_;
boost::graph_traits< Graph >::vertex_descriptor Vertex
void addSupportProbabilities(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="support_probabilities", int vp=0)
void add_room_probabilities(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="room_probabilities", int vp=0)
void addRooms(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::pair< std::unordered_map< ReUseX::geometry::CellComplex::Vertex, int >, std::unordered_map< ReUseX::geometry::CellComplex::Vertex, std::set< int > > > &results, const std::string_view &name="rooms", int vp=0)
void add_floors(const std::vector< double > &heights, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const std::string_view &name="floor", int vp=0)
Add multiple floor planes at different heights.
void add_plane_pairs(const std::vector< PlanePair > &plane_pairs, const std::string_view &name="plane_pair", int vp=0)
Add multiple plane pairs to the visualization.
void addFloors(const std::vector< double > &heights, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const std::string_view &name="floor", int vp=0)
void add_cell_complex(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="cell_complex", int vp=0)
Visualizer(const Visualizer &)=delete
~Visualizer()
Destroy the Visualizer object.
void addPlane(const Eigen::Vector4d &plane, const Eigen::Vector3d &origin, const pcl::RGB &color, const std::string_view &name="plane", int vp=0)
void resetCameraViewpoint(const std::string &name="")
void addRoomProbabilities(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="room_probabilities", int vp=0)
Visualizer & operator=(Visualizer &&)=delete
void addFloor(const double height, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const std::string_view &name="floor", int vp=0)
void reset_camera_viewpoint(const std::string &name="")
Reset camera viewpoint to default.
void addPointCloud(CloudConstPtr cloud, std::string name="cloud", int vp=0)
void addCellComplex(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="cell_complex", int vp=0)
void add_support_probabilities(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="support_probabilities", int vp=0)
void add_pair(const PlanePair &plane_pair, const std::string_view &name="plane_pair", int vp=0)
Add a plane pair to the visualization.
void add_floor(const double height, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const std::string_view &name="floor", int vp=0)
Add a floor plane at specified height.
Visualizer & operator=(const Visualizer &)=delete
void add_rooms(const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::pair< std::unordered_map< ReUseX::geometry::CellComplex::Vertex, int >, std::unordered_map< ReUseX::geometry::CellComplex::Vertex, std::set< int > > > &results, const std::string_view &name="rooms", int vp=0)
void addPlanePairs(const std::vector< PlanePair > &plane_pairs, const std::string_view &name="plane_pair", int vp=0)
Visualizer(std::shared_ptr< std::vector< int > > vps=nullptr)
Construct a new Visualizer object.
void addPlanes(const std::vector< Pair > &planes, const std::string_view &name="plane", int vp=0)
std::shared_ptr< const std::vector< int > > getViewports() const
Get the configured viewports.
void addPair(const PlanePair &plane_pair, const std::string_view &name="plane_pair", int vp=0)
void add_planes(const std::vector< Pair > &planes, const std::string_view &name="plane", int vp=0)
Add multiple planes to the visualization.
void add_point_cloud(CloudConstPtr cloud, std::string name="cloud", int vp=0)
Add a point cloud to the visualization.
void add_plane(const Eigen::Vector4d &plane, const Eigen::Vector3d &origin, const pcl::RGB &color, const std::string_view &name="plane", int vp=0)
Add a single plane to the visualization.
Visualizer(Visualizer &&)=delete
std::pair< Pair, Pair > PlanePair
typename Cloud::ConstPtr CloudConstPtr