Skip to content

Commit

Permalink
Merge pull request #1815 from ethz-asl/pcl_1.8.0_devel
Browse files Browse the repository at this point in the history
fixes some memory leaks in iss_3d
  • Loading branch information
taketwo authored Feb 9, 2017
2 parents 5f91d7f + 0077da0 commit eea6059
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
1 change: 1 addition & 0 deletions keypoints/include/pcl/keypoints/impl/iss_3d.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,7 @@ pcl::ISSKeypoint3D<PointInT, PointOutT, NormalT>::detectKeypoints (PointCloudOut
delete[] prg_mem;
delete[] prg_local_mem;
delete[] feat_max;
delete[] omp_mem;
}

#define PCL_INSTANTIATE_ISSKeypoint3D(T,U,N) template class PCL_EXPORTS pcl::ISSKeypoint3D<T,U,N>;
Expand Down
15 changes: 11 additions & 4 deletions keypoints/include/pcl/keypoints/iss_3d.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,13 @@ namespace pcl
search_radius_ = salient_radius_;
}

/** \brief Destructor. */
~ISSKeypoint3D ()
{
delete[] third_eigen_value_;
delete[] edge_points_;
}

/** \brief Set the radius of the spherical neighborhood used to compute the scatter matrix.
* \param[in] salient_radius the radius of the spherical neighborhood
*/
Expand All @@ -140,14 +147,14 @@ namespace pcl
setNonMaxRadius (double non_max_radius);

/** \brief Set the radius used for the estimation of the surface normals of the input cloud. If the radius is
* too large, the temporal performances of the detector may degrade significantly.
* too large, the temporal performances of the detector may degrade significantly.
* \param[in] normal_radius the radius used to estimate surface normals
*/
void
setNormalRadius (double normal_radius);

/** \brief Set the radius used for the estimation of the boundary points. If the radius is too large,
* the temporal performances of the detector may degrade significantly.
* the temporal performances of the detector may degrade significantly.
* \param[in] border_radius the radius used to compute the boundary points
*/
void
Expand Down Expand Up @@ -178,13 +185,13 @@ namespace pcl
setNormals (const PointCloudNConstPtr &normals);

/** \brief Set the decision boundary (angle threshold) that marks points as boundary or regular.
* (default \f$\pi / 2.0\f$)
* (default \f$\pi / 2.0\f$)
* \param[in] angle the angle threshold
*/
inline void
setAngleThreshold (float angle)
{
angle_threshold_ = angle;
angle_threshold_ = angle;
}

/** \brief Initialize the scheduler and set the number of threads to use.
Expand Down

0 comments on commit eea6059

Please sign in to comment.