Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Doxygen warnings unrelated to documentation #3701

Merged
merged 2 commits into from Mar 19, 2020

Conversation

aPonza
Copy link
Contributor

@aPonza aPonza commented Mar 2, 2020

Building the documentation currently yields 146 warnings:

Build output
$ cmake --build . --parallel 8
warning: Tag 'PERL_PATH' at line 349 of file '/opt/libpcl/build-master/doc/doxygen/doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'MSCGEN_PATH' at line 355 of file '/opt/libpcl/build-master/doc/doxygen/doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
/opt/libpcl/pcl/common/include/pcl/point_cloud.h:347: warning: multiple use of section label 'getMatrixXfMap' while adding anchor, (first occurrence: /opt/libpcl/pcl/common/include/pcl/point_cloud.h, line 323)
/opt/libpcl/pcl/features/include/pcl/features/impl/intensity_gradient.hpp:238: warning: Reached end of file while still inside a (nested) comment. Nesting level 2 (probable line reference: 135, 95)
/opt/libpcl/pcl/filters/include/pcl/filters/impl/plane_clipper3D.hpp:229: warning: Reached end of file while still inside a (nested) comment. Nesting level 3 (probable line reference: 219, 215, 185)
/opt/libpcl/pcl/gpu/people/src/cuda/nvidia/NPP_staging.hpp:909: warning: end of file while inside a group
/opt/libpcl/pcl/recognition/recognition.doxy:8: warning: multiple use of section label 'secRecognitionRequirements' while adding section, (first occurrence: /opt/libpcl/pcl/geometry/geometry.doxy, line 7)
/opt/libpcl/pcl/common/include/pcl/point_traits.h:181: warning: Detected potential recursive class relation between class pcl::traits::fieldList and base class pcl::traits::fieldList< POD< PointT >::type >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:181: warning: Detected potential recursive class relation between class pcl::traits::fieldList and base class fieldList< POD< PointT >::type >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:181: warning: Detected potential recursive class relation between class pcl::traits::fieldList and base class pcl::traits::fieldList< POD< PointT >::type >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:181: warning: Detected potential recursive class relation between class pcl::traits::fieldList and base class fieldList< POD< PointT >::type >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:167: warning: Detected potential recursive class relation between class pcl::traits::datatype and base class pcl::traits::datatype< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:167: warning: Detected potential recursive class relation between class pcl::traits::datatype and base class datatype< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:167: warning: Detected potential recursive class relation between class pcl::traits::datatype and base class pcl::traits::datatype< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:167: warning: Detected potential recursive class relation between class pcl::traits::datatype and base class datatype< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:155: warning: Detected potential recursive class relation between class pcl::traits::offset and base class pcl::traits::offset< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:155: warning: Detected potential recursive class relation between class pcl::traits::offset and base class offset< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:155: warning: Detected potential recursive class relation between class pcl::traits::offset and base class pcl::traits::offset< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:155: warning: Detected potential recursive class relation between class pcl::traits::offset and base class offset< POD< PointT >::type, Tag >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:143: warning: Detected potential recursive class relation between class pcl::traits::name and base class pcl::traits::name< POD< PointT >::type, Tag, dummy >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:143: warning: Detected potential recursive class relation between class pcl::traits::name and base class name< POD< PointT >::type, Tag, dummy >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:143: warning: Detected potential recursive class relation between class pcl::traits::name and base class pcl::traits::name< POD< PointT >::type, Tag, dummy >!

/opt/libpcl/pcl/common/include/pcl/point_traits.h:143: warning: Detected potential recursive class relation between class pcl::traits::name and base class name< POD< PointT >::type, Tag, dummy >!

/opt/libpcl/pcl/2d/include/pcl/2d/impl/keypoint.hpp:51: warning: no matching class member found for 
  void pcl::keypoint::harrisCorner(ImageType &output, ImageType &input, const float sigma_d, const float sigma_i, const float alpha, const float thresh)

/opt/libpcl/pcl/2d/include/pcl/2d/impl/keypoint.hpp:120: warning: no uniquely matching class member found for 
  void pcl::keypoint::hessianBlob(ImageType &output, ImageType &input, const float sigma, bool SCALED)

/opt/libpcl/pcl/2d/include/pcl/2d/impl/keypoint.hpp:180: warning: no uniquely matching class member found for 
  void pcl::keypoint::hessianBlob(ImageType &output, ImageType &input, const float start_scale, const float scaling_factor, const int num_scales)

/opt/libpcl/pcl/2d/include/pcl/2d/impl/keypoint.hpp:244: warning: no matching class member found for 
  void pcl::keypoint::imageElementMultiply(ImageType &output, ImageType &input1, ImageType &input2)

/opt/libpcl/pcl/common/include/pcl/common/impl/centroid.hpp:174: warning: no matching file member found for 
unsigned pcl::computeCovarianceMatrix(const pcl::PointCloud< pcl::PointXYZRGB > &cloud, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
Possible candidates:
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)' at line 185 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)' at line 190 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)' at line 198 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)' at line 253 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)' at line 259 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)' at line 268 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)' at line 290 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)' at line 296 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)' at line 305 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)' at line 509 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3f &covariance_matrix)' at line 513 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3d &covariance_matrix)' at line 520 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)' at line 539 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3f &covariance_matrix)' at line 544 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3d &covariance_matrix)' at line 552 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)' at line 572 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3f &covariance_matrix)' at line 577 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h
 'unsigned int computeCovarianceMatrix(const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3d &covariance_matrix)' at line 585 of file /opt/libpcl/pcl/common/include/pcl/common/centroid.h

/opt/libpcl/pcl/common/include/pcl/common/impl/file_io.hpp:46: warning: no matching file member found for 
void pcl::getAllPcdFilesInDirectory(const std::string &directory, std::vector< std::string > &file_names)
Possible candidates:
 'void getAllPcdFilesInDirectory(const std::string &directory, std::vector< std::string > &file_names)' at line 46 of file /opt/libpcl/pcl/common/include/pcl/common/impl/file_io.hpp

/opt/libpcl/pcl/common/include/pcl/common/impl/intersections.hpp:76: warning: no matching file member found for 
bool pcl::planeWithPlaneIntersection(const Eigen::Matrix< Scalar, 4, 1 > &plane_a, const Eigen::Matrix< Scalar, 4, 1 > &plane_b, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &line, double angular_tolerance)
Possible candidates:
 'PCL_EXPORTS bool planeWithPlaneIntersection(const Eigen::Matrix< Scalar, 4, 1 > &plane_a, const Eigen::Matrix< Scalar, 4, 1 > &plane_b, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &line, double angular_tolerance=0.1)' at line 90 of file /opt/libpcl/pcl/common/include/pcl/common/intersections.h
 'PCL_EXPORTS bool planeWithPlaneIntersection(const Eigen::Vector4f &plane_a, const Eigen::Vector4f &plane_b, Eigen::VectorXf &line, double angular_tolerance=0.1)' at line 96 of file /opt/libpcl/pcl/common/include/pcl/common/intersections.h
 'PCL_EXPORTS bool planeWithPlaneIntersection(const Eigen::Vector4d &plane_a, const Eigen::Vector4d &plane_b, Eigen::VectorXd &line, double angular_tolerance=0.1)' at line 105 of file /opt/libpcl/pcl/common/include/pcl/common/intersections.h

/opt/libpcl/pcl/common/include/pcl/common/impl/intersections.hpp:124: warning: no matching file member found for 
bool pcl::threePlanesIntersection(const Eigen::Matrix< Scalar, 4, 1 > &plane_a, const Eigen::Matrix< Scalar, 4, 1 > &plane_b, const Eigen::Matrix< Scalar, 4, 1 > &plane_c, Eigen::Matrix< Scalar, 3, 1 > &intersection_point, double determinant_tolerance)
Possible candidates:
 'PCL_EXPORTS bool threePlanesIntersection(const Eigen::Matrix< Scalar, 4, 1 > &plane_a, const Eigen::Matrix< Scalar, 4, 1 > &plane_b, const Eigen::Matrix< Scalar, 4, 1 > &plane_c, Eigen::Matrix< Scalar, 3, 1 > &intersection_point, double determinant_tolerance=1e-6)' at line 125 of file /opt/libpcl/pcl/common/include/pcl/common/intersections.h
 'PCL_EXPORTS bool threePlanesIntersection(const Eigen::Vector4f &plane_a, const Eigen::Vector4f &plane_b, const Eigen::Vector4f &plane_c, Eigen::Vector3f &intersection_point, double determinant_tolerance=1e-6)' at line 133 of file /opt/libpcl/pcl/common/include/pcl/common/intersections.h
 'PCL_EXPORTS bool threePlanesIntersection(const Eigen::Vector4d &plane_a, const Eigen::Vector4d &plane_b, const Eigen::Vector4d &plane_c, Eigen::Vector3d &intersection_point, double determinant_tolerance=1e-6)' at line 144 of file /opt/libpcl/pcl/common/include/pcl/common/intersections.h

