Sketcher: Add Sketcher Geometry Extension

This commit is contained in:
Abdullah Tahiri
2019-01-10 16:25:48 +01:00
committed by wmayer
parent 622f249dcd
commit 247e6a849b
3 changed files with 59 additions and 6 deletions

View File

@@ -65,12 +65,13 @@ PyMOD_INIT_FUNC(Sketcher)
// call PyType_Ready, otherwise we run into a segmentation fault, later on.
// This function is responsible for adding inherited slots from a type's base class.
Sketcher::SketchObjectSF ::init();
Sketcher::SketchObject ::init();
Sketcher::SketchObjectPython ::init();
Sketcher::Sketch ::init();
Sketcher::Constraint ::init();
Sketcher::PropertyConstraintList::init();
Sketcher::SketchGeometryExtension ::init();
Sketcher::SketchObjectSF ::init();
Sketcher::SketchObject ::init();
Sketcher::SketchObjectPython ::init();
Sketcher::Sketch ::init();
Sketcher::Constraint ::init();
Sketcher::PropertyConstraintList ::init();
Base::Console().Log("Loading Sketcher module... done\n");

View File

@@ -88,6 +88,41 @@
using namespace Sketcher;
using namespace Base;
//---------- Geometry Extension
TYPESYSTEM_SOURCE(Sketcher::SketchGeometryExtension,Part::GeometryExtension)
SketchGeometryExtension::~SketchGeometryExtension()
{
}
// Persistence implementer
unsigned int SketchGeometryExtension::getMemSize (void) const
{
return sizeof(long int);
}
void SketchGeometryExtension::Save(Base::Writer &writer) const
{
writer.Stream() << writer.ind() << "<GeoExtension type=\"" << this->getTypeId().getName()
<< "\" id=\"" << id << "\"/>" << endl;
}
void SketchGeometryExtension::Restore(Base::XMLReader &reader)
{
id = reader.getAttributeAsInteger("id");
}
PyObject * SketchGeometryExtension::getPyObject(void)
{
return 0;
}
//-------------- End Geometry Extension
const int GeoEnum::RtPnt = -1;
const int GeoEnum::HAxis = -1;
const int GeoEnum::VAxis = -2;

View File

@@ -41,6 +41,23 @@
namespace Sketcher
{
class SketcherExport SketchGeometryExtension : public Part::GeometryExtension
{
TYPESYSTEM_HEADER();
public:
virtual ~SketchGeometryExtension();
// Persistence implementer ---------------------
virtual unsigned int getMemSize(void) const;
virtual void Save(Base::Writer &/*writer*/) const;
virtual void Restore(Base::XMLReader &/*reader*/);
virtual PyObject *getPyObject(void);
public:
long int id;
};
struct SketcherExport GeoEnum
{
static const int RtPnt;