|
ReUseX
0.0.1
3D Point Cloud Processing for Building Reuse
|
#include <CellComplex.hpp>


Classes | |
| struct | Is_Type |
| struct | IsFaceBetweenCells |
Public Types | |
| using | Vertex = boost::graph_traits<Graph>::vertex_descriptor |
| using | GraphIter = boost::graph_traits<CellComplex>::vertex_iterator |
| using | AdjacencyIter = boost::graph_traits<CellComplex>::adjacency_iterator |
Public Member Functions | |
| CellComplex ()=delete | |
| CellComplex (std::vector< Eigen::Vector4d, Eigen::aligned_allocator< Eigen::Vector4d > > &planes, std::vector< size_t > &verticals, std::vector< size_t > &horizontals, std::vector< std::pair< size_t, size_t > > &pairs, std::array< double, 2 > min_xy, std::array< double, 2 > max_xy, std::optional< std::function< void(size_t, std::vector< std::array< double, 3 > > const &, std::vector< int > const &)> > viz_func=std::nullopt) | |
| template<typename PointT = pcl::PointXYZ> | |
| auto | compute_face_coverage (pcl::PointCloud< PointT >::ConstPtr cloud, EigenVectorContainer< double, 4 > &planes, std::vector< pcl::IndicesPtr > &inliers, const double grid_size=0.2) -> void |
| template<typename PointT = pcl::PointXYZ, typename PointN = pcl::Normal, typename PointL = pcl::Label> | |
| auto | compute_room_probabilities (pcl::PointCloud< PointT >::ConstPtr cloud, pcl::PointCloud< PointN >::ConstPtr normals, pcl::PointCloud< PointL >::ConstPtr labels, const double grid_size=0.2) -> void |
| Vertex | add_vertex (Eigen::Vector3d pos) |
| template<typename T> | |
| Vertex | add_face (Eigen::Vector3d pos, T begin, T end, int plane_id=-1) |
| template<typename Range> | |
| Vertex | add_face (Eigen::Vector3d pos, Range vertices, int plane_id=-1) |
| template<typename T> | |
| Vertex | add_cell (Eigen::Vector3d pos, T begin, T end) |
| template<typename Range> | |
| Vertex | add_cell (Eigen::Vector3d pos, Range faces) |
| size_t | num_vertices () const |
| size_t | num_faces () const |
| size_t | num_cells () const |
| std::ostream & | operator<< (std::ostream &os) const |
| auto | vertices_begin () const -> VertexIterator |
| auto | vertices_end () const -> VertexIterator |
| auto | faces_begin () const -> FaceIterator |
| auto | faces_end () const -> FaceIterator |
| auto | faces_between_cells_begin () const -> FaceBetweenCellIterator |
| auto | faces_between_cells_end () const -> FaceBetweenCellIterator |
| auto | cells_begin () const -> CellIterator |
| auto | cells_end () const -> CellIterator |
| auto | vertices_begin (Vertex f) const -> VertexOnFaceIterator |
| auto | vertices_end (Vertex f) const -> VertexOnFaceIterator |
| auto | faces_begin (Vertex c) const -> FaceOnCellIterator |
| auto | faces_end (Vertex c) const -> FaceOnCellIterator |
| auto | get_a (Vertex f) const -> Vertex |
| auto | get_b (Vertex f) const -> Vertex |
| Public Member Functions inherited from ReUseX::geometry::Registry | |
| virtual | ~Registry ()=default |
| template<typename Key, typename T> | |
| std::pair< boost::associative_property_map< std::map< Key, T > >, bool > | add_property_map (const std::string &name) |
| template<typename Key, typename T> | |
| const boost::associative_property_map< std::map< Key, T > > | property_map (const std::string &name) const |
Public Attributes | |
| size_t | n_rooms |
| size_t | n_walls |
Protected Types | |
| using | Graph |
| using | IsVertex = Is_Type<NodeType::Vertex> |
| using | IsCell = Is_Type<NodeType::Cell> |
| using | IsFace = Is_Type<NodeType::Face> |
| using | VertexIterator = boost::filter_iterator<IsVertex, GraphIter> |
| using | FaceIterator = boost::filter_iterator<IsFace, GraphIter> |
| using | FaceBetweenCellIterator |
| using | CellIterator = boost::filter_iterator<IsCell, GraphIter> |
| using | VertexOnFaceIterator = boost::filter_iterator<IsVertex, AdjacencyIter> |
| using | FaceOnCellIterator = boost::filter_iterator<IsFace, AdjacencyIter> |
| using | CellOnFaceIterator = boost::filter_iterator<IsCell, AdjacencyIter> |
Definition at line 67 of file CellComplex.hpp.
| using ReUseX::geometry::CellComplex::AdjacencyIter = boost::graph_traits<CellComplex>::adjacency_iterator |
Definition at line 84 of file CellComplex.hpp.
|
protected |
Definition at line 118 of file CellComplex.hpp.
|
protected |
Definition at line 121 of file CellComplex.hpp.
|
protected |
Definition at line 116 of file CellComplex.hpp.
|
protected |
Definition at line 115 of file CellComplex.hpp.
|
protected |
Definition at line 120 of file CellComplex.hpp.
|
protected |
Definition at line 78 of file CellComplex.hpp.
| using ReUseX::geometry::CellComplex::GraphIter = boost::graph_traits<CellComplex>::vertex_iterator |
Definition at line 83 of file CellComplex.hpp.
|
protected |
Definition at line 97 of file CellComplex.hpp.
|
protected |
Definition at line 98 of file CellComplex.hpp.
|
protected |
Definition at line 96 of file CellComplex.hpp.
| using ReUseX::geometry::CellComplex::Vertex = boost::graph_traits<Graph>::vertex_descriptor |
Definition at line 82 of file CellComplex.hpp.
|
protected |
Definition at line 114 of file CellComplex.hpp.
|
protected |
Definition at line 119 of file CellComplex.hpp.
|
delete |
| ReUseX::geometry::CellComplex::CellComplex | ( | std::vector< Eigen::Vector4d, Eigen::aligned_allocator< Eigen::Vector4d > > & | planes, |
| std::vector< size_t > & | verticals, | ||
| std::vector< size_t > & | horizontals, | ||
| std::vector< std::pair< size_t, size_t > > & | pairs, | ||
| std::array< double, 2 > | min_xy, | ||
| std::array< double, 2 > | max_xy, | ||
| std::optional< std::function< void(size_t, std::vector< std::array< double, 3 > > const &, std::vector< int > const &)> | , | ||
| viz_func | = std::nullopt ) |
|
inline |
Definition at line 204 of file CellComplex.hpp.
References add_cell().
|
inline |
|
inline |
Definition at line 187 of file CellComplex.hpp.
References add_face().
|
inline |
|
inline |
Definition at line 165 of file CellComplex.hpp.
References Vertex.
| auto ReUseX::geometry::CellComplex::cells_begin | ( | ) | const -> CellIterator |
References cells_begin().
Referenced by cells_begin(), and compute_room_probabilities().
| auto ReUseX::geometry::CellComplex::cells_end | ( | ) | const -> CellIterator |
References cells_end().
Referenced by cells_end(), and compute_room_probabilities().
| auto ReUseX::geometry::CellComplex::compute_face_coverage | ( | pcl::PointCloud< PointT >::ConstPtr | cloud, |
| EigenVectorContainer< double, 4 > & | planes, | ||
| std::vector< pcl::IndicesPtr > & | inliers, | ||
| const double | grid_size = 0.2 ) -> void |
Definition at line 68 of file CellComplexFaceCoverage.hpp.
References ReUseX::geometry::Registry::add_property_map(), compute_grid_coverage(), faces_begin(), faces_end(), num_faces(), vertices_begin(), and vertices_end().
| auto ReUseX::geometry::CellComplex::compute_room_probabilities | ( | pcl::PointCloud< PointT >::ConstPtr | cloud, |
| pcl::PointCloud< PointN >::ConstPtr | normals, | ||
| pcl::PointCloud< PointL >::ConstPtr | labels, | ||
| const double | grid_size = 0.2 ) -> void |
Definition at line 43 of file CellComplexRoomProbabilites.hpp.
References ReUseX::geometry::Registry::add_property_map(), cells_begin(), cells_end(), n_rooms, num_cells(), and sampleSphericalFibonacci().
| auto ReUseX::geometry::CellComplex::faces_begin | ( | ) | const -> FaceIterator |
References faces_begin().
Referenced by compute_face_coverage(), faces_begin(), and faces_begin().
| auto ReUseX::geometry::CellComplex::faces_begin | ( | Vertex | c | ) | const -> FaceOnCellIterator |
References faces_begin().
| auto ReUseX::geometry::CellComplex::faces_between_cells_begin | ( | ) | const -> FaceBetweenCellIterator |
References faces_between_cells_begin().
Referenced by faces_between_cells_begin().
| auto ReUseX::geometry::CellComplex::faces_between_cells_end | ( | ) | const -> FaceBetweenCellIterator |
References faces_between_cells_end().
Referenced by faces_between_cells_end().
| auto ReUseX::geometry::CellComplex::faces_end | ( | ) | const -> FaceIterator |
References faces_end().
Referenced by compute_face_coverage(), faces_end(), and faces_end().
| auto ReUseX::geometry::CellComplex::faces_end | ( | Vertex | c | ) | const -> FaceOnCellIterator |
References faces_end().
| size_t ReUseX::geometry::CellComplex::num_cells | ( | ) | const |
| size_t ReUseX::geometry::CellComplex::num_faces | ( | ) | const |
Referenced by compute_face_coverage(), and fmt::formatter< ReUseX::geometry::CellComplex >::format().
| size_t ReUseX::geometry::CellComplex::num_vertices | ( | ) | const |
Referenced by fmt::formatter< ReUseX::geometry::CellComplex >::format().
| std::ostream & ReUseX::geometry::CellComplex::operator<< | ( | std::ostream & | os | ) | const |
| auto ReUseX::geometry::CellComplex::vertices_begin | ( | ) | const -> VertexIterator |
Referenced by compute_face_coverage(), and vertices_begin().
| auto ReUseX::geometry::CellComplex::vertices_begin | ( | Vertex | f | ) | const -> VertexOnFaceIterator |
References vertices_begin().
| auto ReUseX::geometry::CellComplex::vertices_end | ( | ) | const -> VertexIterator |
References vertices_end().
Referenced by compute_face_coverage(), vertices_end(), and vertices_end().
| auto ReUseX::geometry::CellComplex::vertices_end | ( | Vertex | f | ) | const -> VertexOnFaceIterator |
References vertices_end().
| size_t ReUseX::geometry::CellComplex::n_rooms |
Definition at line 129 of file CellComplex.hpp.
Referenced by compute_room_probabilities(), and fmt::formatter< ReUseX::geometry::CellComplex >::format().
| size_t ReUseX::geometry::CellComplex::n_walls |
Definition at line 129 of file CellComplex.hpp.
Referenced by fmt::formatter< ReUseX::geometry::CellComplex >::format().