From fb5e76992fcfcc1b876e8bc4ef4c3255882482f3 Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sun, 1 Nov 2020 08:25:56 +0100 Subject: [PATCH] Sketcher: Restrict ability to create empty GeometryFacade and ExternalGeometryFacade objects to Python --- src/Mod/Sketcher/App/ExternalGeometryFacade.h | 5 +++-- src/Mod/Sketcher/App/GeometryFacade.h | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Mod/Sketcher/App/ExternalGeometryFacade.h b/src/Mod/Sketcher/App/ExternalGeometryFacade.h index af0aca758b..b1084e95a7 100644 --- a/src/Mod/Sketcher/App/ExternalGeometryFacade.h +++ b/src/Mod/Sketcher/App/ExternalGeometryFacade.h @@ -36,6 +36,7 @@ namespace Sketcher { +class ExternalGeometryFacadePy; // This class is a Facade to handle external geometry geometry and sketcher geometry extensions with a single sketcher specific interface // // It is intended to have a separate type (not being a Geometry type). @@ -47,9 +48,9 @@ TYPESYSTEM_HEADER_WITH_OVERRIDE(); private: ExternalGeometryFacade(const Part::Geometry * geometry); + ExternalGeometryFacade(); // As TYPESYSTEM requirement -public: - ExternalGeometryFacade(); // As TYPESYSTEM requirement for Python object construction + friend class ExternalGeometryFacadePy; public: // Factory methods static std::unique_ptr getFacade(Part::Geometry * geometry); diff --git a/src/Mod/Sketcher/App/GeometryFacade.h b/src/Mod/Sketcher/App/GeometryFacade.h index 6dcd11be55..22e5ce56be 100644 --- a/src/Mod/Sketcher/App/GeometryFacade.h +++ b/src/Mod/Sketcher/App/GeometryFacade.h @@ -35,6 +35,7 @@ namespace Sketcher { +class GeometryFacadePy; // This class is a Facade to handle geometry and sketcher geometry extensions with a single sketcher specific interface // // @@ -48,9 +49,9 @@ TYPESYSTEM_HEADER_WITH_OVERRIDE(); private: GeometryFacade(const Part::Geometry * geometry); + GeometryFacade(); // As TYPESYSTEM requirement -public: - GeometryFacade(); // As TYPESYSTEM requirement for Python object construction + friend class GeometryFacadePy; public: // Factory methods static std::unique_ptr getFacade(Part::Geometry * geometry);