diff --git a/src/Mod/Part/Gui/ViewProviderPreviewExtension.cpp b/src/Mod/Part/Gui/ViewProviderPreviewExtension.cpp index 87ef297d0e..6e8424cf6c 100644 --- a/src/Mod/Part/Gui/ViewProviderPreviewExtension.cpp +++ b/src/Mod/Part/Gui/ViewProviderPreviewExtension.cpp @@ -56,7 +56,8 @@ SoPreviewShape::SoPreviewShape() SO_NODE_ADD_FIELD(lineWidth, (defaultLineWidth)); SO_NODE_ADD_FIELD(transform, (SbMatrix::identity())); - pcTransform = new SoTransform; + pcTransform = new SoMatrixTransform; + pcTransform->matrix.connectFrom(&transform); auto pickStyle = new SoPickStyle; pickStyle->style = SoPickStyle::UNPICKABLE; @@ -124,14 +125,6 @@ void SoPreviewShape::initClass() SO_NODE_INIT_CLASS(SoPreviewShape, SoSeparator, "Separator"); } -void SoPreviewShape::notify(SoNotList* nl) -{ - SoField* field = nl->getLastField(); - if (field == &transform) { - pcTransform->setMatrix(transform.getValue()); - } -} - EXTENSION_PROPERTY_SOURCE(PartGui::ViewProviderPreviewExtension, Gui::ViewProviderExtension) ViewProviderPreviewExtension::ViewProviderPreviewExtension() diff --git a/src/Mod/Part/Gui/ViewProviderPreviewExtension.h b/src/Mod/Part/Gui/ViewProviderPreviewExtension.h index 69b1a354e6..96ed17bfd2 100644 --- a/src/Mod/Part/Gui/ViewProviderPreviewExtension.h +++ b/src/Mod/Part/Gui/ViewProviderPreviewExtension.h @@ -32,18 +32,16 @@ #include #include -#include -#include -#include +#include #include #include +#include #include #include #include #include -#include #include namespace PartGui { @@ -60,15 +58,13 @@ public: SoPreviewShape(); static void initClass(); - void notify(SoNotList* nl) override; - SoSFColor color; SoSFFloat transparency; SoSFFloat lineWidth; SoSFMatrix transform; private: - SoTransform* pcTransform; + SoMatrixTransform* pcTransform; }; class PartGuiExport ViewProviderPreviewExtension : public Gui::ViewProviderExtension {