]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
#1371 Using auxilliary Sketch elements in any Feature: isSketchMode is removed from...
authornds <nds@opencascade.com>
Mon, 28 Mar 2016 12:52:47 +0000 (15:52 +0300)
committerdbv <dbv@opencascade.com>
Wed, 6 Apr 2016 10:25:15 +0000 (13:25 +0300)
src/ModuleBase/ModuleBase_IModule.cpp
src/ModuleBase/ModuleBase_IModule.h
src/ModuleBase/ModuleBase_ResultPrs.h
src/PartSet/PartSet_Module.cpp
src/PartSet/PartSet_Module.h
src/XGUI/XGUI_Displayer.cpp

index bf95e40c5fbcea20bbb919decb269b9d6e6eb447..adf2562bde77e49e3908d431eb746ed5fd613a33 100644 (file)
@@ -71,6 +71,11 @@ Handle(AIS_InteractiveObject) ModuleBase_IModule::createPresentation(const Resul
   return Handle(AIS_InteractiveObject)();
 }
 
+bool ModuleBase_IModule::canBeShaded(Handle(AIS_InteractiveObject) theAIS) const
+{
+  return true;
+}
+
 QString ModuleBase_IModule::getFeatureError(const FeaturePtr& theFeature)
 {
   return ModelAPI_Tools::getFeatureError(theFeature).c_str();
index 8a25b2afbe6116f0d9ff831c25adbbad1fd22e00..5e33eecb584a73a08fa3c73e3f99b263e1208a98 100755 (executable)
@@ -236,6 +236,11 @@ class MODULEBASE_EXPORT ModuleBase_IModule : public QObject
   //! Returns data object by AIS\r
   virtual ObjectPtr findPresentedObject(const AISObjectPtr& theAIS) const = 0;\r
 \r
+  //! Returns true if the presentation can be shown in shading mode\r
+  //! \param theAIS presentation to be checked\r
+  //! \return boolean value\r
+  virtual bool canBeShaded(Handle(AIS_InteractiveObject) theAIS) const;\r
+\r
   /// Update state of pop-up menu items in object browser\r
   /// \param theStdActions - a map of standard actions\r
   virtual void updateObjectBrowserMenu(const QMap<QString, QAction*>& theStdActions) {}\r
index 729d131aa7675ddfd5545040ec660a7cace23b5f..165406ec294928b040d3911c521c86409797efc8 100644 (file)
@@ -72,9 +72,6 @@ public:
   /// Returns result object
   Standard_EXPORT ResultPtr getResult() const { return myResult; }
 
-  /// Returns True if the presentation is in sketch mode
-  Standard_EXPORT bool isSketchMode() const { return false; }
-
   DEFINE_STANDARD_RTTI(ModuleBase_ResultPrs)
 protected:
   /// Redefinition of virtual function
index 6cb3178322a0b6addc71f1d05d60846cbc4d96c0..07934033764ab84aac238efee6b556d6b1132aac 100755 (executable)
@@ -16,6 +16,7 @@
 #include "PartSet_WidgetSketchCreator.h"
 #include "PartSet_SketcherMgr.h"
 #include "PartSet_SketcherReetntrantMgr.h"
+#include "PartSet_ResultSketchPrs.h"
 #include "PartSet_MenuMgr.h"
 #include "PartSet_CustomPrs.h"
 #include "PartSet_IconFactory.h"
@@ -1043,6 +1044,17 @@ ObjectPtr PartSet_Module::findPresentedObject(const AISObjectPtr& theAIS) const
   return anObject;
 }
 
+bool PartSet_Module::canBeShaded(Handle(AIS_InteractiveObject) theAIS) const
+{
+  bool aCanBeShaged = true;
+
+  Handle(PartSet_ResultSketchPrs) aPrs = Handle(PartSet_ResultSketchPrs)::DownCast(theAIS);
+  if (!aPrs.IsNull()) 
+    aCanBeShaged = false;
+
+  return aCanBeShaged;
+}
+
 void PartSet_Module::addObjectBrowserMenu(QMenu* theMenu) const
 {
   QObjectPtrList aObjects = myWorkshop->selection()->selectedObjects();
index 46392a361ec5b8d900a8d1bdf9e3c76656d52162..93084a2ae04a3be4c86eab5ff996994a0376f7b7 100755 (executable)
@@ -257,6 +257,11 @@ public:
   //! Returns data object by AIS
   virtual ObjectPtr findPresentedObject(const AISObjectPtr& theAIS) const;
 
+  //! Returns true if the presentation can be shown in shading mode
+  //! \param theAIS presentation to be checked
+  //! \return boolean value
+  virtual bool canBeShaded(Handle(AIS_InteractiveObject) theAIS) const;
+
   /// Update state of pop-up menu items in viewer
   /// \param theStdActions - a map of standard actions
   virtual void updateViewerMenu(const QMap<QString, QAction*>& theStdActions); 
index 27798a128e22ab4d261c13b53dff70cbbe3c1a20..c4cdd88f59dfd747281cafb7039f21cd5cd00e93 100644 (file)
@@ -179,7 +179,7 @@ bool XGUI_Displayer::display(ObjectPtr theObject, bool theUpdateViewer)
   return aDisplayed;
 }
 
-bool canBeShaded(Handle(AIS_InteractiveObject) theAIS)
+bool canBeShaded(Handle(AIS_InteractiveObject) theAIS, ModuleBase_IModule* theModule)
 {
   Handle(AIS_Shape) aShapePrs = Handle(AIS_Shape)::DownCast(theAIS);
   if (!aShapePrs.IsNull()) {
@@ -191,10 +191,7 @@ bool canBeShaded(Handle(AIS_InteractiveObject) theAIS)
       return false;
     else {
       // Check that the presentation is not a sketch
-      Handle(ModuleBase_ResultPrs) aPrs = Handle(ModuleBase_ResultPrs)::DownCast(theAIS);
-      if (!aPrs.IsNull()) 
-        return !aPrs->isSketchMode();
-      return true;
+      return theModule->canBeShaded(theAIS);
     }
   }
   return false;
@@ -1069,7 +1066,7 @@ bool XGUI_Displayer::canBeShaded(ObjectPtr theObject) const
     return false;
 
   Handle(AIS_InteractiveObject) anAIS = aAISObj->impl<Handle(AIS_InteractiveObject)>();
-  return ::canBeShaded(anAIS);
+  return ::canBeShaded(anAIS, myWorkshop->module());
 }
 
 bool XGUI_Displayer::activate(const Handle(AIS_InteractiveObject)& theIO,