diff --git a/src/Mod/Sketcher/App/ExternalGeometryFacadePy.xml b/src/Mod/Sketcher/App/ExternalGeometryFacadePy.xml index 9209b9b42c..9694eb09c9 100644 --- a/src/Mod/Sketcher/App/ExternalGeometryFacadePy.xml +++ b/src/Mod/Sketcher/App/ExternalGeometryFacadePy.xml @@ -15,32 +15,54 @@ Describes a GeometryFacade - - - - returns the Id of the SketchGeometryExtension. - - - - - returns a boolean indicating whether the given bit is set. + Returns a boolean indicating whether the given bit is set. - sets the given bit to true/false. + Sets the given bit to true/false. - returns the reference string of this external geometry. + Returns the reference string of this external geometry. + + + + Sets/returns the Internal Alignment Type of the Geometry. + + + + + + + Sets/retuns this geometry as a construction one, which will not be part of a later built shape. + + + + + + + Sets/returns the Internal Alignment Type of the Geometry. + + + + + + + + Sets/returns whether the geometry is blocked or not. + + + + Performs the symmetrical transformation of this geometric object @@ -106,13 +128,6 @@ Returns a list with information about the geometry extensions. - - - Defines this geometry as a construction one which -means that it is not part of a later built shape. - - - Gives the tag of the geometry as string. @@ -121,7 +136,7 @@ means that it is not part of a later built shape. - Gives the tag of the geometry as string. + Returns the underlying geometry object. diff --git a/src/Mod/Sketcher/App/ExternalGeometryFacadePyImp.cpp b/src/Mod/Sketcher/App/ExternalGeometryFacadePyImp.cpp index 306419244f..50b29dcdb7 100644 --- a/src/Mod/Sketcher/App/ExternalGeometryFacadePyImp.cpp +++ b/src/Mod/Sketcher/App/ExternalGeometryFacadePyImp.cpp @@ -153,6 +153,41 @@ void ExternalGeometryFacadePy::setId(Py::Long Id) this->getExternalGeometryFacadePtr()->setId(long(Id)); } +Py::String ExternalGeometryFacadePy::getInternalType(void) const +{ + int internaltypeindex = (int)this->getExternalGeometryFacadePtr()->getInternalType(); + + if(internaltypeindex >= InternalType::NumInternalGeometryType) + throw Py::NotImplementedError("String name of enum not implemented"); + + std::string typestr = SketchGeometryExtension::internaltype2str[internaltypeindex]; + + return Py::String(typestr); +} + +void ExternalGeometryFacadePy::setInternalType(Py::String arg) +{ + std::string argstr = arg; + InternalType::InternalType type; + + if(SketchGeometryExtension::getInternalTypeFromName(argstr, type)) { + this->getExternalGeometryFacadePtr()->setInternalType(type); + return; + } + + throw Py::ValueError("Argument is not a valid internal geometry type."); +} + +Py::Boolean ExternalGeometryFacadePy::getBlocked(void) const +{ + return Py::Boolean(getExternalGeometryFacadePtr()->getBlocked()); +} + +void ExternalGeometryFacadePy::setBlocked(Py::Boolean arg) +{ + getExternalGeometryFacadePtr()->setBlocked(arg); +} + PyObject* ExternalGeometryFacadePy::mirror(PyObject *args) { PyObject* o;