|
ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
|
Solidifier solves room segmentation using Mixed Integer Programming. More...
#include <Solidifier.hpp>
Public Types | |
| using | Fd = CellComplex::Vertex |
| using | Cd = CellComplex::Vertex |
Public Member Functions | |
| Solidifier ()=delete | |
| Solidifier (std::shared_ptr< const CellComplex > cc, SolidifierOptions options=SolidifierOptions{}) | |
| ~Solidifier () | |
| Solidifier (const Solidifier &)=delete | |
| Solidifier & | operator= (const Solidifier &)=delete |
| Solidifier (Solidifier &&)=delete | |
| Solidifier & | operator= (Solidifier &&)=delete |
| std::optional< std::pair< std::unordered_map< Cd, int >, std::unordered_map< Cd, std::set< int > > > > | solve () |
| Solve the MIP problem for room segmentation. | |
| SolveStatus | last_solve_status () const |
| Status of the most recent solve() call. | |
| const std::vector< SectionSolveStats > & | section_stats () const |
| Per-section solve diagnostics from the most recent solve(). | |
| std::pair< Eigen::MatrixXd, Eigen::MatrixXi > | toMesh (std::function< bool(const Cd)> filter) |
| Convert solved cell complex to mesh. | |
Protected Member Functions | |
| std::shared_ptr< const CellComplex > | get_cell_complex () const |
Solidifier solves room segmentation using Mixed Integer Programming.
Uses PIMPL idiom to hide CGAL MIP solver implementation details. This significantly reduces compile times by not exposing CGAL headers.
Definition at line 101 of file Solidifier.hpp.
Definition at line 104 of file Solidifier.hpp.
Definition at line 103 of file Solidifier.hpp.
|
delete |
Referenced by operator=(), operator=(), Solidifier(), and Solidifier().
|
explicit |
| reusex::geometry::Solidifier::~Solidifier | ( | ) |
|
delete |
References Solidifier().
|
delete |
References Solidifier().
|
protected |
| SolveStatus reusex::geometry::Solidifier::last_solve_status | ( | ) | const |
Status of the most recent solve() call.
Distinguishes timeout from infeasibility from a modelling error so the caller can report an actionable reason on failure (issue #212).
|
delete |
References Solidifier().
|
delete |
References Solidifier().
| const std::vector< SectionSolveStats > & reusex::geometry::Solidifier::section_stats | ( | ) | const |
Per-section solve diagnostics from the most recent solve().
Empty when the monolithic path was taken; otherwise one entry per section that was attempted (issue #226).
| std::optional< std::pair< std::unordered_map< Cd, int >, std::unordered_map< Cd, std::set< int > > > > reusex::geometry::Solidifier::solve | ( | ) |
Solve the MIP problem for room segmentation.
| std::pair< Eigen::MatrixXd, Eigen::MatrixXi > reusex::geometry::Solidifier::toMesh | ( | std::function< bool(const Cd)> | filter | ) |
Convert solved cell complex to mesh.
| filter | Function to filter which cells to include in mesh |