/opt/libpcl/pcl/filters/include/pcl/filters/impl/morphological_filter.hpp:57: warning: no matching file member found for 
void pcl::applyMorphologicalOperator(const typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &cloud_in, float resolution, int morphological_operator, pcl::PointCloud< pcl::PointXYZRGB > &cloud_out)
Possible candidates:
 'PCL_EXPORTS void applyMorphologicalOperator(const typename pcl::PointCloud< PointT >::ConstPtr &cloud_in, float resolution, const int morphological_operator, pcl::PointCloud< PointT > &cloud_out)' at line 71 of file /opt/libpcl/pcl/filters/include/pcl/filters/morphological_filter.h

/opt/libpcl/pcl/gpu/containers/include/pcl/gpu/containers/impl/device_memory.hpp:45: warning: member 'operator pcl::gpu::PtrSz' of class 'DeviceMemory' cannot be found
/opt/libpcl/pcl/gpu/containers/include/pcl/gpu/containers/impl/device_memory.hpp:58: warning: member 'operator pcl::gpu::PtrStep' of class 'DeviceMemory2D' cannot be found
/opt/libpcl/pcl/gpu/containers/include/pcl/gpu/containers/impl/device_memory.hpp:66: warning: member 'operator pcl::gpu::PtrStepSz' of class 'DeviceMemory2D' cannot be found
/opt/libpcl/pcl/ml/include/pcl/ml/impl/kmeans.hpp:60: warning: documented symbol 'void pcl::Kmeans::k_means' was not declared or defined.
/opt/libpcl/pcl/ml/include/pcl/ml/impl/kmeans.hpp:65: warning: no matching class member found for 
  template < PointT >
  void pcl::Kmeans::cluster(std::vector< PointIndices > &clusters)

/opt/libpcl/pcl/outofcore/include/pcl/outofcore/impl/octree_base.hpp:281: warning: no uniquely matching class member found for 
  template < Container, PointT >
  void pcl::outofcore::OutofcoreOctreeBase< Container, PointT >::queryFrustum(double[24] planes[24], std::list< std::string > &file_names) const
Possible candidates:
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryFrustum(const double *planes, std::list< std::string > &file_names) const' at line 301 of file /opt/libpcl/pcl/outofcore/include/pcl/outofcore/octree_base.h
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryFrustum(const double *planes, std::list< std::string > &file_names, const std::uint32_t query_depth) const' at line 304 of file /opt/libpcl/pcl/outofcore/include/pcl/outofcore/octree_base.h
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryFrustum(const double *planes, const Eigen::Vector3d &eye, const Eigen::Matrix4d &view_projection_matrix, std::list< std::string > &file_names, const std::uint32_t query_depth) const' at line 307 of file /opt/libpcl/pcl/outofcore/include/pcl/outofcore/octree_base.h

/opt/libpcl/pcl/outofcore/include/pcl/outofcore/impl/octree_base.hpp:478: warning: no matching class member found for 
  template < ContainerT, PointT >
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::DeAllocEmptyNodeCache(pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, pcl::PointXYZRGB > *current)
Possible candidates:
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::DeAllocEmptyNodeCache(OutofcoreNodeType *current)'
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::DeAllocEmptyNodeCache()'

/opt/libpcl/pcl/outofcore/include/pcl/outofcore/impl/octree_base.hpp:581: warning: no matching class member found for 
  template < ContainerT, PointT >
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::printBoundingBox(pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, pcl::PointXYZRGB > &node) const
Possible candidates:
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::printBoundingBox(const std::size_t query_depth) const'
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::printBoundingBox(OutofcoreNodeType &node) const'
  void pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::printBoundingBox() const'

/opt/libpcl/pcl/recognition/include/pcl/recognition/impl/ransac_based/simple_octree.hpp:23: warning: no uniquely matching class member found for 
  template < NodeData, NodeDataCreator, Scalar >
  pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::~Node()

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/geometry.hpp:82: warning: no matching file member found for 
void pcl::poisson::EdgeCollapse(const float &edgeRatio, std::vector< pcl::poisson::TriangleIndex > &triangles, std::vector< pcl::poisson::Point3D< float > > &positions, std::vector< pcl::poisson::Point3D< float > > *normals)
Possible candidates:
 'void EdgeCollapse(const Real &edgeRatio, std::vector< TriangleIndex > &triangles, std::vector< Point3D< Real > > &positions, std::vector< Point3D< Real > > *normals)' at line 82 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/geometry.hpp

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/geometry.hpp:177: warning: no matching file member found for 
void pcl::poisson::TriangleCollapse(const float &edgeRatio, std::vector< pcl::poisson::TriangleIndex > &triangles, std::vector< pcl::poisson::Point3D< float > > &positions, std::vector< pcl::poisson::Point3D< float > > *normals)
Possible candidates:
 'void TriangleCollapse(const Real &edgeRatio, std::vector< TriangleIndex > &triangles, std::vector< Point3D< Real > > &positions, std::vector< Point3D< Real > > *normals)' at line 177 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/geometry.hpp

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/multi_grid_octree_data.hpp:1130: warning: no matching class member found for 
  template < Degree >
  int pcl::poisson::Octree< Degree >::GetMatrixRowSize(const pcl::poisson::OctNode< pcl::poisson::TreeNodeData, float >::Neighbors5 &neighbors5) const
Possible candidates:
  int pcl::poisson::Octree< Degree >::GetMatrixRowSize(const TreeOctNode::Neighbors5 &neighbors5) const'
  int pcl::poisson::Octree< Degree >::GetMatrixRowSize(const TreeOctNode::Neighbors5 &neighbors5, int xStart, int xEnd, int yStart, int yEnd, int zStart, int zEnd) const'

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/multi_grid_octree_data.hpp:1132: warning: no matching class member found for 
  template < Degree >
  int pcl::poisson::Octree< Degree >::GetMatrixRowSize(const pcl::poisson::OctNode< pcl::poisson::TreeNodeData, float >::Neighbors5 &neighbors5, int xStart, int xEnd, int yStart, int yEnd, int zStart, int zEnd) const
Possible candidates:
  int pcl::poisson::Octree< Degree >::GetMatrixRowSize(const TreeOctNode::Neighbors5 &neighbors5) const'
  int pcl::poisson::Octree< Degree >::GetMatrixRowSize(const TreeOctNode::Neighbors5 &neighbors5, int xStart, int xEnd, int yStart, int yEnd, int zStart, int zEnd) const'

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/multi_grid_octree_data.hpp:1145: warning: no matching class member found for 
  template < Degree >
  int pcl::poisson::Octree< Degree >::SetMatrixRow(const pcl::poisson::OctNode< pcl::poisson::TreeNodeData, float >::Neighbors5 &neighbors5, MatrixEntry< float > *row, int offset, const double stencil[5][5][5]) const
Possible candidates:
  int pcl::poisson::Octree< Degree >::SetMatrixRow(const TreeOctNode::Neighbors5 &neighbors5, pcl::poisson::MatrixEntry< float > *row, int offset, const double stencil[5][5][5]) const'
  int pcl::poisson::Octree< Degree >::SetMatrixRow(const TreeOctNode::Neighbors5 &neighbors5, pcl::poisson::MatrixEntry< float > *row, int offset, const double stencil[5][5][5], int xStart, int xEnd, int yStart, int yEnd, int zStart, int zEnd) const'

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/multi_grid_octree_data.hpp:1150: warning: no matching class member found for 
  template < Degree >
  int pcl::poisson::Octree< Degree >::SetMatrixRow(const pcl::poisson::OctNode< pcl::poisson::TreeNodeData, float >::Neighbors5 &neighbors5, MatrixEntry< float > *row, int offset, const double stencil[5][5][5], int xStart, int xEnd, int yStart, int yEnd, int zStart, int zEnd) const
