From 64bc5abe303ef1b371242e63e13c26b2a5865f11 Mon Sep 17 00:00:00 2001 From: blobfish Date: Wed, 21 Jan 2015 16:56:23 -0500 Subject: [PATCH] class hierarchy and macros --- src/Mod/Surface/App/AppSurface.cpp | 2 ++ src/Mod/Surface/App/FeatureBSplineSurf.cpp | 6 ++---- src/Mod/Surface/App/FeatureBSurf.cpp | 9 +++++++++ src/Mod/Surface/App/FeatureBSurf.h | 3 ++- src/Mod/Surface/App/FeatureBezSurf.cpp | 6 ++---- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/Mod/Surface/App/AppSurface.cpp b/src/Mod/Surface/App/AppSurface.cpp index 7bfaaa1e60..f5dff3e7d4 100644 --- a/src/Mod/Surface/App/AppSurface.cpp +++ b/src/Mod/Surface/App/AppSurface.cpp @@ -30,6 +30,7 @@ #include "FeatureFilling.h" #include "FeatureSewing.h" #include "FeatureCut.h" +#include "FeatureBSurf.h" #include "FeatureBezSurf.h" #include "FeatureBSplineSurf.h" @@ -66,6 +67,7 @@ void SurfaceExport initSurface() { Surface::Filling ::init(); Surface::Sewing ::init(); Surface::Cut ::init(); + Surface::BSurf ::init(); Surface::BezSurf ::init(); Surface::BSplineSurf ::init(); } diff --git a/src/Mod/Surface/App/FeatureBSplineSurf.cpp b/src/Mod/Surface/App/FeatureBSplineSurf.cpp index 876dd00fb8..991ec19d46 100644 --- a/src/Mod/Surface/App/FeatureBSplineSurf.cpp +++ b/src/Mod/Surface/App/FeatureBSplineSurf.cpp @@ -44,14 +44,12 @@ using namespace Surface; -PROPERTY_SOURCE(Surface::BSplineSurf, Part::Feature) +PROPERTY_SOURCE(Surface::BSplineSurf, Surface::BSurf) //Initial values -BSplineSurf::BSplineSurf() +BSplineSurf::BSplineSurf() : BSurf() { - ADD_PROPERTY(aBList,(0,"Geom_BSplineCurve")); - ADD_PROPERTY(filltype,(1)); } //Functions diff --git a/src/Mod/Surface/App/FeatureBSurf.cpp b/src/Mod/Surface/App/FeatureBSurf.cpp index aa6cb62b66..56b631ae3a 100644 --- a/src/Mod/Surface/App/FeatureBSurf.cpp +++ b/src/Mod/Surface/App/FeatureBSurf.cpp @@ -39,6 +39,15 @@ using namespace Surface; +PROPERTY_SOURCE(Surface::BSurf, Part::Feature) + +BSurf::BSurf(): Feature() +{ + ADD_PROPERTY(filltype,(1)); + ADD_PROPERTY(aBList,(0,"Dummy")); +} + + //Check if any components of the surface have been modified short BSurf::mustExecute() const { diff --git a/src/Mod/Surface/App/FeatureBSurf.h b/src/Mod/Surface/App/FeatureBSurf.h index cbbdb44fd9..6c55d6cb57 100644 --- a/src/Mod/Surface/App/FeatureBSurf.h +++ b/src/Mod/Surface/App/FeatureBSurf.h @@ -39,12 +39,13 @@ namespace Surface class BSurf : public Part::Feature { + PROPERTY_HEADER(Surface::BSurf); public: + BSurf(); App::PropertyLinkSubList aBList; //curves to be turned into a face (2-4 curves allowed). App::PropertyInteger filltype; //Fill method (1, 2, or 3 for Stretch, Coons, and Curved) short mustExecute() const; - virtual App::DocumentObjectExecReturn *execute(void) = 0; /// returns the type name of the view provider const char* getViewProviderName(void) const { diff --git a/src/Mod/Surface/App/FeatureBezSurf.cpp b/src/Mod/Surface/App/FeatureBezSurf.cpp index caadf0eaaa..703ad1e20b 100644 --- a/src/Mod/Surface/App/FeatureBezSurf.cpp +++ b/src/Mod/Surface/App/FeatureBezSurf.cpp @@ -44,14 +44,12 @@ using namespace Surface; -PROPERTY_SOURCE(Surface::BezSurf, Part::Feature) +PROPERTY_SOURCE(Surface::BezSurf, Surface::BSurf) //Initial values -BezSurf::BezSurf() +BezSurf::BezSurf() : BSurf() { - ADD_PROPERTY(aBList,(0,"Geom_BezierCurve")); - ADD_PROPERTY(filltype,(1)); } //Functions