Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's

Regex based changes, manually verified
This commit is contained in:
Benjamin Nauck
2025-01-16 21:27:50 +01:00
parent 6a3eb2ab49
commit 6f535f19fb
166 changed files with 484 additions and 497 deletions

View File

@@ -553,7 +553,7 @@ private:
TopoDS_Shape shape = ShapeUtils::mirrorShape(gObj->getVisHard());
double offX = 0.0;
double offY = 0.0;
if (dvp->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
if (dvp->isDerivedFrom<TechDraw::DrawProjGroupItem>()) {
TechDraw::DrawProjGroupItem* dpgi = static_cast<TechDraw::DrawProjGroupItem*>(dvp);
TechDraw::DrawProjGroup* dpg = dpgi->getPGroup();
if (dpg) {
@@ -687,13 +687,13 @@ private:
dPage = static_cast<TechDraw::DrawPage*>(obj);
auto views = dPage->getAllViews();
for (auto& view : views) {
if (view->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
if (view->isDerivedFrom<TechDraw::DrawViewPart>()) {
TechDraw::DrawViewPart* dvp = static_cast<TechDraw::DrawViewPart*>(view);
layerName = dvp->getNameInDocument();
writer.setLayerName(layerName);
write1ViewDxf(writer, dvp, true);
} else if (view->isDerivedFrom(TechDraw::DrawViewAnnotation::getClassTypeId())) {
} else if (view->isDerivedFrom<TechDraw::DrawViewAnnotation>()) {
TechDraw::DrawViewAnnotation* dva = static_cast<TechDraw::DrawViewAnnotation*>(view);
layerName = dva->getNameInDocument();
writer.setLayerName(layerName);
@@ -703,7 +703,7 @@ private:
auto lines = dva->Text.getValues();
writer.exportText(lines[0].c_str(), loc, loc, height, just);
} else if (view->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) {
} else if (view->isDerivedFrom<TechDraw::DrawViewDimension>()) {
DrawViewDimension* dvd = static_cast<TechDraw::DrawViewDimension*>(view);
TechDraw::DrawViewPart* dvp = dvd->getViewPart();
if (!dvp) {
@@ -711,7 +711,7 @@ private:
}
double grandParentX = 0.0;
double grandParentY = 0.0;
if (dvp->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
if (dvp->isDerivedFrom<TechDraw::DrawProjGroupItem>()) {
TechDraw::DrawProjGroupItem* dpgi = static_cast<TechDraw::DrawProjGroupItem*>(dvp);
TechDraw::DrawProjGroup* dpg = dpgi->getPGroup();
if (!dpg) {

View File

@@ -108,7 +108,7 @@ TopoDS_Shape ReferenceEntry::getGeometry() const
return {};
}
if ( getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId()) ) {
if ( getObject()->isDerivedFrom<TechDraw::DrawViewPart>() ) {
// 2d geometry from DrawViewPart will be rotated and scaled
return getGeometry2d();
}
@@ -277,14 +277,14 @@ bool ReferenceEntry::isWholeObject() const
bool ReferenceEntry::is3d() const
{
if (getObject() &&
getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId()) &&
getObject()->isDerivedFrom<TechDraw::DrawViewPart>() &&
!getSubName().empty()) {
// this is a well formed 2d reference
return false;
}
if (getObject() &&
getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId()) &&
getObject()->isDerivedFrom<TechDraw::DrawViewPart>() &&
getSubName().empty()) {
// this is a broken 3d reference, so it should be treated as 3d
return true;
@@ -302,7 +302,7 @@ bool ReferenceEntry::hasGeometry() const
return false;
}
if ( getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId()) ) {
if ( getObject()->isDerivedFrom<TechDraw::DrawViewPart>() ) {
// 2d reference
return hasGeometry2d();
}

View File

@@ -321,7 +321,7 @@ DrawLeaderLine* DrawLeaderLine::makeLeader(DrawViewPart* parent, std::vector<Bas
App::DocumentObject* obj = parent->getDocument()->getObject(leaderName.c_str());
if (!obj || !obj->isDerivedFrom(TechDraw::DrawLeaderLine::getClassTypeId())) {
if (!obj || !obj->isDerivedFrom<TechDraw::DrawLeaderLine>()) {
throw Base::RuntimeError("DrawLeaderLine::makeLeader - new object not found");
}

View File

@@ -173,7 +173,7 @@ bool DrawPage::hasValidTemplate() const
App::DocumentObject* obj = nullptr;
obj = Template.getValue();
if (obj && obj->isDerivedFrom(TechDraw::DrawTemplate::getClassTypeId())) {
if (obj && obj->isDerivedFrom<TechDraw::DrawTemplate>()) {
TechDraw::DrawTemplate* templ = static_cast<TechDraw::DrawTemplate*>(obj);
if (templ->getWidth() > 0. && templ->getHeight() > 0.) {
return true;
@@ -187,7 +187,7 @@ double DrawPage::getPageWidth() const
{
App::DocumentObject* obj = Template.getValue();
if (obj && obj->isDerivedFrom(TechDraw::DrawTemplate::getClassTypeId())) {
if (obj && obj->isDerivedFrom<TechDraw::DrawTemplate>()) {
TechDraw::DrawTemplate* templ = static_cast<TechDraw::DrawTemplate*>(obj);
return templ->getWidth();
}
@@ -199,7 +199,7 @@ double DrawPage::getPageHeight() const
{
App::DocumentObject* obj = Template.getValue();
if (obj && obj->isDerivedFrom(TechDraw::DrawTemplate::getClassTypeId())) {
if (obj && obj->isDerivedFrom<TechDraw::DrawTemplate>()) {
TechDraw::DrawTemplate* templ = static_cast<TechDraw::DrawTemplate*>(obj);
return templ->getHeight();
}
@@ -213,7 +213,7 @@ const char* DrawPage::getPageOrientation() const
App::DocumentObject* obj;
obj = Template.getValue();
if (obj && obj->isDerivedFrom(TechDraw::DrawTemplate::getClassTypeId())) {
if (obj && obj->isDerivedFrom<TechDraw::DrawTemplate>()) {
TechDraw::DrawTemplate* templ = static_cast<TechDraw::DrawTemplate*>(obj);
return templ->Orientation.getValueAsString();
}
@@ -225,7 +225,7 @@ int DrawPage::getOrientation() const
{
App::DocumentObject* obj = Template.getValue();
if (obj && obj->isDerivedFrom(DrawTemplate::getClassTypeId())) {
if (obj && obj->isDerivedFrom<DrawTemplate>()) {
auto* templ = static_cast<DrawTemplate*>(obj);
return templ->Orientation.getValue();
}

View File

@@ -88,15 +88,15 @@ PyObject* DrawPagePy::getViews(PyObject* args)
Py::List ret;
for (auto v: allViews) {
if (v->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
if (v->isDerivedFrom<TechDraw::DrawProjGroupItem>()) {
TechDraw::DrawProjGroupItem* dpgi = static_cast<TechDraw::DrawProjGroupItem*>(v);
ret.append(Py::asObject(new TechDraw::DrawProjGroupItemPy(dpgi)));
}
else if (v->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
else if (v->isDerivedFrom<TechDraw::DrawViewPart>()) {
TechDraw::DrawViewPart* dvp = static_cast<TechDraw::DrawViewPart*>(v);
ret.append(Py::asObject(new TechDraw::DrawViewPartPy(dvp)));
}
else if (v->isDerivedFrom(TechDraw::DrawViewAnnotation::getClassTypeId())) {
else if (v->isDerivedFrom<TechDraw::DrawViewAnnotation>()) {
TechDraw::DrawViewAnnotation* dva = static_cast<TechDraw::DrawViewAnnotation*>(v);
ret.append(Py::asObject(new TechDraw::DrawViewAnnotationPy(dva)));
}
@@ -120,15 +120,15 @@ PyObject* DrawPagePy::getAllViews(PyObject* args)
Py::List ret;
for (auto v: allViews) {
if (v->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
if (v->isDerivedFrom<TechDraw::DrawProjGroupItem>()) {
TechDraw::DrawProjGroupItem* dpgi = static_cast<TechDraw::DrawProjGroupItem*>(v);
ret.append(Py::asObject(new TechDraw::DrawProjGroupItemPy(dpgi)));
}
else if (v->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
else if (v->isDerivedFrom<TechDraw::DrawViewPart>()) {
TechDraw::DrawViewPart* dvp = static_cast<TechDraw::DrawViewPart*>(v);
ret.append(Py::asObject(new TechDraw::DrawViewPartPy(dvp)));
}
else if (v->isDerivedFrom(TechDraw::DrawViewAnnotation::getClassTypeId())) {
else if (v->isDerivedFrom<TechDraw::DrawViewAnnotation>()) {
TechDraw::DrawViewAnnotation* dva = static_cast<TechDraw::DrawViewAnnotation*>(v);
ret.append(Py::asObject(new TechDraw::DrawViewAnnotationPy(dva)));
}

View File

@@ -441,7 +441,7 @@ bool DrawProjGroup::canDelete(const char* viewProjType) const
if (item == this) {
continue;
}
if (item->isDerivedFrom(TechDraw::DrawView::getClassTypeId())) {
if (item->isDerivedFrom<TechDraw::DrawView>()) {
return false;
}
}

View File

@@ -103,7 +103,7 @@ void DrawSVGTemplate::onSettingDocument()
void DrawSVGTemplate::slotCreatedObject(const App::DocumentObject& obj)
{
// Base::Console().Message("DSVGT::slotCreatedObject()\n");
if (!obj.isDerivedFrom(TechDraw::DrawPage::getClassTypeId())) {
if (!obj.isDerivedFrom<TechDraw::DrawPage>()) {
// we don't care
return;
}
@@ -113,7 +113,7 @@ void DrawSVGTemplate::slotCreatedObject(const App::DocumentObject& obj)
void DrawSVGTemplate::slotDeletedObject(const App::DocumentObject& obj)
{
// Base::Console().Message("DSVGT::slotDeletedObject()\n");
if (!obj.isDerivedFrom(TechDraw::DrawPage::getClassTypeId())) {
if (!obj.isDerivedFrom<TechDraw::DrawPage>()) {
// we don't care
return;
}

View File

@@ -573,7 +573,7 @@ void DrawView::handleChangedPropertyType(Base::XMLReader &reader, const char * T
}
}
}
else if (prop->isDerivedFrom(App::PropertyLinkList::getClassTypeId())
else if (prop->isDerivedFrom<App::PropertyLinkList>()
&& strcmp(prop->getName(), "Source") == 0) {
App::PropertyLinkGlobal glink;
App::PropertyLink link;

View File

@@ -129,11 +129,11 @@ std::vector<App::DocumentObject*> DrawViewClip::getViews() const
std::vector<App::DocumentObject*> views = Views.getValues();
std::vector<App::DocumentObject*> allViews;
for (auto& v : views) {
if (v->isDerivedFrom(App::Link::getClassTypeId())) {
if (v->isDerivedFrom<App::Link>()) {
v = static_cast<App::Link*>(v)->getLinkedObject();
}
if (!v->isDerivedFrom(DrawView::getClassTypeId())) {
if (!v->isDerivedFrom<DrawView>()) {
continue;
}

View File

@@ -133,11 +133,11 @@ std::vector<App::DocumentObject*> DrawViewCollection::getViews() const
std::vector<App::DocumentObject*> views = Views.getValues();
std::vector<App::DocumentObject*> allViews;
for (auto& v : views) {
if (v->isDerivedFrom(App::Link::getClassTypeId())) {
if (v->isDerivedFrom<App::Link>()) {
v = static_cast<App::Link*>(v)->getLinkedObject();
}
if (!v->isDerivedFrom(TechDraw::DrawView::getClassTypeId())) {
if (!v->isDerivedFrom<TechDraw::DrawView>()) {
continue;
}

View File

@@ -157,7 +157,7 @@ App::DocumentObjectExecReturn* DrawViewDetail::execute()
DrawViewPart* dvp = static_cast<DrawViewPart*>(baseObj);
TopoDS_Shape shape3d = dvp->getShapeForDetail();
DrawViewSection* dvs = nullptr;
if (dvp->isDerivedFrom(TechDraw::DrawViewSection::getClassTypeId())) {
if (dvp->isDerivedFrom<TechDraw::DrawViewSection>()) {
dvs = static_cast<TechDraw::DrawViewSection*>(dvp);
}

View File

@@ -114,7 +114,7 @@ pointPair DrawViewDimExtent::getPointsExtent(ReferenceVector references)
// Base::Console().Message("DVD::getPointsExtent() - %s\n", getNameInDocument());
App::DocumentObject* refObject = references.front().getObject();
int direction = DirExtent.getValue();
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()) {
auto dvp = static_cast<TechDraw::DrawViewPart*>(refObject);
std::vector<std::string> edgeNames; //empty list means we are using all the edges

View File

@@ -809,7 +809,7 @@ pointPair DrawViewDimension::getPointsOneEdge(ReferenceVector references)
{
App::DocumentObject* refObject = references.front().getObject();
int iSubelement = DrawUtil::getIndexFromName(references.front().getSubName());
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()
&& !references.at(0).getSubName().empty()) {
// TODO: Notify if not straight line Edge?
// this is a 2d object (a DVP + subelements)
@@ -850,7 +850,7 @@ pointPair DrawViewDimension::getPointsTwoEdges(ReferenceVector references)
App::DocumentObject* refObject = references.front().getObject();
int iSubelement0 = DrawUtil::getIndexFromName(references.at(0).getSubName());
int iSubelement1 = DrawUtil::getIndexFromName(references.at(1).getSubName());
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()
&& !references.at(0).getSubName().empty()) {
// this is a 2d object (a DVP + subelements)
TechDraw::BaseGeomPtr geom0 = getViewPart()->getGeomByIndex(iSubelement0);
@@ -882,7 +882,7 @@ pointPair DrawViewDimension::getPointsTwoVerts(ReferenceVector references)
App::DocumentObject* refObject = references.front().getObject();
int iSubelement0 = DrawUtil::getIndexFromName(references.at(0).getSubName());
int iSubelement1 = DrawUtil::getIndexFromName(references.at(1).getSubName());
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()
&& !references.at(0).getSubName().empty()) {
// this is a 2d object (a DVP + subelements)
TechDraw::VertexPtr v0 = getViewPart()->getProjVertexByIndex(iSubelement0);
@@ -919,7 +919,7 @@ pointPair DrawViewDimension::getPointsEdgeVert(ReferenceVector references)
App::DocumentObject* refObject = references.front().getObject();
int iSubelement0 = DrawUtil::getIndexFromName(references.at(0).getSubName());
int iSubelement1 = DrawUtil::getIndexFromName(references.at(1).getSubName());
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()
&& !references.at(0).getSubName().empty()) {
// this is a 2d object (a DVP + subelements)
TechDraw::BaseGeomPtr edge;
@@ -975,7 +975,7 @@ arcPoints DrawViewDimension::getArcParameters(ReferenceVector references)
{
App::DocumentObject* refObject = references.front().getObject();
int iSubelement = DrawUtil::getIndexFromName(references.front().getSubName());
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()
&& !references.at(0).getSubName().empty()) {
// this is a 2d object (a DVP + subelements)
TechDraw::BaseGeomPtr geom = getViewPart()->getGeomByIndex(iSubelement);
@@ -1207,7 +1207,7 @@ anglePoints DrawViewDimension::getAnglePointsTwoEdges(ReferenceVector references
App::DocumentObject* refObject = references.front().getObject();
int iSubelement0 = DrawUtil::getIndexFromName(references.at(0).getSubName());
int iSubelement1 = DrawUtil::getIndexFromName(references.at(1).getSubName());
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()
&& !references.at(0).getSubName().empty()) {
// this is a 2d object (a DVP + subelements)
TechDraw::BaseGeomPtr geom0 = getViewPart()->getGeomByIndex(iSubelement0);
@@ -1345,7 +1345,7 @@ anglePoints DrawViewDimension::getAnglePointsThreeVerts(ReferenceVector referenc
int iSubelement0 = DrawUtil::getIndexFromName(references.at(0).getSubName());
int iSubelement1 = DrawUtil::getIndexFromName(references.at(1).getSubName());
int iSubelement2 = DrawUtil::getIndexFromName(references.at(2).getSubName());
if (refObject->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())
if (refObject->isDerivedFrom<TechDraw::DrawViewPart>()
&& !references.at(0).getSubName().empty()) {
// this is a 2d object (a DVP + subelements)
TechDraw::VertexPtr vert0 = getViewPart()->getProjVertexByIndex(iSubelement0);

View File

@@ -273,15 +273,15 @@ std::string DrawViewSpreadsheet::getSheetImage()
App::Property* prop = sheet->getPropertyByName(address.toString().c_str());
std::stringstream field;
if (prop && cell) {
if (prop->isDerivedFrom(App::PropertyQuantity::getClassTypeId())) {
if (prop->isDerivedFrom<App::PropertyQuantity>()) {
auto contentAsQuantity = static_cast<App::PropertyQuantity*>(prop)->getQuantityValue();
field << contentAsQuantity.getUserString();
} else if (prop->isDerivedFrom(App::PropertyFloat::getClassTypeId()) ||
prop->isDerivedFrom(App::PropertyInteger::getClassTypeId())) {
} else if (prop->isDerivedFrom<App::PropertyFloat>() ||
prop->isDerivedFrom<App::PropertyInteger>()) {
std::string temp = cell->getFormattedQuantity();
DrawUtil::encodeXmlSpecialChars(temp);
field << temp;
} else if (prop->isDerivedFrom(App::PropertyString::getClassTypeId())) {
} else if (prop->isDerivedFrom<App::PropertyString>()) {
std::string temp = static_cast<App::PropertyString*>(prop)->getValue();
DrawUtil::encodeXmlSpecialChars(temp);
field << temp;

View File

@@ -69,7 +69,7 @@ std::vector<TopoDS_Shape> ShapeExtractor::getShapes2d(const std::vector<App::Doc
for (auto& l:links) {
if (is2dObject(l)) {
if (l->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) {
if (l->isDerivedFrom<Part::Feature>()) {
TopoDS_Shape temp = getLocatedShape(l);
// checkShape on 2d objs?
if (!temp.IsNull()) {
@@ -118,7 +118,7 @@ TopoDS_Shape ShapeExtractor::getShapes(const std::vector<App::DocumentObject*> l
}
for (auto* inObj : l->getInList()) {
if (inObj->isDerivedFrom(App::Part::getClassTypeId())) {
if (inObj->isDerivedFrom<App::Part>()) {
// we replace obj by the assembly
obj = inObj;
break;