Skip to content

Commit

Permalink
pcl: fix boost version requirement (#6163)
Browse files Browse the repository at this point in the history
  • Loading branch information
longhao-li authored Jan 20, 2025
1 parent d4e6bed commit efd55d0
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
diff --git a/registration/include/pcl/registration/correspondence_rejection_features.h b/registration/include/pcl/registration/correspondence_rejection_features.h
index 44835c379..f3bab8fef 100644
--- a/registration/include/pcl/registration/correspondence_rejection_features.h
+++ b/registration/include/pcl/registration/correspondence_rejection_features.h
@@ -269,9 +269,9 @@ protected:
// Check if the representations are valid
if (!feature_representation_->isValid(feat_src) ||
!feature_representation_->isValid(feat_tgt)) {
- PCL_ERROR("[pcl::registration::%s::getCorrespondenceScore] Invalid feature "
- "representation given!\n",
- this->getClassName().c_str());
+ PCL_ERROR(
+ "[pcl::registration::CorrespondenceRejectorFeatures::FeatureContainer::"
+ "getCorrespondenceScore] Invalid feature representation given!\n");
return (std::numeric_limits<double>::max());
}

43 changes: 43 additions & 0 deletions packages/p/pcl/patches/1.14.1/octree_poisson.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
diff --git a/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp b/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp
index 7ed8aaf9d..e7f45b650 100644
--- a/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp
+++ b/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp
@@ -746,7 +746,10 @@ namespace pcl
Real temp,dist2;
if(!children){return this;}
for(int i=0;i<Cube::CORNERS;i++){
- temp=SquareDistance(children[i].center,p);
+ Point3D<Real> child_center;
+ Real child_width;
+ children[i].centerAndWidth(child_center, child_width);
+ temp=SquareDistance(child_center,p);
if(!i || temp<dist2){
dist2=temp;
nearest=i;
@@ -807,7 +810,7 @@ namespace pcl
children=NULL;

d=node.depth ();
- for(i=0;i<DIMENSION;i++){this->offset[i] = node.offset[i];}
+ for(i=0;i<DIMENSION;i++){this->off[i] = node.off[i];}
if(node.children){
initChildren();
for(i=0;i<Cube::CORNERS;i++){children[i] = node.children[i];}
@@ -817,7 +820,7 @@ namespace pcl

template <class NodeData,class Real>
int OctNode<NodeData,Real>::CompareForwardDepths(const void* v1,const void* v2){
- return ((const OctNode<NodeData,Real>*)v1)->depth-((const OctNode<NodeData,Real>*)v2)->depth;
+ return ((const OctNode<NodeData,Real>*)v1)->depth()-((const OctNode<NodeData,Real>*)v2)->depth();
}

template< class NodeData , class Real >
@@ -874,7 +877,7 @@ namespace pcl

template <class NodeData,class Real>
int OctNode<NodeData,Real>::CompareBackwardDepths(const void* v1,const void* v2){
- return ((const OctNode<NodeData,Real>*)v2)->depth-((const OctNode<NodeData,Real>*)v1)->depth;
+ return ((const OctNode<NodeData,Real>*)v2)->depth()-((const OctNode<NodeData,Real>*)v1)->depth();
}

template <class NodeData,class Real>
34 changes: 34 additions & 0 deletions packages/p/pcl/patches/1.14.1/sparse_matrix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
diff --git a/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp b/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp
index 24f0a5402..5e54ac786 100644
--- a/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp
+++ b/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp
@@ -228,14 +228,18 @@ namespace pcl
template<class T>
void SparseMatrix<T>::SetZero()
{
- Resize(this->m_N, this->m_M);
+ // copied from operator *=
+ for (int i=0; i<rows; i++)
+ {
+ for(int ii=0;ii<rowSizes[i];ii++){m_ppElements[i][ii].Value=T(0);}
+ }
}

template<class T>
void SparseMatrix<T>::SetIdentity()
{
SetZero();
- for(int ij=0; ij < Min( this->Rows(), this->Columns() ); ij++)
+ for(int ij=0; ij < std::min<int>( rows, _maxEntriesPerRow ); ij++)
(*this)(ij,ij) = T(1);
}

@@ -388,7 +392,7 @@ namespace pcl
T alpha,beta,rDotR;
int i;

- solution.Resize(M.Columns());
+ solution.Resize(bb.Dimensions());
solution.SetZero();

d=r=bb;
16 changes: 13 additions & 3 deletions packages/p/pcl/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,31 @@ package("pcl")
add_versions("1.12.0", "21dfa9a268de9675c1f94d54d9402e4e02120a0aa4215d064436c52b7d5bd48f")
add_versions("1.12.1", "dc0ac26f094eafa7b26c3653838494cc0a012bd1bdc1f1b0dc79b16c2de0125a")
add_versions("1.14.0", "de297b929eafcb93747f12f98a196efddf3d55e4edf1b6729018b436d5be594d")
add_versions("1.14.1", "5dc5e09509644f703de9a3fb76d99ab2cc67ef53eaf5637db2c6c8b933b28af6")

add_patches("1.14.1", "patches/1.14.1/octree_poisson.patch", "5423a29bbb3f51bb66dca3bcb7851e037944cc33e62e816a8a8d2d00b0bdc964")
add_patches("1.14.1", "patches/1.14.1/sparse_matrix.patch", "90b20730956104f3ed61fc2d4de156401d0c470257def7ac4e1e2ec0a9456442")
add_patches("1.14.1", "patches/1.14.1/correspondence_rejection_features.patch", "20bc608eb0bd7892a6c5fc34773fd7479021d6f5f2e6f311c17b5fe60ddff6fe")

add_configs("vtk", {description = "Build with vtk.", default = false, type = "boolean"})
add_configs("cuda", {description = "Build with cuda.", default = false, type = "boolean"})

add_deps("cmake")
add_deps("boost", {configs = {filesystem = true, serialization = true, date_time = true, iostreams = true, system = true}})
add_deps("eigen", "boost", "lz4", "flann", "zlib", "libpng", "qhull", "glew")
add_deps("eigen", "lz4", "flann", "zlib", "libpng", "qhull", "glew")
on_load("windows", "linux", "macosx", function (package)
package:add("includedirs", "include/pcl-" .. package:version():major() .. "." .. package:version():minor())

if package:version():le("1.14.1") then
package:add("deps", "boost", {version = "1.85.0", configs = {filesystem = true, serialization = true, date_time = true, iostreams = true, system = true, thread = true, graph = true}})
else
package:add("deps", "boost", {configs = {asio = true, filesystem = true, serialization = true, date_time = true, iostreams = true, system = true, thread = true, graph = true}})
end

if package:config("vtk") then
package:add("deps", "vtk")
end
if package:config("cuda") then
package:add("deps", "cuda", {system = true})
package:add("deps", "optix", {system = true})
end
end)

Expand Down

0 comments on commit efd55d0

Please sign in to comment.