Possible candidates:
  int pcl::poisson::Octree< Degree >::SetMatrixRow(const TreeOctNode::Neighbors5 &neighbors5, pcl::poisson::MatrixEntry< float > *row, int offset, const double stencil[5][5][5]) const'
  int pcl::poisson::Octree< Degree >::SetMatrixRow(const TreeOctNode::Neighbors5 &neighbors5, pcl::poisson::MatrixEntry< float > *row, int offset, const double stencil[5][5][5], int xStart, int xEnd, int yStart, int yEnd, int zStart, int zEnd) const'

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/multi_grid_octree_data.hpp:2638: warning: no matching class member found for 
  template < Degree >
  Real pcl::poisson::Octree< Degree >::getCornerValue(const pcl::poisson::OctNode< pcl::poisson::TreeNodeData, float >::ConstNeighborKey3 &neighborKey3, const TreeOctNode *node, int corner, const Real *metSolution)
Possible candidates:
  Real pcl::poisson::Octree< Degree >::getCornerValue(const TreeOctNode::ConstNeighborKey3 &neighborKey3, const TreeOctNode *node, int corner, const Real *metSolution)'
  Real pcl::poisson::Octree< Degree >::getCornerValue(const TreeOctNode::ConstNeighborKey3 &neighborKey3, const TreeOctNode *node, int corner, const Real *metSolution, const double stencil1[3][3][3], const double stencil2[3][3][3])'

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/multi_grid_octree_data.hpp:2698: warning: no matching class member found for 
  template < Degree >
  Real pcl::poisson::Octree< Degree >::getCornerValue(const pcl::poisson::OctNode< pcl::poisson::TreeNodeData, float >::ConstNeighborKey3 &neighborKey3, const TreeOctNode *node, int corner, const Real *metSolution, const double stencil1[3][3][3], const double stencil2[3][3][3])
Possible candidates:
  Real pcl::poisson::Octree< Degree >::getCornerValue(const TreeOctNode::ConstNeighborKey3 &neighborKey3, const TreeOctNode *node, int corner, const Real *metSolution)'
  Real pcl::poisson::Octree< Degree >::getCornerValue(const TreeOctNode::ConstNeighborKey3 &neighborKey3, const TreeOctNode *node, int corner, const Real *metSolution, const double stencil1[3][3][3], const double stencil2[3][3][3])'

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/multi_grid_octree_data.hpp:3565: warning: no matching class member found for 
  template < Degree >
  int pcl::poisson::Octree< Degree >::GetMCIsoTriangles(pcl::poisson::OctNode< class TreeNodeData, Real > *node, pcl::poisson::CoredMeshData *mesh, pcl::poisson::Octree::RootData &rootData, vector< pcl::poisson::Point3D< float > > *interiorPositions, int offSet, int sDepth, bool addBarycenter, bool polygonMesh)
Possible candidates:
  int pcl::poisson::Octree< Degree >::GetMCIsoTriangles(TreeOctNode *node, pcl::poisson::CoredMeshData *mesh, RootData &rootData, std::vector< pcl::poisson::Point3D< float > > *interiorPositions, int offSet, int sDepth, bool polygonMesh, std::vector< pcl::poisson::Point3D< float > > *barycenters)'
  void pcl::poisson::Octree< Degree >::GetMCIsoTriangles(Real isoValue, int subdivideDepth, pcl::poisson::CoredMeshData *mesh, int fullDepthIso=0, int nonLinearFit=1, bool addBarycenter=false, bool polygonMesh=false)'

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp:1102: warning: no uniquely matching class member found for 
  template < NodeData, Real >
  OctNode< NodeData, Real >::Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(pcl::poisson::OctNode< NodeData, float > *root, Point3D< Real > p, int d)
Possible candidates:
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *root, Point3D< Real > p, int d)' at line 209 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *node, bool flags[3][3][3])' at line 211 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *node)' at line 212 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp:1178: warning: no uniquely matching class member found for 
  template < NodeData, Real >
  OctNode< NodeData, Real >::Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::getNeighbors(pcl::poisson::OctNode< NodeData, float > *root, Point3D< Real > p, int d)
Possible candidates:
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::getNeighbors(OctNode *root, Point3D< Real > p, int d)' at line 210 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::getNeighbors(OctNode *node)' at line 213 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp:1237: warning: no uniquely matching class member found for 
  template < NodeData, Real >
  OctNode< NodeData, Real >::Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(pcl::poisson::OctNode< NodeData, float > *node)
Possible candidates:
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *root, Point3D< Real > p, int d)' at line 209 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *node, bool flags[3][3][3])' at line 211 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *node)' at line 212 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp:1313: warning: no uniquely matching class member found for 
  template < NodeData, Real >
  OctNode< NodeData, Real >::Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(pcl::poisson::OctNode< NodeData, float > *node, bool flags[3][3][3])
Possible candidates:
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *root, Point3D< Real > p, int d)' at line 209 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *node, bool flags[3][3][3])' at line 211 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::setNeighbors(OctNode *node)' at line 212 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp:1407: warning: no uniquely matching class member found for 
  template < NodeData, Real >
  OctNode< NodeData, Real >::Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::getNeighbors(pcl::poisson::OctNode< NodeData, float > *node)
Possible candidates:
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::getNeighbors(OctNode *root, Point3D< Real > p, int d)' at line 210 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  Neighbors3 & pcl::poisson::OctNode< NodeData, Real >::NeighborKey3::getNeighbors(OctNode *node)' at line 213 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp:1490: warning: no uniquely matching class member found for 
  template < NodeData, Real >
  OctNode< NodeData, Real >::ConstNeighbors3 & pcl::poisson::OctNode< NodeData, Real >::ConstNeighborKey3::getNeighbors(const pcl::poisson::OctNode< NodeData, float > *node)
Possible candidates:
  ConstNeighbors3 & pcl::poisson::OctNode< NodeData, Real >::ConstNeighborKey3::getNeighbors(const OctNode *node)' at line 231 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  ConstNeighbors3 & pcl::poisson::OctNode< NodeData, Real >::ConstNeighborKey3::getNeighbors(const OctNode *node, int minDepth)' at line 232 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h

/opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp:1548: warning: no uniquely matching class member found for 
  template < NodeData, Real >
  OctNode< NodeData, Real >::ConstNeighbors3 & pcl::poisson::OctNode< NodeData, Real >::ConstNeighborKey3::getNeighbors(const pcl::poisson::OctNode< NodeData, float > *node, int minDepth)
Possible candidates:
  ConstNeighbors3 & pcl::poisson::OctNode< NodeData, Real >::ConstNeighborKey3::getNeighbors(const OctNode *node)' at line 231 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h
  ConstNeighbors3 & pcl::poisson::OctNode< NodeData, Real >::ConstNeighborKey3::getNeighbors(const OctNode *node, int minDepth)' at line 232 of file /opt/libpcl/pcl/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.h

/opt/libpcl/pcl/visualization/include/pcl/visualization/common/common.h:111: warning: unable to resolve reference to 'pcl::visualization::LookUpTableRepresentationProperties::PCL_VISUALIZER_LUT_RANGE_AUTO' for \ref command
/opt/libpcl/pcl/io/include/pcl/io/openni_grabber.h:134: warning: unable to resolve reference to 'pcl::openni_wrapper::OpenNIDevice' for \ref command
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/lccp_segmentation.h:344: warning: Unsupported xml/html tag <SuperVoxel> found
warning: Included by graph for 'common.h' not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.
warning: Included by graph for 'memory.h' not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.
warning: Included by graph for 'pcl_macros.h' not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.
warning: Included by graph for 'point_types.h' not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.
/opt/libpcl/pcl/common/include/pcl/common/io.h:288: warning: Found unknown command '\warn'
/opt/libpcl/pcl/common/include/pcl/common/common.h:60: warning: The following parameters of pcl::getAngle3D(const Eigen::Vector4f &v1, const Eigen::Vector4f &v2, const bool in_degree=false) are not documented:
  parameter 'in_degree'
