diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp index c1d399921..c45023754 100644 --- a/src/Mod/Part/App/Geometry.cpp +++ b/src/Mod/Part/App/Geometry.cpp @@ -3042,10 +3042,20 @@ GeomCylinder::GeomCylinder() this->mySurface = s; } +GeomCylinder::GeomCylinder(const Handle_Geom_CylindricalSurface& c) +{ + this->mySurface = Handle_Geom_CylindricalSurface::DownCast(c->Copy()); +} + GeomCylinder::~GeomCylinder() { } +void GeomCylinder::setHandle(const Handle_Geom_CylindricalSurface& s) +{ + mySurface = Handle_Geom_CylindricalSurface::DownCast(s->Copy()); +} + const Handle_Geom_Geometry& GeomCylinder::handle() const { return mySurface; @@ -3079,10 +3089,20 @@ GeomCone::GeomCone() this->mySurface = s; } +GeomCone::GeomCone(const Handle_Geom_ConicalSurface& c) +{ + this->mySurface = Handle_Geom_ConicalSurface::DownCast(c->Copy()); +} + GeomCone::~GeomCone() { } +void GeomCone::setHandle(const Handle_Geom_ConicalSurface& s) +{ + mySurface = Handle_Geom_ConicalSurface::DownCast(s->Copy()); +} + const Handle_Geom_Geometry& GeomCone::handle() const { return mySurface; @@ -3116,10 +3136,20 @@ GeomToroid::GeomToroid() this->mySurface = s; } +GeomToroid::GeomToroid(const Handle_Geom_ToroidalSurface& t) +{ + this->mySurface = Handle_Geom_ToroidalSurface::DownCast(t->Copy()); +} + GeomToroid::~GeomToroid() { } +void GeomToroid::setHandle(const Handle_Geom_ToroidalSurface& s) +{ + mySurface = Handle_Geom_ToroidalSurface::DownCast(s->Copy()); +} + const Handle_Geom_Geometry& GeomToroid::handle() const { return mySurface; @@ -3153,10 +3183,20 @@ GeomSphere::GeomSphere() this->mySurface = s; } +GeomSphere::GeomSphere(const Handle_Geom_SphericalSurface& s) +{ + this->mySurface = Handle_Geom_SphericalSurface::DownCast(s->Copy()); +} + GeomSphere::~GeomSphere() { } +void GeomSphere::setHandle(const Handle_Geom_SphericalSurface& s) +{ + mySurface = Handle_Geom_SphericalSurface::DownCast(s->Copy()); +} + const Handle_Geom_Geometry& GeomSphere::handle() const { return mySurface; @@ -3190,10 +3230,20 @@ GeomPlane::GeomPlane() this->mySurface = s; } +GeomPlane::GeomPlane(const Handle_Geom_Plane& p) +{ + this->mySurface = Handle_Geom_Plane::DownCast(p->Copy()); +} + GeomPlane::~GeomPlane() { } +void GeomPlane::setHandle(const Handle_Geom_Plane& s) +{ + mySurface = Handle_Geom_Plane::DownCast(s->Copy()); +} + const Handle_Geom_Geometry& GeomPlane::handle() const { return mySurface; diff --git a/src/Mod/Part/App/Geometry.h b/src/Mod/Part/App/Geometry.h index 3a06e2a4d..2cfddd2cc 100644 --- a/src/Mod/Part/App/Geometry.h +++ b/src/Mod/Part/App/Geometry.h @@ -625,6 +625,7 @@ class PartExport GeomCylinder : public GeomSurface TYPESYSTEM_HEADER(); public: GeomCylinder(); + GeomCylinder(const Handle_Geom_CylindricalSurface&); virtual ~GeomCylinder(); virtual Geometry *clone(void) const; @@ -635,6 +636,7 @@ public: // Base implementer ---------------------------- virtual PyObject *getPyObject(void); + void setHandle(const Handle_Geom_CylindricalSurface&); const Handle_Geom_Geometry& handle() const; private: @@ -646,6 +648,7 @@ class PartExport GeomCone : public GeomSurface TYPESYSTEM_HEADER(); public: GeomCone(); + GeomCone(const Handle_Geom_ConicalSurface&); virtual ~GeomCone(); virtual Geometry *clone(void) const; @@ -656,6 +659,7 @@ public: // Base implementer ---------------------------- virtual PyObject *getPyObject(void); + void setHandle(const Handle_Geom_ConicalSurface&); const Handle_Geom_Geometry& handle() const; private: @@ -667,6 +671,7 @@ class PartExport GeomSphere : public GeomSurface TYPESYSTEM_HEADER(); public: GeomSphere(); + GeomSphere(const Handle_Geom_SphericalSurface&); virtual ~GeomSphere(); virtual Geometry *clone(void) const; @@ -677,6 +682,7 @@ public: // Base implementer ---------------------------- virtual PyObject *getPyObject(void); + void setHandle(const Handle_Geom_SphericalSurface&); const Handle_Geom_Geometry& handle() const; private: @@ -688,6 +694,7 @@ class PartExport GeomToroid : public GeomSurface TYPESYSTEM_HEADER(); public: GeomToroid(); + GeomToroid(const Handle_Geom_ToroidalSurface&); virtual ~GeomToroid(); virtual Geometry *clone(void) const; @@ -698,6 +705,7 @@ public: // Base implementer ---------------------------- virtual PyObject *getPyObject(void); + void setHandle(const Handle_Geom_ToroidalSurface&); const Handle_Geom_Geometry& handle() const; private: @@ -709,6 +717,7 @@ class PartExport GeomPlane : public GeomSurface TYPESYSTEM_HEADER(); public: GeomPlane(); + GeomPlane(const Handle_Geom_Plane&); virtual ~GeomPlane(); virtual Geometry *clone(void) const; @@ -719,6 +728,7 @@ public: // Base implementer ---------------------------- virtual PyObject *getPyObject(void); + void setHandle(const Handle_Geom_Plane&); const Handle_Geom_Geometry& handle() const; private: