29 #include <unordered_map> 40 void Touch(std::shared_ptr<core::HashMap>& hashmap,
43 int64_t voxel_grid_resolution,
67 int64_t block_resolution,
72 void RayCast(std::shared_ptr<core::DeviceHashBackend>& hashmap,
83 int64_t block_resolution,
89 float weight_threshold);
98 utility::optional<std::reference_wrapper<core::Tensor>> normals,
99 utility::optional<std::reference_wrapper<core::Tensor>> colors,
100 int64_t block_resolution,
102 float weight_threshold,
114 utility::optional<std::reference_wrapper<core::Tensor>> vertex_normals,
115 utility::optional<std::reference_wrapper<core::Tensor>> vertex_colors,
116 int64_t block_resolution,
118 float weight_threshold,
121 void TouchCPU(std::shared_ptr<core::HashMap>& hashmap,
124 int64_t voxel_grid_resolution,
148 int64_t block_resolution,
153 void RayCastCPU(std::shared_ptr<core::DeviceHashBackend>& hashmap,
164 int64_t block_resolution,
170 float weight_threshold);
179 utility::optional<std::reference_wrapper<core::Tensor>> normals,
180 utility::optional<std::reference_wrapper<core::Tensor>> colors,
181 int64_t block_resolution,
183 float weight_threshold,
195 utility::optional<std::reference_wrapper<core::Tensor>> vertex_normals,
196 utility::optional<std::reference_wrapper<core::Tensor>> vertex_colors,
197 int64_t block_resolution,
199 float weight_threshold,
202 #ifdef BUILD_CUDA_MODULE 203 void TouchCUDA(std::shared_ptr<core::HashMap>& hashmap,
206 int64_t voxel_grid_resolution,
230 int64_t block_resolution,
235 void RayCastCUDA(std::shared_ptr<core::DeviceHashBackend>& hashmap,
246 int64_t block_resolution,
252 float weight_threshold);
254 void ExtractSurfacePointsCUDA(
261 utility::optional<std::reference_wrapper<core::Tensor>> normals,
262 utility::optional<std::reference_wrapper<core::Tensor>> colors,
263 int64_t block_resolution,
265 float weight_threshold,
268 void ExtractSurfaceMeshCUDA(
277 utility::optional<std::reference_wrapper<core::Tensor>> vertex_normals,
278 utility::optional<std::reference_wrapper<core::Tensor>> vertex_colors,
279 int64_t block_resolution,
281 float weight_threshold,
void EstimateRange(const core::Tensor &block_keys, core::Tensor &range_minmax_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int down_factor, int64_t block_resolution, float voxel_size, float depth_min, float depth_max)
Definition: TSDFVoxelGrid.cpp:119
void ExtractSurfaceMeshCPU(const core::Tensor &block_indices, const core::Tensor &inv_block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &vertices, core::Tensor &triangles, utility::optional< std::reference_wrapper< core::Tensor >> vertex_normals, utility::optional< std::reference_wrapper< core::Tensor >> vertex_colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &vertex_count)
Definition: TSDFVoxelGridImpl.h:507
void EstimateRangeCPU(const core::Tensor &block_keys, core::Tensor &range_minmax_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int down_factor, int64_t block_resolution, float voxel_size, float depth_min, float depth_max)
Definition: TSDFVoxelGridImpl.h:940
math::float4 color
Definition: LineSetBuffers.cpp:64
void ExtractSurfacePointsCPU(const core::Tensor &block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &points, utility::optional< std::reference_wrapper< core::Tensor >> normals, utility::optional< std::reference_wrapper< core::Tensor >> colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &valid_size)
Definition: TSDFVoxelGridImpl.h:181
void ExtractSurfacePoints(const core::Tensor &block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &points, utility::optional< std::reference_wrapper< core::Tensor >> normals, utility::optional< std::reference_wrapper< core::Tensor >> colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &valid_size)
Definition: TSDFVoxelGrid.cpp:196
Definition: PinholeCameraIntrinsic.cpp:35
void RayCast(std::shared_ptr< core::DeviceHashBackend > &hashmap, const core::Tensor &block_values, const core::Tensor &range_map, core::Tensor &vertex_map, core::Tensor &depth_map, core::Tensor &color_map, core::Tensor &normal_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int64_t block_resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_min, float depth_max, float weight_threshold)
Definition: TSDFVoxelGrid.cpp:153
void IntegrateCPU(const core::Tensor &depth, const core::Tensor &color, const core::Tensor &block_indices, const core::Tensor &block_keys, core::Tensor &block_values, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int64_t resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max)
Definition: TSDFVoxelGridImpl.h:55
void ExtractSurfaceMesh(const core::Tensor &block_indices, const core::Tensor &inv_block_indices, const core::Tensor &nb_block_indices, const core::Tensor &nb_block_masks, const core::Tensor &block_keys, const core::Tensor &block_values, core::Tensor &vertices, core::Tensor &triangles, utility::optional< std::reference_wrapper< core::Tensor >> vertex_normals, utility::optional< std::reference_wrapper< core::Tensor >> vertex_colors, int64_t block_resolution, float voxel_size, float weight_threshold, int &vertex_count)
Definition: TSDFVoxelGrid.cpp:231
void Touch(std::shared_ptr< core::HashMap > &hashmap, const core::Tensor &points, core::Tensor &voxel_block_coords, int64_t voxel_grid_resolution, float voxel_size, float sdf_trunc)
Definition: TSDFVoxelGrid.cpp:41
void TouchCPU(std::shared_ptr< core::HashMap > &hashmap, const core::Tensor &points, core::Tensor &voxel_block_coords, int64_t voxel_grid_resolution, float voxel_size, float sdf_trunc)
Definition: TSDFVoxelGridCPU.cpp:71
void Integrate(const core::Tensor &depth, const core::Tensor &color, const core::Tensor &block_indices, const core::Tensor &block_keys, core::Tensor &block_values, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int64_t resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_max)
Definition: TSDFVoxelGrid.cpp:65
void RayCastCPU(std::shared_ptr< core::DeviceHashBackend > &hashmap, const core::Tensor &block_values, const core::Tensor &range_map, core::Tensor &vertex_map, core::Tensor &depth_map, core::Tensor &color_map, core::Tensor &normal_map, const core::Tensor &intrinsics, const core::Tensor &extrinsics, int h, int w, int64_t block_resolution, float voxel_size, float sdf_trunc, float depth_scale, float depth_min, float depth_max, float weight_threshold)
Definition: TSDFVoxelGridImpl.h:1151