Sketcher: Utility functions to simplify common operations with GeometryFacade

This commit is contained in:
Abdullah Tahiri
2020-10-30 17:04:32 +01:00
committed by abdullahtahiriyo
parent 063e0a6767
commit 74ff589fd0
2 changed files with 16 additions and 0 deletions

View File

@@ -99,7 +99,19 @@ void GeometryFacade::initExtension() const
const_cast<GeometryFacade *>(this)->SketchGeoExtension = ext;
}
void GeometryFacade::ensureSketchGeometryExtension(Part::Geometry * geometry)
{
if(!geometry->hasExtension(SketchGeometryExtension::getClassTypeId())) {
geometry->setExtension(std::make_unique<SketchGeometryExtension>()); // Create getExtension
}
}
void GeometryFacade::copyId(const Part::Geometry * src, Part::Geometry * dst)
{
auto gfsrc = GeometryFacade::getFacade(src);
auto gfdst = GeometryFacade::getFacade(dst);
gfdst->setId(gfsrc->getId());
}
PyObject * GeometryFacade::getPyObject(void)
{

View File

@@ -56,6 +56,10 @@ public: // Factory methods
static std::unique_ptr<GeometryFacade> getFacade(Part::Geometry * geometry);
static std::unique_ptr<const GeometryFacade> getFacade(const Part::Geometry * geometry);
public: // Utility methods
static void ensureSketchGeometryExtension(Part::Geometry * geometry);
static void copyId(const Part::Geometry * src, Part::Geometry * dst);
public:
void setGeometry(Part::Geometry *geometry);