Measure: Add MeasureElementType::Surface

This commit is contained in:
hlorus
2025-05-15 07:53:20 +02:00
committed by Benjamin Nauck
parent ecb3ede295
commit 900afce86f
3 changed files with 7 additions and 7 deletions

View File

@@ -51,7 +51,8 @@ enum class MeasureElementType
CURVE, // Has a length but no radius or axis
PLANE,
CYLINDER,
Volume,
VOLUME,
SURFACE,
};

View File

@@ -68,8 +68,8 @@ bool MeasureArea::isValidSelection(const App::MeasureSelection& selection)
return false;
}
// TODO: Also support Cylinder & Volume?
if ((type != App::MeasureElementType::PLANE && type != App::MeasureElementType::CYLINDER)) {
if ((type != App::MeasureElementType::PLANE && type != App::MeasureElementType::CYLINDER
&& type != App::MeasureElementType::SURFACE)) {
return false;
}
}

View File

@@ -157,11 +157,12 @@ App::MeasureElementType PartMeasureTypeCb(App::DocumentObject* ob, const char* s
switch (surface.GetType()) {
case GeomAbs_Cylinder: { return App::MeasureElementType::CYLINDER; }
case GeomAbs_Plane: { return App::MeasureElementType::PLANE; }
default: { return App::MeasureElementType::INVALID; }
default: {
return App::MeasureElementType::SURFACE; }
}
}
case TopAbs_SOLID: {
return App::MeasureElementType::Volume;
return App::MeasureElementType::VOLUME;
}
default: {
return App::MeasureElementType::INVALID;
@@ -461,5 +462,3 @@ Part::CallbackRegistrationList Part::MeasureClient::reportRadiusCB()
callbacks.emplace_back("Sketcher", "Radius", MeasureRadiusHandler);
return callbacks;
}