/opt/libpcl/pcl/filters/include/pcl/filters/normal_refinement.h:44: warning: argument 'cloud' of command @param is not found in the argument list of pcl::assignNormalWeights(const PointCloud< NormalT > &, int, const std::vector< int > &k_indices, const std::vector< float > &k_sqr_distances)
/opt/libpcl/pcl/filters/include/pcl/filters/normal_refinement.h:44: warning: argument 'index' of command @param is not found in the argument list of pcl::assignNormalWeights(const PointCloud< NormalT > &, int, const std::vector< int > &k_indices, const std::vector< float > &k_sqr_distances)
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'lab_weight' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'cloud' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'cloud' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'output' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'guess' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'query' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'index' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
<POINT_CLOUD_REGISTER_POINT_STRUCT>:1: warning: argument 'distance' of command @param is not found in the argument list of POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,(float, x, x)(float, y, y)(float, z, z)(float, L, L)(float, a, a)(float, b, b))
/opt/libpcl/pcl/io/include/pcl/io/file_io.h:132: warning: argument 'file_name' of command @param is not found in the argument list of pcl::ASCIIReader::read(typename PointT)
/opt/libpcl/pcl/io/include/pcl/io/file_io.h:132: warning: argument 'cloud' of command @param is not found in the argument list of pcl::ASCIIReader::read(typename PointT)
/opt/libpcl/pcl/io/include/pcl/io/file_io.h:132: warning: argument 'offset' of command @param is not found in the argument list of pcl::ASCIIReader::read(typename PointT)
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/lccp_segmentation.h:344: warning: Unsupported xml/html tag <SuperVoxel> found
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/cpc_segmentation.h:95: warning: unable to resolve reference to 'getSegmentSupervoxelMap' for \ref command
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/cpc_segmentation.h:95: warning: unable to resolve reference to 'getSupervoxelSegmentMap' for \ref command
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/edge_aware_plane_comparator.h:101: warning: unable to resolve reference to 'OrganizedIntegralImageNormalEstimation' for \ref command
/opt/libpcl/pcl/features/include/pcl/features/gasd.h:142: warning: argument 'trans' of command @param is not found in the argument list of pcl::GASDEstimation< PointInT, PointOutT >::getTransform() const
/opt/libpcl/pcl/registration/include/pcl/registration/gicp.h:150: warning: argument 'target' of command @param is not found in the argument list of pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget >::setSourceCovariances(const MatricesVectorPtr &covariances)
/opt/libpcl/pcl/registration/include/pcl/registration/gicp.h:155: warning: The following parameters of pcl::GeneralizedIterativeClosestPoint::setSourceCovariances(const MatricesVectorPtr &covariances) are not documented:
  parameter 'covariances'
/opt/libpcl/pcl/registration/include/pcl/registration/gicp.h:171: warning: argument 'target' of command @param is not found in the argument list of pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget >::setTargetCovariances(const MatricesVectorPtr &covariances)
/opt/libpcl/pcl/registration/include/pcl/registration/gicp.h:176: warning: The following parameters of pcl::GeneralizedIterativeClosestPoint::setTargetCovariances(const MatricesVectorPtr &covariances) are not documented:
  parameter 'covariances'
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/lccp_segmentation.h:344: warning: Unsupported xml/html tag <SuperVoxel> found
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/lccp_segmentation.h:120: warning: unable to resolve reference to 'getLabeledCloud' for \ref command
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/lccp_segmentation.h:116: warning: unable to resolve reference to 'getSegmentSupervoxelMap' for \ref command
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/lccp_segmentation.h:116: warning: unable to resolve reference to 'getSupervoxelSegmentMap' for \ref command
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/lccp_segmentation.h:344: warning: Unsupported xml/html tag <SuperVoxel> found
/opt/libpcl/pcl/surface/include/pcl/surface/marching_cubes_hoppe.h:93: warning: argument 'threshold' of command @param is not found in the argument list of pcl::MarchingCubesHoppe< PointNT >::setDistanceIgnore(const float dist_ignore)
/opt/libpcl/pcl/surface/include/pcl/surface/marching_cubes_hoppe.h:99: warning: The following parameters of pcl::MarchingCubesHoppe::setDistanceIgnore(const float dist_ignore) are not documented:
  parameter 'dist_ignore'
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/min_cut_segmentation.h:170: warning: argument 'number_of_neighbours' of command @param is not found in the argument list of pcl::MinCutSegmentation< PointT >::setNumberOfNeighbours(unsigned int neighbour_number)
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/min_cut_segmentation.h:173: warning: The following parameters of pcl::MinCutSegmentation::setNumberOfNeighbours(unsigned int neighbour_number) are not documented:
  parameter 'neighbour_number'
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/min_cut_segmentation.h:159: warning: argument 'search' of command @param is not found in the argument list of pcl::MinCutSegmentation< PointT >::setSearchMethod(const KdTreePtr &tree)
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/min_cut_segmentation.h:163: warning: The following parameters of pcl::MinCutSegmentation::setSearchMethod(const KdTreePtr &tree) are not documented:
  parameter 'tree'
/opt/libpcl/pcl/surface/include/pcl/surface/mls.h:209: warning: The following parameters of pcl::MLSResult::computeMLSSurface(const pcl::PointCloud< PointT > &cloud, int index, const std::vector< int > &nn_indices, double search_radius, int polynomial_order=2, std::function< double(const double)> weight_func={}) are not documented:
  parameter 'cloud'
/opt/libpcl/pcl/surface/include/pcl/surface/mls.h:488: warning: argument 'True' of command @param is not found in the argument list of pcl::MovingLeastSquares< PointInT, PointOutT >::setCacheMLSResults(bool cache_mls_results)
/opt/libpcl/pcl/surface/include/pcl/surface/mls.h:494: warning: The following parameters of pcl::MovingLeastSquares::setCacheMLSResults(bool cache_mls_results) are not documented:
  parameter 'cache_mls_results'
/opt/libpcl/pcl/io/include/pcl/io/openni_grabber.h:134: warning: unable to resolve reference to 'pcl::openni_wrapper::OpenNIDevice' for \ref command
/opt/libpcl/pcl/io/include/pcl/io/openni_grabber.h:134: warning: unable to resolve reference to 'pcl::openni_wrapper::OpenNIDevice' for \ref command
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/organized_multi_plane_segmentation.h:280: warning: argument 'centroids' of command @param is not found in the argument list of pcl::OrganizedMultiPlaneSegmentation< PointT, PointNT, PointLT >::refine(std::vector< ModelCoefficients > &model_coefficients, std::vector< PointIndices > &inlier_indices, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &, std::vector< Eigen::Matrix3f, Eigen::aligned_allocator< Eigen::Matrix3f > > &, PointCloudLPtr &labels, std::vector< pcl::PointIndices > &label_indices)
/opt/libpcl/pcl/segmentation/include/pcl/segmentation/organized_multi_plane_segmentation.h:280: warning: argument 'covariances' of command @param is not found in the argument list of pcl::OrganizedMultiPlaneSegmentation< PointT, PointNT, PointLT >::refine(std::vector< ModelCoefficients > &model_coefficients, std::vector< PointIndices > &inlier_indices, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &, std::vector< Eigen::Matrix3f, Eigen::aligned_allocator< Eigen::Matrix3f > > &, PointCloudLPtr &labels, std::vector< pcl::PointIndices > &label_indices)
/opt/libpcl/pcl/io/include/pcl/io/pcd_io.h:342: warning: argument 'os' of command @param is not found in the argument list of pcl::PCDWriter::generateHeaderBinaryCompressed(const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation)
/opt/libpcl/pcl/common/include/pcl/range_image/range_image.h:312: warning: argument 'top' from the argument list of pcl::RangeImage::doZBuffer has multiple @param documentation sections
/opt/libpcl/pcl/io/include/pcl/io/real_sense_2_grabber.h:66: warning: The following parameters of pcl::RealSense2Grabber::RealSense2Grabber(const std::string &file_name_or_serial_number="", const bool repeat_playback=true) are not documented:
  parameter 'repeat_playback'
