30 #include <unordered_map> 35 namespace integration {
37 class UniformTSDFVolume;
64 std::shared_ptr<UniformTSDFVolume>
volume_;
72 int volume_unit_resolution = 16,
73 int depth_sampling_stride = 4);
77 void Reset()
override;
80 const Eigen::Matrix4d &extrinsic)
override;
93 std::unordered_map<Eigen::Vector3i,
99 Eigen::Vector3i LocateVolumeUnit(
const Eigen::Vector3d &point) {
100 return Eigen::Vector3i((
int)std::floor(point(0) / volume_unit_length_),
101 (
int)std::floor(point(1) / volume_unit_length_),
102 (
int)std::floor(point(2) / volume_unit_length_));
105 std::shared_ptr<UniformTSDFVolume> OpenVolumeUnit(
106 const Eigen::Vector3i &index);
108 Eigen::Vector3d GetNormalAt(
const Eigen::Vector3d &p);
110 double GetTSDFAt(
const Eigen::Vector3d &p);
double volume_unit_length_
Definition: ScalableTSDFVolume.h:87
Definition: ScalableTSDFVolume.h:57
TSDFVolumeColorType
Definition: TSDFVolume.h:37
int volume_unit_resolution_
Definition: ScalableTSDFVolume.h:86
Definition: PinholeCameraIntrinsic.h:41
Definition: TSDFVolume.h:50
Eigen::Vector3i index_
Definition: ScalableTSDFVolume.h:65
int depth_sampling_stride_
Definition: ScalableTSDFVolume.h:88
VolumeUnit()
Definition: ScalableTSDFVolume.h:61
void Integrate(const geometry::RGBDImage &image, const camera::PinholeCameraIntrinsic &intrinsic, const Eigen::Matrix4d &extrinsic) override
Function to integrate an RGB-D image into the volume.
Definition: ScalableTSDFVolume.cpp:53
std::shared_ptr< geometry::TriangleMesh > ExtractTriangleMesh() override
Definition: ScalableTSDFVolume.cpp:204
Definition: RGBDImage.h:38
std::shared_ptr< geometry::PointCloud > ExtractVoxelPointCloud()
Definition: ScalableTSDFVolume.cpp:347
std::unordered_map< Eigen::Vector3i, VolumeUnit, utility::hash_eigen::hash< Eigen::Vector3i > > volume_units_
Definition: ScalableTSDFVolume.h:96
~ScalableTSDFVolume() override
Definition: ScalableTSDFVolume.cpp:49
Definition: PinholeCameraIntrinsic.cpp:33
Definition: ScalableTSDFVolume.h:59
ScalableTSDFVolume(double voxel_length, double sdf_trunc, TSDFVolumeColorType color_type, int volume_unit_resolution=16, int depth_sampling_stride=4)
Definition: ScalableTSDFVolume.cpp:39
std::shared_ptr< geometry::PointCloud > ExtractPointCloud() override
Definition: ScalableTSDFVolume.cpp:109
void Reset() override
Function to reset the TSDFVolume.
Definition: ScalableTSDFVolume.cpp:51
std::shared_ptr< UniformTSDFVolume > volume_
Definition: ScalableTSDFVolume.h:64