// 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());
}
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;
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];}
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 >
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>
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);
}
T alpha,beta,rDotR;
int i;
- solution.Resize(M.Columns());
+ solution.Resize(bb.Dimensions());
solution.SetZero();
d=r=bb;