/opt/libpcl/pcl/io/include/pcl/io/real_sense_2_grabber.h:161: warning: argument 'dynamic' of command @param is not found in the argument list of pcl::RealSense2Grabber::convertRealsensePointsToPointCloud(const rs2::points &points, Functor mapColorFunc)
/opt/libpcl/pcl/io/include/pcl/io/real_sense_2_grabber.h:167: warning: The following parameters of pcl::RealSense2Grabber::convertRealsensePointsToPointCloud(const rs2::points &points, Functor mapColorFunc) are not documented:
  parameter 'mapColorFunc'
/opt/libpcl/pcl/gpu/kinfu/tools/tsdf_volume.h:228: warning: argument 'ou' of command @param is not found in the argument list of pcl::TSDFVolume< VoxelT, WeightT >::convertToTsdfCloud(pcl::PointCloud< pcl::PointXYZI >::Ptr &cloud, const unsigned step=2) const
/opt/libpcl/pcl/gpu/kinfu/tools/tsdf_volume.h:233: warning: The following parameters of pcl::TSDFVolume::convertToTsdfCloud(pcl::PointCloud< pcl::PointXYZI >::Ptr &cloud, const unsigned step=2) const are not documented:
  parameter 'cloud'
/opt/libpcl/pcl/features/include/pcl/features/from_meshes.h:56: warning: argument 'Optional' of command @param is not found in the argument list of pcl::features::computeApproximateCovariances(const pcl::PointCloud< PointT > &cloud, const pcl::PointCloud< PointNT > &normals, std::vector< Eigen::Matrix3d, Eigen::aligned_allocator< Eigen::Matrix3d > > &covariances, double epsilon=0.001)
/opt/libpcl/pcl/features/include/pcl/features/from_meshes.h:63: warning: The following parameters of pcl::features::computeApproximateCovariances(const pcl::PointCloud< PointT > &cloud, const pcl::PointCloud< PointNT > &normals, std::vector< Eigen::Matrix3d, Eigen::aligned_allocator< Eigen::Matrix3d > > &covariances, double epsilon=0.001) are not documented:
  parameter 'epsilon'
/opt/libpcl/pcl/gpu/kinfu_large_scale/include/pcl/gpu/kinfu_large_scale/tsdf_volume.h:247: warning: argument 'ou' of command @param is not found in the argument list of pcl::gpu::kinfuLS::TsdfVolume::convertToTsdfCloud(pcl::PointCloud< pcl::PointXYZI >::Ptr &cloud, const unsigned step=2) const
/opt/libpcl/pcl/gpu/kinfu_large_scale/include/pcl/gpu/kinfu_large_scale/tsdf_volume.h:252: warning: The following parameters of pcl::gpu::kinfuLS::TsdfVolume::convertToTsdfCloud(pcl::PointCloud< pcl::PointXYZI >::Ptr &cloud, const unsigned step=2) const are not documented:
  parameter 'cloud'
/opt/libpcl/pcl/octree/include/pcl/octree/octree_iterator.h:490: warning: The following parameters of pcl::octree::OctreeBreadthFirstIterator::OctreeBreadthFirstIterator(OctreeT *octree_arg, unsigned int max_depth_arg, IteratorState *current_state, const std::deque< IteratorState > &fifo=std::deque< IteratorState >()) are not documented:
  parameter 'fifo'
/opt/libpcl/pcl/octree/include/pcl/octree/octree_iterator.h:385: warning: The following parameters of pcl::octree::OctreeDepthFirstIterator::OctreeDepthFirstIterator(OctreeT *octree_arg, unsigned int max_depth_arg, IteratorState *current_state, const std::vector< IteratorState > &stack=std::vector< IteratorState >()) are not documented:
  parameter 'stack'
/opt/libpcl/pcl/octree/include/pcl/octree/octree_iterator.h:686: warning: The following parameters of pcl::octree::OctreeLeafNodeDepthFirstIterator::OctreeLeafNodeDepthFirstIterator(OctreeT *octree_arg, unsigned int max_depth_arg, IteratorState *current_state, const std::vector< IteratorState > &stack=std::vector< IteratorState >()) are not documented:
  parameter 'stack'
/opt/libpcl/pcl/octree/include/pcl/octree/octree_search.h:343: warning: Illegal command @param as part of a \a command
/opt/libpcl/pcl/octree/include/pcl/octree/octree_search.h:345: warning: The following parameters of pcl::octree::OctreePointCloudSearch::prioPointQueueEntry::prioPointQueueEntry(unsigned int &point_idx, float point_distance) are not documented:
  parameter 'point_distance'
/opt/libpcl/pcl/registration/include/pcl/registration/meta_registration.h:89: warning: unable to resolve reference to 'setICP' for \ref command
/opt/libpcl/pcl/registration/include/pcl/registration/transformation_estimation_symmetric_point_to_plane_lls.h:148: warning: argument 'alpha' of command @param is not found in the argument list of pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS< PointSource, PointTarget, Scalar >::constructTransformationMatrix(const Vector6 &parameters, Matrix4 &transformation_matrix) const
/opt/libpcl/pcl/registration/include/pcl/registration/transformation_estimation_symmetric_point_to_plane_lls.h:148: warning: argument 'beta' of command @param is not found in the argument list of pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS< PointSource, PointTarget, Scalar >::constructTransformationMatrix(const Vector6 &parameters, Matrix4 &transformation_matrix) const
/opt/libpcl/pcl/registration/include/pcl/registration/transformation_estimation_symmetric_point_to_plane_lls.h:148: warning: argument 'gamma' of command @param is not found in the argument list of pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS< PointSource, PointTarget, Scalar >::constructTransformationMatrix(const Vector6 &parameters, Matrix4 &transformation_matrix) const
/opt/libpcl/pcl/registration/include/pcl/registration/transformation_estimation_symmetric_point_to_plane_lls.h:148: warning: argument 'tx' of command @param is not found in the argument list of pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS< PointSource, PointTarget, Scalar >::constructTransformationMatrix(const Vector6 &parameters, Matrix4 &transformation_matrix) const
/opt/libpcl/pcl/registration/include/pcl/registration/transformation_estimation_symmetric_point_to_plane_lls.h:148: warning: argument 'ty' of command @param is not found in the argument list of pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS< PointSource, PointTarget, Scalar >::constructTransformationMatrix(const Vector6 &parameters, Matrix4 &transformation_matrix) const
/opt/libpcl/pcl/registration/include/pcl/registration/transformation_estimation_symmetric_point_to_plane_lls.h:148: warning: argument 'tz' of command @param is not found in the argument list of pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS< PointSource, PointTarget, Scalar >::constructTransformationMatrix(const Vector6 &parameters, Matrix4 &transformation_matrix) const
/opt/libpcl/pcl/registration/include/pcl/registration/transformation_estimation_symmetric_point_to_plane_lls.h:152: warning: The following parameters of pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS::constructTransformationMatrix(const Vector6 &parameters, Matrix4 &transformation_matrix) const are not documented:
  parameter 'parameters'
