From f98a811bd163a0d007b1c23ef884bc481ce7f2a0 Mon Sep 17 00:00:00 2001 From: jriegel Date: Thu, 19 Jan 2012 10:08:12 +0100 Subject: [PATCH] Add more objects for Assembly --- src/Mod/Assembly/App/CMakeLists.txt | 17 +++++++++++++++++ src/Mod/Assembly/App/Item.cpp | 3 +++ src/Mod/Assembly/App/Item.h | 11 +++++++++++ src/Mod/Assembly/App/ItemPart.h | 8 ++++---- src/Mod/Assembly/App/gcs3d/GCS.cpp | 1 + src/Mod/Assembly/Gui/AppAssemblyGui.cpp | 9 +++++++++ src/Mod/Assembly/Gui/CMakeLists.txt | 4 ++++ src/Mod/Assembly/Gui/ViewProvider.cpp | 8 ++++---- src/Mod/Assembly/Gui/ViewProvider.h | 14 +++++++------- src/Mod/Assembly/Gui/ViewProviderAssembly.cpp | 12 ++++++------ src/Mod/Assembly/Gui/ViewProviderAssembly.h | 16 ++++++++-------- src/Mod/Assembly/Gui/ViewProviderPart.cpp | 12 ++++++------ src/Mod/Assembly/Gui/ViewProviderPart.h | 16 ++++++++-------- 13 files changed, 88 insertions(+), 43 deletions(-) diff --git a/src/Mod/Assembly/App/CMakeLists.txt b/src/Mod/Assembly/App/CMakeLists.txt index a9e499a91..6eaebbfdc 100644 --- a/src/Mod/Assembly/App/CMakeLists.txt +++ b/src/Mod/Assembly/App/CMakeLists.txt @@ -14,6 +14,8 @@ include_directories( ${ZLIB_INCLUDE_DIR} ${XercesC_INCLUDE_DIRS} ${ODE_INCLUDE_DIRS} + ${EIGEN3_INCLUDE_DIR} + ) set(Assembly_LIBS @@ -28,6 +30,20 @@ generate_from_xml(ItemAssemblyPy) generate_from_xml(ItemPartPy) generate_from_xml(ConstraintGroupPy) +SET(FreeGCS3D_SRCS + gcs3d/GCS.cpp + gcs3d/GCS.h + gcs3d/Util.h + gcs3d/Geo.h + gcs3d/Constraints.cpp + gcs3d/Constraints.h + gcs3d/SubSystem.cpp + gcs3d/SubSystem.h + gcs3d/qp_eq.cpp + gcs3d/qp_eq.h +) +SOURCE_GROUP("FreeGCS3D" FILES ${FreeGCS3D_SRCS}) + SET(Features_SRCS Item.cpp Item.h @@ -76,6 +92,7 @@ SET(Assembly_SRCS ${Features_SRCS} ${Python_SRCS} ${Module_SRCS} + ${FreeGCS3D_SRCS} ) diff --git a/src/Mod/Assembly/App/Item.cpp b/src/Mod/Assembly/App/Item.cpp index b43225ac9..0a52687e8 100644 --- a/src/Mod/Assembly/App/Item.cpp +++ b/src/Mod/Assembly/App/Item.cpp @@ -43,6 +43,9 @@ Item::Item() ADD_PROPERTY(Uid,(0)); ADD_PROPERTY(Name,(0)); ADD_PROPERTY(Description,(0)); + + ADD_PROPERTY(Color,(1.0,1.0,1.0,1.0)); // set transparent -> not used + ADD_PROPERTY(Visibility,(true)); } short Item::mustExecute() const diff --git a/src/Mod/Assembly/App/Item.h b/src/Mod/Assembly/App/Item.h index a57252630..fde898739 100644 --- a/src/Mod/Assembly/App/Item.h +++ b/src/Mod/Assembly/App/Item.h @@ -50,6 +50,17 @@ public: App::PropertyString Description ; //@} + /** @name base properties of all Assembly Items */ + //@{ + /** Base color of the Item + If the transparency value is 1.0 + the color or the next hirachy is used + */ + App::PropertyColor Color; + /// Visibility + App::PropertyBool Visibility; + //@} + /** @name methods override feature */ //@{ /// recalculate the feature diff --git a/src/Mod/Assembly/App/ItemPart.h b/src/Mod/Assembly/App/ItemPart.h index 80acb8303..bc472a473 100644 --- a/src/Mod/Assembly/App/ItemPart.h +++ b/src/Mod/Assembly/App/ItemPart.h @@ -45,10 +45,10 @@ public: /// recalculate the feature App::DocumentObjectExecReturn *execute(void); short mustExecute() const; - /// returns the type name of the view provider - //const char* getViewProviderName(void) const { - // return "ItemPartDesignGui::ViewProviderItemPart"; - //} + // returns the type name of the view provider + const char* getViewProviderName(void) const { + return "ItemPartDesignGui::ViewProviderItemPart"; + } //@} }; diff --git a/src/Mod/Assembly/App/gcs3d/GCS.cpp b/src/Mod/Assembly/App/gcs3d/GCS.cpp index 1a5fc76a0..8f8592883 100644 --- a/src/Mod/Assembly/App/gcs3d/GCS.cpp +++ b/src/Mod/Assembly/App/gcs3d/GCS.cpp @@ -291,6 +291,7 @@ int System::solve(SubSystem *subsys, bool isFine, Algorithm alg) int System::solve_EX(SubSystem* subsys) { + return 0; } diff --git a/src/Mod/Assembly/Gui/AppAssemblyGui.cpp b/src/Mod/Assembly/Gui/AppAssemblyGui.cpp index 86d1bf700..95fbc16fe 100644 --- a/src/Mod/Assembly/Gui/AppAssemblyGui.cpp +++ b/src/Mod/Assembly/Gui/AppAssemblyGui.cpp @@ -30,6 +30,11 @@ #include #include #include "Workbench.h" + +#include "ViewProvider.h" +#include "ViewProviderPart.h" +#include "ViewProviderAssembly.h" + //#include "resources/qrc_Assembly.cpp" // use a different name to CreateCommand() @@ -62,6 +67,10 @@ void AssemblyGuiExport initAssemblyGui() CreateAssemblyCommands(); AssemblyGui::Workbench::init(); + AssemblyGui::ViewProviderItem ::init(); + AssemblyGui::ViewProviderItemPart ::init(); + AssemblyGui::ViewProviderItemAssembly::init(); + // add resources and reloads the translators loadAssemblyResource(); } diff --git a/src/Mod/Assembly/Gui/CMakeLists.txt b/src/Mod/Assembly/Gui/CMakeLists.txt index 6487b35f0..683333564 100644 --- a/src/Mod/Assembly/Gui/CMakeLists.txt +++ b/src/Mod/Assembly/Gui/CMakeLists.txt @@ -31,6 +31,10 @@ qt4_add_resources(AssemblyGui_SRCS Resources/Assembly.qrc) SET(AssemblyGuiViewProvider_SRCS ViewProvider.cpp ViewProvider.h + ViewProviderPart.cpp + ViewProviderPart.h + ViewProviderAssembly.cpp + ViewProviderAssembly.h ) SOURCE_GROUP("ViewProvider" FILES ${AssemblyGuiViewProvider_SRCS}) diff --git a/src/Mod/Assembly/Gui/ViewProvider.cpp b/src/Mod/Assembly/Gui/ViewProvider.cpp index 8193335ab..160f3daa3 100644 --- a/src/Mod/Assembly/Gui/ViewProvider.cpp +++ b/src/Mod/Assembly/Gui/ViewProvider.cpp @@ -32,17 +32,17 @@ using namespace AssemblyGui; -PROPERTY_SOURCE(AssemblyGui::ViewProvider,PartGui::ViewProviderPart) +PROPERTY_SOURCE(AssemblyGui::ViewProviderItem,PartGui::ViewProviderPart) -ViewProvider::ViewProvider() +ViewProviderItem::ViewProviderItem() { } -ViewProvider::~ViewProvider() +ViewProviderItem::~ViewProviderItem() { } -bool ViewProvider::doubleClicked(void) +bool ViewProviderItem::doubleClicked(void) { return true; } diff --git a/src/Mod/Assembly/Gui/ViewProvider.h b/src/Mod/Assembly/Gui/ViewProvider.h index 8f75eb8a4..03fb5d42e 100644 --- a/src/Mod/Assembly/Gui/ViewProvider.h +++ b/src/Mod/Assembly/Gui/ViewProvider.h @@ -21,23 +21,23 @@ ***************************************************************************/ -#ifndef PARTGUI_ViewProvider_H -#define PARTGUI_ViewProvider_H +#ifndef ASSEMBLYGUI_ViewProvider_H +#define ASSEMBLYGUI_ViewProvider_H #include namespace AssemblyGui { -class AssemblyGuiExport ViewProvider : public PartGui::ViewProviderPart +class AssemblyGuiExport ViewProviderItem : public PartGui::ViewProviderPart { - PROPERTY_HEADER(PartGui::ViewProvider); + PROPERTY_HEADER(AssemblyGui::ViewProviderItem); public: /// constructor - ViewProvider(); + ViewProviderItem(); /// destructor - virtual ~ViewProvider(); + virtual ~ViewProviderItem(); virtual bool doubleClicked(void); @@ -48,4 +48,4 @@ public: } // namespace AssemblyGui -#endif // PARTGUI_ViewProviderHole_H +#endif // ASSEMBLYGUI_ViewProvider_H diff --git a/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp b/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp index 95e4992f8..73eeefac9 100644 --- a/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp +++ b/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp @@ -26,23 +26,23 @@ #ifndef _PreComp_ #endif -#include "ViewProvider.h" -#include +#include "ViewProviderAssembly.h" +//#include //#include using namespace AssemblyGui; -PROPERTY_SOURCE(AssemblyGui::ViewProviderItem,PartGui::ViewProviderPart) +PROPERTY_SOURCE(AssemblyGui::ViewProviderItemAssembly,AssemblyGui::ViewProviderItem) -ViewProviderItem::ViewProvider() +ViewProviderItemAssembly::ViewProviderItemAssembly() { } -ViewProviderItem::~ViewProvider() +ViewProviderItemAssembly::~ViewProviderItemAssembly() { } -bool ViewProviderItem::doubleClicked(void) +bool ViewProviderItemAssembly::doubleClicked(void) { return true; } diff --git a/src/Mod/Assembly/Gui/ViewProviderAssembly.h b/src/Mod/Assembly/Gui/ViewProviderAssembly.h index 0ebf8ad11..3fff1a9ba 100644 --- a/src/Mod/Assembly/Gui/ViewProviderAssembly.h +++ b/src/Mod/Assembly/Gui/ViewProviderAssembly.h @@ -21,23 +21,23 @@ ***************************************************************************/ -#ifndef PARTGUI_ViewProvider_H -#define PARTGUI_ViewProvider_H +#ifndef ASSEMBLYGUI_ViewProviderAssembly_H +#define ASSEMBLYGUI_ViewProviderAssembly_H -#include +#include "ViewProvider.h" namespace AssemblyGui { -class AssemblyGuiExport ViewProviderItem : public PartGui::ViewProviderPart +class AssemblyGuiExport ViewProviderItemAssembly : public AssemblyGui::ViewProviderItem { - PROPERTY_HEADER(PartGui::ViewProviderItem); + PROPERTY_HEADER(PartGui::ViewProviderItemAssembly); public: /// constructor - ViewProviderItem(); + ViewProviderItemAssembly(); /// destructor - virtual ~ViewProviderItem(); + virtual ~ViewProviderItemAssembly(); virtual bool doubleClicked(void); @@ -48,4 +48,4 @@ public: } // namespace AssemblyGui -#endif // PARTGUI_ViewProviderHole_H +#endif // ASSEMBLYGUI_ViewProviderAssembly_H diff --git a/src/Mod/Assembly/Gui/ViewProviderPart.cpp b/src/Mod/Assembly/Gui/ViewProviderPart.cpp index 95e4992f8..73988a966 100644 --- a/src/Mod/Assembly/Gui/ViewProviderPart.cpp +++ b/src/Mod/Assembly/Gui/ViewProviderPart.cpp @@ -26,23 +26,23 @@ #ifndef _PreComp_ #endif -#include "ViewProvider.h" -#include +#include "ViewProviderPart.h" +//#include //#include using namespace AssemblyGui; -PROPERTY_SOURCE(AssemblyGui::ViewProviderItem,PartGui::ViewProviderPart) +PROPERTY_SOURCE(AssemblyGui::ViewProviderItemPart,AssemblyGui::ViewProviderItem) -ViewProviderItem::ViewProvider() +ViewProviderItemPart::ViewProviderItemPart() { } -ViewProviderItem::~ViewProvider() +ViewProviderItemPart::~ViewProviderItemPart() { } -bool ViewProviderItem::doubleClicked(void) +bool ViewProviderItemPart::doubleClicked(void) { return true; } diff --git a/src/Mod/Assembly/Gui/ViewProviderPart.h b/src/Mod/Assembly/Gui/ViewProviderPart.h index 0ebf8ad11..8f60075b4 100644 --- a/src/Mod/Assembly/Gui/ViewProviderPart.h +++ b/src/Mod/Assembly/Gui/ViewProviderPart.h @@ -21,23 +21,23 @@ ***************************************************************************/ -#ifndef PARTGUI_ViewProvider_H -#define PARTGUI_ViewProvider_H +#ifndef ASSEMBLYGUI_ViewProviderPart_H +#define ASSEMBLYGUI_ViewProviderPart_H -#include +#include "ViewProvider.h" namespace AssemblyGui { -class AssemblyGuiExport ViewProviderItem : public PartGui::ViewProviderPart +class AssemblyGuiExport ViewProviderItemPart : public AssemblyGui::ViewProviderItem { - PROPERTY_HEADER(PartGui::ViewProviderItem); + PROPERTY_HEADER(PartGui::ViewProviderItemPart); public: /// constructor - ViewProviderItem(); + ViewProviderItemPart(); /// destructor - virtual ~ViewProviderItem(); + virtual ~ViewProviderItemPart(); virtual bool doubleClicked(void); @@ -48,4 +48,4 @@ public: } // namespace AssemblyGui -#endif // PARTGUI_ViewProviderHole_H +#endif // ASSEMBLYGUI_ViewProviderPart_H