Gui: Rename ViewProviderDatum::getRoot() to ViewProviderDatum::getDatumRoot()

Before the change the compiler raised the warning: 'Gui::ViewProviderDatum::getRoot' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
In the base class the method getRoot() is declared as const while in ViewProviderDatum it's not and that's why it's considered as an overloaded method.
However, this signature causes two problems:
1. In the client code it's not always clear which version of getRoot() should be called
2. It violates const-correctness

So, trying to declare the method ViewProviderDatum::getRoot() as const it now overrides the method of the base class (and fixes the warning) but
this doesn't lead to the expected result: See https://forum.freecad.org/viewtopic.php?p=796064#p796064

The other option is to rename the method. And this gives the expected result now.
This commit is contained in:
wmayer
2024-12-07 12:51:10 +01:00
committed by wwmayer
parent 16ac5f9977
commit ce55d6be75
4 changed files with 5 additions and 5 deletions

View File

@@ -94,7 +94,7 @@ void ViewProviderLine::attach(App::DocumentObject *obj) {
// indexes used to create the edges
static const int32_t lines[4] = { 0, 1, -1 };
SoSeparator *sep = getRoot();
SoSeparator *sep = getDatumRoot();
auto pCoords = new SoCoordinate3 ();
pCoords->point.setNum (2);