Salome HOME
Remove unnecessary method
[modules/shaper.git] / src / Model / Model_ResultBody.cpp
index 967265f837880942854bc7446676a9b3eac60073..d7e3f46c9fe0bf6336671aa5a4f3e1e83c62fbc4 100644 (file)
@@ -1,54 +1,43 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        Model_ResultBody.cpp
 // Created:     08 Jul 2014
 // Author:      Mikhail PONIKAROV
 
 #include <Model_ResultBody.h>
-#include <Model_Data.h>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopoDS_Shape.hxx>
-#include <GeomAPI_Shape.h>
+#include <Model_BodyBuilder.h>
+#include <ModelAPI_AttributeIntArray.h>
+#include <Config_PropManager.h>
+// DEB
+//#include <TCollection_AsciiString.hxx>
+//#include <TDF_Tool.hxx>
+//#define DEB_IMPORT 1
 
 Model_ResultBody::Model_ResultBody()
 {
+  myBuilder = new Model_BodyBuilder(this);
 }
 
-void Model_ResultBody::store(const boost::shared_ptr<GeomAPI_Shape>& theShape)
+void Model_ResultBody::initAttributes()
 {
-  boost::shared_ptr<Model_Data> aData = boost::dynamic_pointer_cast<Model_Data>(data());
-  if (aData) {
-    TDF_Label& aShapeLab = aData->shapeLab();
-    // TODO: to add the naming mechanism for shape storage in the next iteration
-    TNaming_Builder aBuilder(aShapeLab);
-    if (!theShape)
-      return;  // bad shape
-    TopoDS_Shape aShape = theShape->impl<TopoDS_Shape>();
-    if (aShape.IsNull())
-      return;  // null shape inside
-
-    aBuilder.Generated(aShape);
-  }
+  // append the color attribute. It is empty, the attribute will be filled by a request
+  DataPtr aData = data();
+  aData->addAttribute(COLOR_ID(), ModelAPI_AttributeIntArray::typeId());
 }
 
-boost::shared_ptr<GeomAPI_Shape> Model_ResultBody::shape()
+void Model_ResultBody::colorConfigInfo(std::string& theSection, std::string& theName,
+  std::string& theDefault)
 {
-  boost::shared_ptr<Model_Data> aData = boost::dynamic_pointer_cast<Model_Data>(data());
-  if (aData) {
-    TDF_Label& aShapeLab = aData->shapeLab();
-    Handle(TNaming_NamedShape) aName;
-    if (aShapeLab.FindAttribute(TNaming_NamedShape::GetID(), aName)) {
-      TopoDS_Shape aShape = aName->Get();
-      if (!aShape.IsNull()) {
-        boost::shared_ptr<GeomAPI_Shape> aRes(new GeomAPI_Shape);
-        aRes->setImpl(new TopoDS_Shape(aShape));
-        return aRes;
-      }
-    }
-  }
-  return boost::shared_ptr<GeomAPI_Shape>();
+  theSection = "Visualization";
+  theName = "result_body_color";
+  theDefault = DEFAULT_COLOR();
 }
 
-boost::shared_ptr<ModelAPI_Feature> Model_ResultBody::owner()
+bool Model_ResultBody::setDisabled(std::shared_ptr<ModelAPI_Result> theThis, const bool theFlag)
 {
-  return myOwner;
+  bool aChanged = ModelAPI_ResultBody::setDisabled(theThis, theFlag);
+  if (aChanged) { // state is changed, so modifications are needed
+    myBuilder->evolutionToSelection(theFlag);
+  }
+  return aChanged;
 }