During compilation, the following errors occurred. I don't know how to solve them. I hope I can get help. Thank you.
Errors << tsdf_mapping:make /home/ros/cyz/flybo_ws/logs/tsdf_mapping/build.make.002.log
In file included from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:1:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:53:65: error: expected class-name before ‘{’ token
53 | class TSDFVoxelGridEvaluator : public t::geometry::TSDFVoxelGrid{
| ^
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h: In member function ‘void TSDFVoxelGridEvaluator::initCameraFromFoV(int, double, double, double)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:75:44: error: ‘device_’ was not declared in this scope
75 | {3, 3}, Dtype::Float32).To(device_);
| ^~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::TriangleMesh TSDFVoxelGridEvaluator::extractMesh()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:91:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfaceMesh’
91 | return this->ExtractSurfaceMesh(-1,weight_tresh);
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::PointCloud TSDFVoxelGridEvaluator::extractPointCloud()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:96:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfacePoints’
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:96:59: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:96:88: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In constructor ‘TSDFVoxelGridEvaluator::TSDFVoxelGridEvaluator(std::unordered_map<std::cxx11::basic_string, open3d::core::Dtype>, float, float, int64_t, int64_t, const open3d::core::Device&, const string&)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:18:5: error: class ‘TSDFVoxelGridEvaluator’ does not have any field named ‘TSDFVoxelGrid’
18 | TSDFVoxelGrid(attr_dtype_map,voxel_size,sdf_trunc,block_resolution,block_count,device), save_folder(save_folder){
| ^~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In destructor ‘TSDFVoxelGridEvaluator::~TSDFVoxelGridEvaluator()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:34:17: error: ‘ExtractSurfaceMesh’ was not declared in this scope
34 | auto mesh = ExtractSurfaceMesh(-1,weight_tresh).ToLegacyTriangleMesh();
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In constructor ‘TSDFVoxelGridEvaluator::TSDFVoxelGridEvaluator()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:144:5: error: class ‘TSDFVoxelGridEvaluator’ does not have any field named ‘TSDFVoxelGrid’
144 | TSDFVoxelGrid(){
| ^~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In member function ‘void TSDFVoxelGridEvaluator::integrate(const uint16_t*, const Matrix4f&)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:158:34: error: ‘device’ was not declared in this scope
158 | device_);
| ^~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:165:15: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘Integrate’; did you mean ‘integrate’?
165 | this->Integrate(depth_tensor,intrinsic_,extrinsic_,1000.0f,cam_.max_distance_);
| ^~~~~~~~~
| integrate
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In member function ‘open3d::t::geometry::PointCloud TSDFVoxelGridEvaluator::getTsdf()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:195:5: error: ‘block_hashmap_’ was not declared in this scope
195 | block_hashmap_->GetActiveIndices(active_addrs);
| ^~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:199:26: error: ‘block_resolution_’ was not declared in this scope
199 | int64_t resolution = block_resolution_;
| ^~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:273:52: error: ‘sdf_trunc_’ was not declared in this scope
273 | sdf_ptr[0] = vox_ptr->tsdf*sdf_trunc_;
| ^~~~~~~~~~
make[2]: *** [CMakeFiles/tsdf_mapping_core.dir/build.make:90:CMakeFiles/tsdf_mapping_core.dir/src/tsdfvoxelgridevaluator.cpp.o] 错误 1
make[2]: *** 正在等待未完成的任务....
In file included from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h:3,
from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:1:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:53:65: error: expected class-name before ‘{’ token
53 | class TSDFVoxelGridEvaluator : public t::geometry::TSDFVoxelGrid{
| ^
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h: In member function ‘void TSDFVoxelGridEvaluator::initCameraFromFoV(int, double, double, double)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:75:44: error: ‘device_’ was not declared in this scope
75 | {3, 3}, Dtype::Float32).To(device_);
| ^~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::TriangleMesh TSDFVoxelGridEvaluator::extractMesh()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:91:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfaceMesh’
91 | return this->ExtractSurfaceMesh(-1,weight_tresh);
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::PointCloud TSDFVoxelGridEvaluator::extractPointCloud()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:96:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfacePoints’
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:96:59: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:96:88: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
In file included from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:1:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h: In member function ‘void TSDFRosInterface::save_mesh_callback()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h:47:50: error: ‘const class open3d::t::geometry::TriangleMesh’ has no member named ‘ToLegacyTriangleMesh’
47 | mesh = tsdf_map_->extractMesh().ToLegacyTriangleMesh();
| ^~~~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h: In member function ‘void TSDFRosInterface::save_pc_callback()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h:73:54: error: ‘const class open3d::t::geometry::PointCloud’ has no member named ‘ToLegacyPointCloud’
73 | pc = tsdf_map_->extractPointCloud().ToLegacyPointCloud();
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp: In member function ‘void TSDFRosInterface::publicSurfaceCloud(const open3d::t::geometry::PointCloud&)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:134:76: error: ‘const class open3d::t::geometry::PointCloud’ has no member named ‘ToLegacyPointCloud’
134 | std::shared_ptr<::geometry::PointCloud> downsampled_cloud = surf_cloud.ToLegacyPointCloud().VoxelDownSample(0.04);
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:138:31: error: ‘const class open3d::t::geometry::PointCloud’ has no member named ‘GetPoints’; did you mean ‘GetPointAttr’?
138 | cloud.width = surf_cloud.GetPoints().GetShape(0);
| ^~~~~~~~~
| GetPointAttr
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp: In member function ‘void TSDFRosInterface::publish_mesh()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:196:62: error: ‘const class open3d::t::geometry::TriangleMesh’ has no member named ‘ToLegacyTriangleMesh’
196 | ::geometry::TriangleMesh mesh = tsdf_map_->extractMesh().ToLegacyTriangleMesh();
| ^~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/tsdf_mapping_core.dir/build.make:76:CMakeFiles/tsdf_mapping_core.dir/src/tsdfrosinterface.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:1444:CMakeFiles/tsdf_mapping_core.dir/all] 错误 2
make: *** [Makefile:146:all] 错误 2