/opt/libpcl/pcl/visualization/include/pcl/visualization/common/common.h:111: warning: unable to resolve reference to 'pcl::visualization::LookUpTableRepresentationProperties::PCL_VISUALIZER_LUT_RANGE_AUTO' for \ref command
/opt/libpcl/pcl/visualization/include/pcl/visualization/common/common.h:212: warning: argument 'pt' from the argument list of pcl::visualization::Camera::cvtWindowCoordinates has multiple @param documentation sections
/opt/libpcl/pcl/visualization/include/pcl/visualization/common/common.h:212: warning: argument 'window_cord' from the argument list of pcl::visualization::Camera::cvtWindowCoordinates has multiple @param documentation sections
/opt/libpcl/pcl/visualization/include/pcl/visualization/common/common.h:225: warning: argument 'pt' from the argument list of pcl::visualization::Camera::cvtWindowCoordinates has multiple @param documentation sections
/opt/libpcl/pcl/visualization/include/pcl/visualization/common/common.h:225: warning: argument 'window_cord' from the argument list of pcl::visualization::Camera::cvtWindowCoordinates has multiple @param documentation sections
/opt/libpcl/pcl/visualization/include/pcl/visualization/common/common.h:225: warning: argument 'composite_mat' from the argument list of pcl::visualization::Camera::cvtWindowCoordinates has multiple @param documentation sections
/opt/libpcl/pcl/visualization/include/pcl/visualization/pcl_visualizer.h:118: warning: argument 'custom' of command @param is not found in the argument list of pcl::visualization::PCLVisualizer::PCLVisualizer(vtkSmartPointer< vtkRenderer > ren, vtkSmartPointer< vtkRenderWindow > wind, const std::string &name="", const bool create_interactor=true)
/opt/libpcl/pcl/visualization/include/pcl/visualization/pcl_visualizer.h:118: warning: argument 'custom' of command @param is not found in the argument list of pcl::visualization::PCLVisualizer::PCLVisualizer(vtkSmartPointer< vtkRenderer > ren, vtkSmartPointer< vtkRenderWindow > wind, const std::string &name="", const bool create_interactor=true)
/opt/libpcl/pcl/visualization/include/pcl/visualization/pcl_visualizer.h:122: warning: The following parameters of pcl::visualization::PCLVisualizer::PCLVisualizer(vtkSmartPointer< vtkRenderer > ren, vtkSmartPointer< vtkRenderWindow > wind, const std::string &name="", const bool create_interactor=true) are not documented:
  parameter 'ren'
  parameter 'wind'
  parameter 'name'
/opt/libpcl/pcl/visualization/include/pcl/visualization/pcl_visualizer.h:125: warning: argument 'custom' of command @param is not found in the argument list of pcl::visualization::PCLVisualizer::PCLVisualizer(int &argc, char **argv, vtkSmartPointer< vtkRenderer > ren, vtkSmartPointer< vtkRenderWindow > wind, const std::string &name="", PCLVisualizerInteractorStyle *style=PCLVisualizerInteractorStyle::New(), const bool create_interactor=true)
/opt/libpcl/pcl/visualization/include/pcl/visualization/pcl_visualizer.h:125: warning: argument 'custom' of command @param is not found in the argument list of pcl::visualization::PCLVisualizer::PCLVisualizer(int &argc, char **argv, vtkSmartPointer< vtkRenderer > ren, vtkSmartPointer< vtkRenderWindow > wind, const std::string &name="", PCLVisualizerInteractorStyle *style=PCLVisualizerInteractorStyle::New(), const bool create_interactor=true)
/opt/libpcl/pcl/visualization/include/pcl/visualization/pcl_visualizer.h:132: warning: The following parameters of pcl::visualization::PCLVisualizer::PCLVisualizer(int &argc, char **argv, vtkSmartPointer< vtkRenderer > ren, vtkSmartPointer< vtkRenderWindow > wind, const std::string &name="", PCLVisualizerInteractorStyle *style=PCLVisualizerInteractorStyle::New(), const bool create_interactor=true) are not documented:
  parameter 'ren'
  parameter 'wind'
  parameter 'name'
/opt/libpcl/pcl/visualization/include/pcl/visualization/point_cloud_color_handlers.h:525: warning: The following parameters of pcl::visualization::PointCloudColorHandlerLabelField::PointCloudColorHandlerLabelField(const PointCloudConstPtr &cloud, const bool static_mapping=true) are not documented:
  parameter 'cloud'
/opt/libpcl/pcl/visualization/include/pcl/visualization/point_cloud_color_handlers.h:912: warning: The following parameters of pcl::visualization::PointCloudColorHandlerLabelField< pcl::PCLPointCloud2 >::PointCloudColorHandlerLabelField(const PointCloudConstPtr &cloud, const bool static_mapping=true) are not documented:
  parameter 'cloud'

Removing them would eventually allow to use the equivalent to -Werror in the Documentation CI job. Some notes:

  • The explicit namespace thing with the attempt fix for "warning: no (uniquely) matching class/file member found for" didn't really work for everything: it fixed all the keypoint.hpp, file_io.hpp, intersections.hpp, and morphological_filter.hpp warnings but added more warnings to centroid.hpp so it looks like the same amount of warnings are present. Seems like some template/overload problem. To anticipate your curiosity, the edit to the doxyfile to include "_WIN32=1" allows to remove the file_io.hpp related warning. Alas, this fix contradicts the style guide at paragraph 2.1.
  • The fix for "warning: Included by graph for not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES" requires 250 (or likely a bit less) because 100 only generates common.h, 150 generates also memory.h and point_types.h, so pcl_macros is the one requiring something between >200 and <250.

This PR currently leaves 71 72 warnings, of which:

  • 16 for the recursive class relation;
  • 30 19 for the no (uniquely) matching warnings (1 from PCL_DEPRECATED);
  • 15 16 for parameter not found (see breakdown down here, of which 4 from PCL_DEPRECATED);
  • 10 for the actually undocumented stuff;
  • 12 differing warnings due explicitly to PCL_DEPRECATED.

