54 void CollectHitPointData(
const std::vector<Path>& paths_batch);
68 bool EstimateCubicProxyRoom(
float outlier_portion,
72 class CoefficientsVector :
public Eigen::Matrix<float, kNumReverbOctaveBands,
73 1, Eigen::DontAlign> {
77 template <
typename Arg1,
typename... Args>
78 CoefficientsVector(
const Arg1& arg1, Args&&... args)
79 :
Matrix(arg1, std::forward<Args>(args)...) {}
82 CoefficientsVector() {
setZero(); }
102 std::array<float, kNumReverbOctaveBands> absorption_coefficients;
109 HitPointData CollectHitPointDataFromPath(
const Path& path);
118 bool EstimateCubeGeometry(
float outlier_portion,
float* position,
119 float* dimensions,
float* rotation);
128 std::array<std::vector<HitPointData>, kNumRoomSurfaces> GroupHitPointsByWalls(
136 std::vector<std::pair<WorldPosition, float>>
137 ComputeDistancesAndPositionsFromHitPoints(
138 const std::array<std::vector<HitPointData>, kNumRoomSurfaces>&
139 hit_points_on_walls);
146 void EstimateSurfaceMaterials(
const WorldPosition& room_position,
148 MaterialName* material_names);
151 std::vector<HitPointData> hit_points_;