Base: Quantity: return std::string

This commit is contained in:
Ladislav Michl
2024-07-13 13:07:27 +02:00
committed by Yorik van Havre
parent c11b37e312
commit 2ea8a633ac
58 changed files with 573 additions and 592 deletions

View File

@@ -179,12 +179,23 @@ void QuickMeasure::addSelectionToMeasurement()
}
}
static QString areaStr(double value)
{
Base::Quantity area(value, Base::Unit::Area);
return QString::fromStdString(area.getUserString());
}
static QString lenghtStr(double value)
{
Base::Quantity dist(value, Base::Unit::Length);
return QString::fromStdString(dist.getUserString());
}
void QuickMeasure::printResult()
{
MeasureType mtype = measurement->getType();
if (mtype == MeasureType::Surfaces) {
Base::Quantity area(measurement->area(), Base::Unit::Area);
print(tr("Total area: %1").arg(area.getUserString()));
print(tr("Total area: %1").arg(areaStr(measurement->area())));
}
/* deactivated because computing the volumes/area of solids makes a significant
slow down in selection of complex solids.
@@ -195,48 +206,37 @@ void QuickMeasure::printResult()
%2").arg(vol.getSafeUserString()).arg(area.getSafeUserString()));
}*/
else if (mtype == MeasureType::TwoPlanes) {
Base::Quantity dist(measurement->planePlaneDistance(), Base::Unit::Length);
print(tr("Nominal distance: %1").arg(dist.getSafeUserString()));
print(tr("Nominal distance: %1").arg(lenghtStr(measurement->planePlaneDistance())));
}
else if (mtype == MeasureType::Cone || mtype == MeasureType::Plane) {
Base::Quantity area(measurement->area(), Base::Unit::Area);
print(tr("Area: %1").arg(area.getUserString()));
print(tr("Area: %1").arg(areaStr(measurement->area())));
}
else if (mtype == MeasureType::Cylinder || mtype == MeasureType::Sphere
|| mtype == MeasureType::Torus) {
Base::Quantity area(measurement->area(), Base::Unit::Area);
Base::Quantity rad(measurement->radius(), Base::Unit::Length);
print(tr("Area: %1, Radius: %2").arg(area.getSafeUserString(), rad.getSafeUserString()));
print(tr("Area: %1, Radius: %2")
.arg(areaStr(measurement->area()), lenghtStr(measurement->radius())));
}
else if (mtype == MeasureType::Edges) {
Base::Quantity dist(measurement->length(), Base::Unit::Length);
print(tr("Total length: %1").arg(dist.getSafeUserString()));
print(tr("Total length: %1").arg(lenghtStr(measurement->length())));
}
else if (mtype == MeasureType::TwoParallelLines) {
Base::Quantity dist(measurement->lineLineDistance(), Base::Unit::Length);
print(tr("Nominal distance: %1").arg(dist.getSafeUserString()));
print(tr("Nominal distance: %1").arg(lenghtStr(measurement->lineLineDistance())));
}
else if (mtype == MeasureType::TwoLines) {
Base::Quantity angle(measurement->angle(), Base::Unit::Length);
Base::Quantity dist(measurement->length(), Base::Unit::Length);
print(tr("Angle: %1, Total length: %2")
.arg(angle.getSafeUserString(), dist.getSafeUserString()));
.arg(lenghtStr(measurement->angle()), lenghtStr(measurement->length())));
}
else if (mtype == MeasureType::Line) {
Base::Quantity dist(measurement->length(), Base::Unit::Length);
print(tr("Length: %1").arg(dist.getSafeUserString()));
print(tr("Length: %1").arg(lenghtStr(measurement->length())));
}
else if (mtype == MeasureType::Circle) {
Base::Quantity dist(measurement->radius(), Base::Unit::Length);
print(tr("Radius: %1").arg(dist.getSafeUserString()));
print(tr("Radius: %1").arg(lenghtStr(measurement->radius())));
}
else if (mtype == MeasureType::PointToPoint) {
Base::Quantity dist(measurement->length(), Base::Unit::Length);
print(tr("Distance: %1").arg(dist.getSafeUserString()));
print(tr("Distance: %1").arg(lenghtStr(measurement->length())));
}
else if (mtype == MeasureType::PointToEdge || mtype == MeasureType::PointToSurface) {
Base::Quantity dist(measurement->length(), Base::Unit::Length);
print(tr("Minimum distance: %1").arg(dist.getSafeUserString()));
print(tr("Minimum distance: %1").arg(lenghtStr(measurement->length())));
}
else {
print(QString::fromLatin1(""));