compute_derivatives.cuh 758 B

123456789101112131415161718192021222324
  1. #ifndef FAST_GICP_CUDA_COMPUTE_DERIVATIVES_CUH
  2. #define FAST_GICP_CUDA_COMPUTE_DERIVATIVES_CUH
  3. #include <Eigen/Core>
  4. #include <thrust/device_vector.h>
  5. #include <fast_gicp/cuda/gaussian_voxelmap.cuh>
  6. namespace fast_gicp {
  7. namespace cuda {
  8. double compute_derivatives(
  9. const thrust::device_vector<Eigen::Vector3f>& src_points,
  10. const thrust::device_vector<Eigen::Matrix3f>& src_covs,
  11. const GaussianVoxelMap& voxelmap,
  12. const thrust::device_vector<thrust::pair<int, int>>& voxel_correspondences,
  13. const thrust::device_ptr<const Eigen::Isometry3f>& linearized_x_ptr,
  14. const thrust::device_ptr<const Eigen::Isometry3f>& x_ptr,
  15. Eigen::Matrix<double, 6, 6>* H,
  16. Eigen::Matrix<double, 6, 1>* b);
  17. }
  18. } // namespace fast_gicp
  19. #endif