Inspection: Use std::numeric_limits and std::numbers instead of defines

This commit is contained in:
Benjamin Nauck
2025-03-27 19:01:03 +01:00
parent 821327b4cd
commit eb69b72a2b
4 changed files with 17 additions and 18 deletions

View File

@@ -25,6 +25,7 @@
#ifndef _PreComp_
#include <boost/core/ignore_unused.hpp>
#include <numeric>
#include <limits>
#include <BRepBuilderAPI_MakeVertex.hxx>
#include <BRepClass3d_SolidClassifier.hxx>
@@ -316,7 +317,7 @@ InspectNominalMesh::~InspectNominalMesh()
float InspectNominalMesh::getDistance(const Base::Vector3f& point) const
{
if (!_box.IsInBox(point)) {
return FLT_MAX; // must be inside bbox
return std::numeric_limits<float>::max(); // must be inside bbox
}
std::vector<unsigned long> indices;
@@ -327,7 +328,7 @@ float InspectNominalMesh::getDistance(const Base::Vector3f& point) const
indices.insert(indices.begin(), inds.begin(), inds.end());
}
float fMinDist = FLT_MAX;
float fMinDist = std::numeric_limits<float>::max();
bool positive = true;
for (unsigned long it : indices) {
MeshCore::MeshGeomFacet geomFace = _mesh.GetFacet(it);
@@ -393,7 +394,7 @@ InspectNominalFastMesh::~InspectNominalFastMesh()
float InspectNominalFastMesh::getDistance(const Base::Vector3f& point) const
{
if (!_box.IsInBox(point)) {
return FLT_MAX; // must be inside bbox
return std::numeric_limits<float>::max(); // must be inside bbox
}
std::set<unsigned long> indices;
@@ -413,7 +414,7 @@ float InspectNominalFastMesh::getDistance(const Base::Vector3f& point) const
}
#endif
float fMinDist = FLT_MAX;
float fMinDist = std::numeric_limits<float>::max();
bool positive = true;
for (unsigned long it : indices) {
MeshCore::MeshGeomFacet geomFace = _mesh.GetFacet(it);
@@ -457,7 +458,7 @@ float InspectNominalPoints::getDistance(const Base::Vector3f& point) const
_pGrid->Position(pointd, x, y, z);
_pGrid->GetElements(x, y, z, indices);
double fMinDist = DBL_MAX;
double fMinDist = std::numeric_limits<double>::max();
for (unsigned long it : indices) {
Base::Vector3d pt = _rKernel.getPoint(it);
double fDist = Base::Distance(pointd, pt);
@@ -501,7 +502,7 @@ float InspectNominalShape::getDistance(const Base::Vector3f& point) const
BRepBuilderAPI_MakeVertex mkVert(pnt3d);
distss->LoadS2(mkVert.Vertex());
float fMinDist = FLT_MAX;
float fMinDist = std::numeric_limits<float>::max();
if (distss->Perform() && distss->NbSolution() > 0) {
fMinDist = (float)distss->Value();
// the shape is a solid, check if the vertex is inside
@@ -713,7 +714,7 @@ struct DistanceInspection
{
Base::Vector3f pnt = actual->getPoint(index);
float fMinDist = FLT_MAX;
float fMinDist = std::numeric_limits<float>::max();
for (auto it : nominal) {
float fDist = it->getDistance(pnt);
if (fabs(fDist) < fabs(fMinDist)) {
@@ -722,10 +723,10 @@ struct DistanceInspection
}
if (fMinDist > this->radius) {
fMinDist = FLT_MAX;
fMinDist = std::numeric_limits<float>::max();
}
else if (-fMinDist > this->radius) {
fMinDist = -FLT_MAX;
fMinDist = -std::numeric_limits<float>::max();
}
return fMinDist;
@@ -884,7 +885,7 @@ App::DocumentObjectExecReturn* Feature::execute()
float fRMS = 0;
int countRMS = 0;
for (std::vector<float>::iterator it = vals.begin(); it != vals.end(); ++it) {
if (fabs(*it) < FLT_MAX) {
if (fabs(*it) < std::numeric_limits<float>::max()) {
fRMS += (*it) * (*it);
countRMS++;
}
@@ -904,7 +905,7 @@ App::DocumentObjectExecReturn* Feature::execute()
DistanceInspectionRMS res;
Base::Vector3f pnt = actual->getPoint(index);
float fMinDist = FLT_MAX;
float fMinDist = std::numeric_limits<float>::max();
for (auto it : inspectNominal) {
float fDist = it->getDistance(pnt);
if (fabs(fDist) < fabs(fMinDist)) {
@@ -913,10 +914,10 @@ App::DocumentObjectExecReturn* Feature::execute()
}
if (fMinDist > this->SearchRadius.getValue()) {
fMinDist = FLT_MAX;
fMinDist = std::numeric_limits<float>::max();
}
else if (-fMinDist > this->SearchRadius.getValue()) {
fMinDist = -FLT_MAX;
fMinDist = -std::numeric_limits<float>::max();
}
else {
res.m_sumsq += fMinDist * fMinDist;

View File

@@ -35,7 +35,6 @@
#ifdef _PreComp_
// STL
#include <cfloat>
// Inventor
#include <Inventor/SoPickedPoint.h>

View File

@@ -107,7 +107,7 @@ private:
SoCoordinate3* pcCoords;
private:
float search_radius {FLT_MAX};
float search_radius {std::numeric_limits<float>::max()};
static bool addflag;
static App::PropertyFloatConstraint::Constraints floatRange;
};

View File

@@ -22,7 +22,6 @@
#include "PreCompiled.h"
#ifndef _PreComp_
#include <cfloat>
#endif
#include <App/Document.h>
@@ -100,9 +99,9 @@ VisualInspection::VisualInspection(QWidget* parent, Qt::WindowFlags fl)
ui->textLabel2->hide();
ui->thickness->hide();
ui->searchRadius->setUnit(Base::Unit::Length);
ui->searchRadius->setRange(0, DBL_MAX);
ui->searchRadius->setRange(0, std::numeric_limits<double>::max());
ui->thickness->setUnit(Base::Unit::Length);
ui->thickness->setRange(0, DBL_MAX);
ui->thickness->setRange(0, std::numeric_limits<double>::max());
App::Document* doc = App::GetApplication().getActiveDocument();
// disable Ok button and enable of at least one item in each view is on