Some notes on the missing warnings:

  • 16x "warning: Detected potential recursive class relation between class and base class " can be fixed with a /** \cond NO_WARN_RECURSIVE */-/** \endcond */ pair for all four traits (as per this SO answer) but it'd need a new header: just adding the pair leads to "warning: Conditional section with label 'NO_WARN_RECURSIVE' does not have a corresponding \endcond command within this file.". The solutions seems to be moving
    // name
    /* This really only depends on Tag, but we go through some gymnastics to avoid ODR violations.
    We template it on the point type PointT to avoid ODR violations when registering multiple
    point types with shared tags.
    The dummy parameter is so we can partially specialize name on PointT and Tag but leave it
    templated on dummy. Each specialization declares a static char array containing the tag
    name. The definition of the static member would conflict when linking multiple translation
    units that include the point type registration. But when the static member definition is
    templated (on dummy), we sidestep the ODR issue.
    */
    template<class PointT, typename Tag, int dummy = 0>
    struct name : name<typename POD<PointT>::type, Tag, dummy>
    {
    // Contents of specialization:
    // static const char value[];
    // Avoid infinite compile-time recursion
    BOOST_MPL_ASSERT_MSG((!std::is_same<PointT, typename POD<PointT>::type>::value),
    POINT_TYPE_NOT_PROPERLY_REGISTERED, (PointT&));
    };
    // offset
    template<class PointT, typename Tag>
    struct offset : offset<typename POD<PointT>::type, Tag>
    {
    // Contents of specialization:
    // static const std::size_t value;
    // Avoid infinite compile-time recursion
    BOOST_MPL_ASSERT_MSG((!std::is_same<PointT, typename POD<PointT>::type>::value),
    POINT_TYPE_NOT_PROPERLY_REGISTERED, (PointT&));
    };
    // datatype
    template<class PointT, typename Tag>
    struct datatype : datatype<typename POD<PointT>::type, Tag>
    {
    // Contents of specialization:
    // using type = ...;
    // static const std::uint8_t value;
    // static const std::uint32_t size;
    // Avoid infinite compile-time recursion
    BOOST_MPL_ASSERT_MSG((!std::is_same<PointT, typename POD<PointT>::type>::value),
    POINT_TYPE_NOT_PROPERLY_REGISTERED, (PointT&));
    };
    // fields
    template<typename PointT>
    struct fieldList : fieldList<typename POD<PointT>::type>
    {
    // Contents of specialization:
    // using type = boost::mpl::vector<...>;
    // Avoid infinite compile-time recursion
    BOOST_MPL_ASSERT_MSG((!std::is_same<PointT, typename POD<PointT>::type>::value),
    POINT_TYPE_NOT_PROPERLY_REGISTERED, (PointT&));
    };
    and
    #define POINT_CLOUD_REGISTER_FIELD_NAME(r, point, elem) \
    template<int dummy> \
    struct name<point, pcl::fields::BOOST_PP_TUPLE_ELEM(3, 2, elem), dummy> \
    { \
    static const char value[]; \
    }; \
    \
    template<int dummy> \
    const char name<point, \
    pcl::fields::BOOST_PP_TUPLE_ELEM(3, 2, elem), \
    dummy>::value[] = \
    BOOST_PP_STRINGIZE(BOOST_PP_TUPLE_ELEM(3, 2, elem)); \
    /***/
    #define POINT_CLOUD_REGISTER_FIELD_OFFSET(r, name, elem) \
    template<> struct offset<name, pcl::fields::BOOST_PP_TUPLE_ELEM(3, 2, elem)> \
    { \
    static const std::size_t value = offsetof(name, BOOST_PP_TUPLE_ELEM(3, 1, elem)); \
    }; \
    /***/
    #define POINT_CLOUD_REGISTER_FIELD_DATATYPE(r, name, elem) \
    template<> struct datatype<name, pcl::fields::BOOST_PP_TUPLE_ELEM(3, 2, elem)> \
    { \
    using type = boost::mpl::identity<BOOST_PP_TUPLE_ELEM(3, 0, elem)>::type; \
    using decomposed = decomposeArray<type>; \
    static const std::uint8_t value = asEnum<decomposed::type>::value; \
    static const std::uint32_t size = decomposed::value; \
    }; \
    /***/
    and
    #define POINT_CLOUD_REGISTER_POINT_FIELD_LIST(name, seq) \
    template<> struct fieldList<name> \
    { \
    using type = boost::mpl::vector<BOOST_PP_SEQ_ENUM(seq)>; \
    }; \
    /***/
    into a new header with an appropriate name. Do I have the ok and which name would you like? -> implemented in Refactor point_traits.h to remove warning during doc generation by doxygen #3712;
  • Regarding "warning: argument of command @param is not found in the argument list of ":
    • There are unnamed parameters in pcl::assignNormalWeights, pcl::OrganizedMultiPlaneSegmentation::refine, ... and MANY discussions on how to fix these (1, 2, 3 are some solutions and 4 says it's solved in a newer version, but I don't think it's fully related as there are still open issues in the tracker with this topic) Fixed in Add PCL_UNUSED to fix doxygen warnings #3932;
    • 8x warnings are due to POINT_CLOUD_REGISTER_POINT_STRUCT from
      // register the custom point type in PCL
      POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::_PointXYZLAB,
      (float, x, x)
      (float, y, y)
      (float, z, z)
      (float, L, L)
      (float, a, a)
      (float, b, b)
      )
      but I don't understand the origin as I can't find the declarations doxygen warns about;
    • 3x warnings in file_io.h are confusing as they're related to ASCIIReader or FileReader or both, but I can't find the source as none seems similar to the previous warnings.
  • As I say in the related bullet point, "warning: no (uniquely) matching class/file member found for" seems to be related to templates/overloads, but I can't figure it out.
  • 17x warnings (the first 17 in Fix Doxygen warnings unrelated to documentation #3701 (comment) from the top) related to the macro PCL_DEPRECATED. These might be solvable with some \cond-\endcond pair which I still haven't figured out. The last 2 in the comment are actually hidden by the fact we're using 1.8.13.

Also, exhuming #642 for reference.

@aPonza
Copy link
Contributor Author

aPonza commented Mar 2, 2020

Actually I seem to have 1.8.17 whereas CI uses 1.8.13 which means I'm introducing some tags which are still unsupported and there are some different warnings which I don't see as well. Also, I didn't try to build the LaTeX, Sphinx, ... docs, only the HTML stuff... Maybe there's more points to the meta-issue than what I realized.

Could you chime in on how I should approach the version difference? Apt gives me 1.8.11 as default Doxygen for 16.04 so you might be open to the idea of upgrading?
I see now that 1.8.13 is 19.10's default version. I'll fix this locally to comply.

@aPonza
Copy link
Contributor Author

aPonza commented Mar 2, 2020

First of all, the merge with master introduced 19(!) new warnings (mostly) related to PCL_DEPRECATED:

/opt/libpcl/pcl/common/include/pcl/common/io.h:335: warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)

/opt/libpcl/pcl/common/include/pcl/common/impl/file_io.hpp:48: warning: no matching file member found for 
void pcl::getAllPcdFilesInDirectory(const std::string &directory, std::vector< std::string > &file_names)
Possible candidates:
 'void getAllPcdFilesInDirectory(const std::string &directory, std::vector< std::string > &file_names)' at line 48 of file /opt/libpcl/pcl/common/include/pcl/common/impl/file_io.hpp

/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:110: warning: documented symbol 'typedef std::uint8_t pcl::uint8_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:111: warning: documented symbol 'typedef std::int8_t pcl::int8_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:112: warning: documented symbol 'typedef std::uint16_t pcl::uint16_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:113: warning: documented symbol 'typedef std::int16_t pcl::int16_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:114: warning: documented symbol 'typedef std::uint32_t pcl::uint32_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:115: warning: documented symbol 'typedef std::int32_t pcl::int32_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:116: warning: documented symbol 'typedef std::uint64_t pcl::uint64_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:117: warning: documented symbol 'typedef std::int64_t pcl::int64_t' was not declared or defined.
/opt/libpcl/pcl/common/include/pcl/pcl_macros.h:118: warning: documented symbol 'typedef std::int_fast16_t pcl::int_fast16_t' was not declared or defined.

/opt/libpcl/pcl/common/include/pcl/common/io.h:289: warning: explicit link request to 'concatenatePointCloud' could not be resolved
/opt/libpcl/pcl/common/include/pcl/common/io.h:337: warning: argument 'cloud1' of command @param is not found in the argument list of pcl::copyPointCloud(const pcl::PCLPointCloud2 &cloud_in, const std::vector< int > &indices, pcl::PCLPointCloud2 &cloud_out)
/opt/libpcl/pcl/common/include/pcl/common/io.h:337: warning: argument 'cloud2' of command @param is not found in the argument list of pcl::copyPointCloud(const pcl::PCLPointCloud2 &cloud_in, const std::vector< int > &indices, pcl::PCLPointCloud2 &cloud_out)
/opt/libpcl/pcl/common/include/pcl/common/io.h:345: warning: argument 'cloud_out' from the argument list of pcl::copyPointCloud has multiple @param documentation sections

/opt/libpcl/pcl/octree/include/pcl/octree/octree2buf_base.h:937: warning: argument 'n_arg' of command @param is not found in the argument list of pcl::octree::Octree2BufBase< LeafContainerT, BranchContainerT >::PCL_DEPRECATED("use std::log2 instead")
/opt/libpcl/pcl/octree/include/pcl/octree/octree_base.h:685: warning: argument 'n_arg' of command @param is not found in the argument list of pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::PCL_DEPRECATED("use std::log2 instead")

/opt/libpcl/pcl/octree/include/pcl/octree/octree_search.h:343: warning: Illegal command @param as part of a \a command
/opt/libpcl/pcl/octree/include/pcl/octree/octree_search.h:345: warning: The following parameters of pcl::octree::OctreePointCloudSearch::prioPointQueueEntry::prioPointQueueEntry(unsigned int &point_idx, float point_distance) are not documented:
  parameter 'point_distance'

With the downgrade there's a lot of missing warnings and one new (of course after removing the extra tags):

