Salome HOME
Refactoring: static constants are replaced by inline functions in:
[modules/shaper.git] / src / PartSet / PartSet_TestOCC.cpp
index ef0ea9a751c6a52df8850d1fd16c5a85c08cd61a..aaa3c3c590a9b777ce65361c8e9571c080bf216e 100644 (file)
@@ -7,12 +7,11 @@
 #include <XGUI_Workshop.h>
 #include <XGUI_OperationMgr.h>
 #include <XGUI_Displayer.h>
-#include <XGUI_ViewerPrs.h>
 #include <XGUI_ViewerProxy.h>
-#include <PartSet_FeaturePrs.h>
-#include <PartSet_Presentation.h>
+#include <PartSet_Tools.h>
 #include <PartSet_OperationSketchBase.h>
 
+#include <ModuleBase_ViewerPrs.h>
 #include <ModelAPI_Feature.h>
 
 #include <SketchPlugin_Line.h>
@@ -38,8 +37,8 @@ void PartSet_TestOCC::testSelection(XGUI_Workshop* theWorkshop)
                                theWorkshop->viewer()->activeView());
     PartSet_TestOCC::changeTestLine(theWorkshop);
   }
-  Handle(AIS_InteractiveObject) anIO = theWorkshop->displayer()->getAISObject(myTestFeature);
-  if (!anIO.IsNull()) {
+  boost::shared_ptr<GeomAPI_AISObject> anIO = theWorkshop->displayer()->getAISObject(myTestFeature);
+  if (!anIO->empty()) {
     theWorkshop->viewer()->AISContext()->MoveTo(0, 0, theWorkshop->viewer()->activeView());
     theWorkshop->viewer()->AISContext()->Select(0, 0, 2500, 2500, theWorkshop->viewer()->activeView());
   }
@@ -133,7 +132,7 @@ void PartSet_TestOCC::createTestLine(XGUI_Workshop* theWorkshop)
   if (aPreviewOp) {
     // create a line
     boost::shared_ptr<ModelAPI_Document> aDoc = ModelAPI_PluginManager::get()->rootDocument();
-    FeaturePtr aFeature = aDoc->addFeature(SKETCH_LINE_KIND);
+    FeaturePtr aFeature = aDoc->addFeature(SketchPlugin_Line::ID());
     if (aFeature) // TODO: generate an error if feature was not created
       aFeature->execute();
 
@@ -141,18 +140,19 @@ void PartSet_TestOCC::createTestLine(XGUI_Workshop* theWorkshop)
                         boost::dynamic_pointer_cast<SketchPlugin_Feature>(aPreviewOp->sketch());
     aSketch->addSub(aFeature);
 
-    PartSet_FeaturePrs::setLinePoint(aFeature, 100, 100, LINE_ATTR_START);
-    PartSet_FeaturePrs::setLinePoint(aFeature, 150, 300, LINE_ATTR_END);
+    PartSet_Tools::setFeaturePoint(aFeature, 100, 100, SketchPlugin_Line::START_ID());
+    PartSet_Tools::setFeaturePoint(aFeature, 150, 300, SketchPlugin_Line::END_ID());
 
     boost::shared_ptr<GeomAPI_Shape> aPreview = PartSet_OperationSketchBase::preview(aFeature);
 
     XGUI_Displayer* aDisplayer = theWorkshop->displayer();
 
-    Handle(AIS_InteractiveObject) anAIS = PartSet_Presentation::createPresentation(
-                           aFeature, aSketch,
-                           aPreview ? aPreview->impl<TopoDS_Shape>() : TopoDS_Shape(), NULL);
-    if (!anAIS.IsNull())
-      aDisplayer->redisplay(aFeature, anAIS, -1, false);
+    boost::shared_ptr<GeomAPI_AISObject> aPrevAIS;
+    boost::shared_ptr<SketchPlugin_Feature> aSPFeature = 
+      boost::dynamic_pointer_cast<SketchPlugin_Feature>(aFeature);
+    boost::shared_ptr<GeomAPI_AISObject> anAIS = aSPFeature->getAISObject(aPrevAIS);
+    if (!anAIS->empty())
+      aDisplayer->redisplay(aFeature, anAIS, false);
 
     std::list<int> aModes;
     aModes.push_back(TopAbs_VERTEX);
@@ -163,15 +163,15 @@ void PartSet_TestOCC::createTestLine(XGUI_Workshop* theWorkshop)
     /*double aDelta = -200;
     for (int i = 0; i < 20; i++) {
       aDelta = aDelta - i*2;
-      PartSet_FeaturePrs::setLinePoint(aFeature, 100+aDelta, 200+aDelta, LINE_ATTR_START);
-      PartSet_FeaturePrs::setLinePoint(aFeature, 300+aDelta, 500+aDelta, LINE_ATTR_END);
+      PartSet_Tools::setFeaturePoint(aFeature, 100+aDelta, 200+aDelta, SketchPlugin_Line::START_ID());
+      PartSet_Tools::setFeaturePoint(aFeature, 300+aDelta, 500+aDelta, SketchPlugin_Line::END_ID());
 
       boost::shared_ptr<GeomAPI_Shape> aPreview = PartSet_OperationSketchBase::preview(aFeature);
       Handle(AIS_InteractiveObject) anAIS = PartSet_Presentation::createPresentation(
                              aFeature, aSketch,
                              aPreview ? aPreview->impl<TopoDS_Shape>() : TopoDS_Shape(), NULL);
       if (!anAIS.IsNull())
-        aDisplayer->redisplay(aFeature, anAIS, -1, true);
+        aDisplayer->redisplay(aFeature, anAIS, true);
 
       int aVal = 90;
       for (int j = 0; j < 10000000; j++)
@@ -184,9 +184,9 @@ void PartSet_TestOCC::createTestLine(XGUI_Workshop* theWorkshop)
     //aDisplayer->activateInLocalContext(aFeature, aModes, true);
     myTestFeature = aFeature;
 
-    std::list<XGUI_ViewerPrs> aPrs;
-    aPrs.push_back(XGUI_ViewerPrs(myTestFeature, TopoDS_Shape(), NULL));
-    aDisplayer->setSelected(aPrs, true);
+    QFeatureList aFeatureList;
+    aFeatureList.append(myTestFeature);
+    aDisplayer->setSelected(aFeatureList, true);
   }
 }
 
@@ -199,27 +199,25 @@ void PartSet_TestOCC::changeTestLine(XGUI_Workshop* theWorkshop)
 
   myTestDelta = myTestDelta - 50;
   double aDelta = myTestDelta;
-  PartSet_FeaturePrs::setLinePoint(aFeature, -100/*aDelta*/, -100/*aDelta*/, LINE_ATTR_START);
-  PartSet_FeaturePrs::setLinePoint(aFeature, 200/*aDelta*2*/, 200/*aDelta*2*/, LINE_ATTR_END);
+  PartSet_Tools::setFeaturePoint(aFeature, -100/*aDelta*/, -100/*aDelta*/, SketchPlugin_Line::START_ID());
+  PartSet_Tools::setFeaturePoint(aFeature, 200/*aDelta*2*/, 200/*aDelta*2*/, SketchPlugin_Line::END_ID());
   boost::shared_ptr<GeomAPI_Shape> aPreview = PartSet_OperationSketchBase::preview(aFeature);
 
-  Handle(AIS_InteractiveObject) aPrevAIS;
-  FeaturePtr aSketch;//NULL
-  Handle(AIS_InteractiveObject) anAIS = PartSet_Presentation::createPresentation(
-                          aFeature, aSketch,
-                          aPreview ? aPreview->impl<TopoDS_Shape>() : TopoDS_Shape(),
-                          aPrevAIS);
-  if (!anAIS.IsNull())
-    theWorkshop->displayer()->redisplay(aFeature, anAIS, -1, true);
+  boost::shared_ptr<GeomAPI_AISObject> aPrevAIS;
+  boost::shared_ptr<SketchPlugin_Feature> aSPFeature = 
+    boost::dynamic_pointer_cast<SketchPlugin_Feature>(aFeature);
+  boost::shared_ptr<GeomAPI_AISObject> anAIS = aSPFeature->getAISObject(aPrevAIS);
+  if (!anAIS->empty())
+    theWorkshop->displayer()->redisplay(aFeature, anAIS, true);
   //std::list<int> aModes;
   //aModes.clear();
   //aModes.push_back(TopAbs_VERTEX);
   //aModes.push_back(TopAbs_EDGE);
   //aDisplayer->activateInLocalContext(aFeature, aModes, true);
 
-  /*std::list<XGUI_ViewerPrs> aPrs;
-  aPrs.push_back(XGUI_ViewerPrs(myTestFeature, TopoDS_Shape()));
-  theWorkshop->displayer()->setSelected(aPrs, true);*/
+  /*QFeatureList aFeatureList;
+  aFeatureList.append(myTestFeature);
+  theWorkshop->displayer()->setSelected(aFeatureList, true);*/
 
   theWorkshop->displayer()->updateViewer();
 }