/opt/libpcl/pcl/common/include/pcl/range_image/bearing_angle_image.h:37: warning: Found unknown command `\Created'

I'll add an empty ballot box for the PCL_DEPRECATED ones in the OP and fix what I can of the rest down here.

EDIT: apart from the clang-format-reintroduced-warning "Illegal command @param as part of a \a command", the rest of the new ones are all due to PCL_DEPRECATED. It could be a matter of setting some value to it in the doxyfile (?)

@SergioRAgostinho
Copy link
Member

Thank you... honestly... thank you :D

What happened in this commit 87d2d80 ? At first sight it looks like a bunch of indentation changes which should not be required to get the warnings sorted.

@aPonza
Copy link
Contributor Author

aPonza commented Mar 3, 2020

The indentation was later corrected by clang-format, the real change to remove some of the warnings was with the namespace declarations. As I wrote here it's also against your rules though:

The explicit namespace thing with the attempt fix for "warning: no (uniquely) matching class/file member found for" didn't really work for everything: it fixed all the keypoint.hpp, file_io.hpp, intersections.hpp, and morphological_filter.hpp warnings but added more warnings to centroid.hpp so it looks like the same amount of warnings are present. Seems like some template/overload problem. To anticipate your curiosity, the edit to the doxyfile to include "_WIN32=1" allows to remove the file_io.hpp related warning. Alas, this fix contradicts the style guide at paragraph 2.1.

@kunaltyagi
Copy link
Member

Seriously, thanks. This is something that didn't even cross our minds (not mine at least). I don't know much about why the second part of rule 2.1 was chosen.

@aPonza
Copy link
Contributor Author

aPonza commented Mar 3, 2020

No problem, at least I hope to have the time to finish it.

Regarding the PCL_DEPRECATED warnings I find that with

diff --git a/doc/doxygen/doxyfile.in b/doc/doxygen/doxyfile.in
index 8868249..563d2b6 100644
--- a/doc/doxygen/doxyfile.in
+++ b/doc/doxygen/doxyfile.in
@@ -88,7 +88,7 @@ STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = NO
 GENERATE_TESTLIST      = NO
 GENERATE_BUGLIST       = NO
-GENERATE_DEPRECATEDLIST= NO
+GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 30
 SHOW_USED_FILES        = YES
@@ -311,7 +311,8 @@ PREDEFINED =           = "HAVE_QHULL=1" \
                          "HAVE_DSSDK=1" \
                          "HAVE_RSSDK=1" \
                          "DOXYGEN_ONLY=1" \
-                         "_WIN32=1"
+                         "_WIN32=1" \
+                         "PCL_DEPRECATED(x)=/** \deprecated x */"
 EXPAND_AS_DEFINED      =
 SKIP_FUNCTION_MACROS   = YES

I can get most of the deprecation warnings in the docs as well (bonus!), except (at least I noticed these) the typedefs in pcl_macros.h.

For those, if I were to write

PCL_DEPRECATED("use std::uint8_t instead of pcl::uint8_t") using uint8_t = std::uint8_t;

(so a reverse order) I would get the docs, but also a compilation error error: expected unqualified-id before ‘using’. I tried some combinations and nothing seems to work. This would avoid duplication, because otherwise the easy fix is

  /// \deprecated use std::uint8_t instead of pcl::uint8_t
  using uint8_t PCL_DEPRECATED("use std::uint8_t instead of pcl::uint8_t") = std::uint8_t;

only in these lines. What do you think?

Also en passant, there are 76 instances where PCL_DEPRECATED isn't used in favour of a PCL_WARN, or ON_DEPRECATED, or a comment, a print or something else.

Related doxygen/doxygen#5940

@taketwo
Copy link
Member

taketwo commented Mar 3, 2020

Actually I seem to have 1.8.17 whereas CI uses 1.8.13 ... Could you chime in on how I should approach the version difference?

As you have probably realized already, on CI we generate documentation in a container. Here is the Dockerfile. So the two options are:

  1. We keep status quo on CI and you use the same Docker image locally.
  2. We upgrade the Docker image to get a newer Doxygen which matches your local one.

In case you prefer the second option, we may switch to 20.04 alpha image, however even that has 1.8.16, which lags behind.

@aPonza
Copy link
Contributor Author

aPonza commented Mar 3, 2020

It's fine, I downgraded my local build. Thanks for the docker anyways, so I can experiment with sphinx!

@kunaltyagi
Copy link
Member

Note to maintainers: This PR shows a need to update the namespace related style guide.

@aPonza
Copy link
Contributor Author

aPonza commented Mar 17, 2020

Would it be possible to review this PR? I understand it's half done and it will require a part 2, but it would still halve the work for next time. Moreover #3755 and #3760 are based on this one (locally, on top of clang parser, and cherry-picked on a separate branch).

@SergioRAgostinho
Copy link
Member

Which one should we give priority to? I was inclined towards #3760. It looked more atomic.

@aPonza
Copy link
Contributor Author

aPonza commented Mar 17, 2020

You can start with that one: even though to me it depends on this one it's basically unrelated

BTW:

/__w/1/s/apps/3d_rec_framework/src/pipeline/global_nn_recognizer_crh.cpp:21:108: fatal error: error writing to /tmp/ccULdiF3.s: No space left on device
   21 | template class pcl::rec_3d_framework::GlobalNNCRHRecognizer<flann::L2, pcl::PointXYZ, pcl::ESFSignature640>;
      |                                                                                                            ^
compilation terminated.

on Ubuntu 19.10 CI

Copy link
Member

@kunaltyagi kunaltyagi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes mainly belong in 4 categories:

  • Doxygen file config
  • Documentation change
  • pcl::module::name -> namespace pcl::module { name }
  • white space modifications

Does it make sense to create separate PRs for documentation and doxygen config? That'll allow the last 2 to be merged (in one PR) along with a change to the style guide.

FYI: Checked the last 3 and I'm onboard with them. (The whitespace changes don't matter since clang-format will reformat them anyways). Haven't checked the doxygen config though

Sidenote: Does it make sense to have a diff output on the doc CI job to see what changes?

filters/include/pcl/filters/impl/morphological_filter.hpp Outdated Show resolved Hide resolved
common/include/pcl/common/io.h Outdated Show resolved Hide resolved
@aPonza
Copy link
Contributor Author

aPonza commented Mar 17, 2020

separate PRs

You want a cherry-pick for the remaining namespace changes and the rest left here? Sure can do, I can actually push everything on #3760 directly, there should be no conflict. Documentation and config I think can stay here as the two separate commits of this PR, but I'll wait for your opinions.

diff

You mean of the warnings? Sounds weird and hopefully soon unnecessary?

@kunaltyagi
Copy link
Member

You mean of the warnings?

No, no. Not the diff of the warnings, but diff of the doc. When we modify the documentation, we don't get any feedback till it is merged. But we can conditionally, diff wrt the master branch documentation and show it in the CI output. That'll allow things like 'Did the autogen work?' or 'Does it look more like how I wanted' be a bit readable using typical html and css diffs.

Sure can do, I can actually push everything on #3760 directly,

Yeah, that'd be really nice.

Documentation and config I think can stay here as the two separate commits of this PR

That also works 😄 , when I made the comments, I didn't notice the other PR. I'll take a look at the config file sometime later today

@kunaltyagi kunaltyagi added the needs: code review Specify why not closed/merged yet label Mar 18, 2020
@aPonza
Copy link
Contributor Author

aPonza commented Mar 18, 2020

diff of the doc

That sounds nice to have!

I'll go ahead and push the rebase then.

@aPonza aPonza force-pushed the fix_doc_warnings branch 2 times, most recently from 33c9f75 to de08662 Compare March 18, 2020 09:03
@kunaltyagi kunaltyagi self-requested a review March 18, 2020 10:28
doc/doxygen/doxyfile.in Show resolved Hide resolved
doc/doxygen/doxyfile.in Show resolved Hide resolved
doc/doxygen/doxyfile.in Outdated Show resolved Hide resolved
doc/doxygen/doxyfile.in Show resolved Hide resolved
doc/doxygen/doxyfile.in Show resolved Hide resolved
doc/doxygen/doxyfile.in Show resolved Hide resolved
Copy link
Member

@SergioRAgostinho SergioRAgostinho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you. Once @kunaltyagi's raised points are addressed, feel free to merge from my side.

@kunaltyagi kunaltyagi added needs: more work Specify why not closed/merged yet and removed needs: code review Specify why not closed/merged yet labels Mar 19, 2020
Andrea Ponza added 2 commits March 19, 2020 12:03
… generation of deprecation list, increasing dot graph max nodes and fixing one instance of 'no matching file member found for ' file_io.hpp
@aPonza aPonza changed the title Fix non-documentation Doxygen warnings Fix non-documentation Doxygen warnings -- Part 1 Mar 19, 2020
@kunaltyagi kunaltyagi removed the needs: more work Specify why not closed/merged yet label Mar 19, 2020
Copy link
Member

@kunaltyagi kunaltyagi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@kunaltyagi kunaltyagi merged commit 60ca0e8 into PointCloudLibrary:master Mar 19, 2020
@kunaltyagi kunaltyagi changed the title Fix non-documentation Doxygen warnings -- Part 1 Fix Doxygen warnings unrelated to documentation -- Part 1 Mar 19, 2020
@taketwo taketwo changed the title Fix Doxygen warnings unrelated to documentation -- Part 1 Fix Doxygen warnings unrelated to documentation May 10, 2020
@aPonza aPonza deleted the fix_doc_warnings branch May 19, 2020 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog: fix Meta-information for changelog generation module: docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants