X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Boolean.cpp;h=2932d5e5cce410fa963f068e5579554a3dcfc13c;hb=c65c7a084cf32f54c8d8a93fceace414c3b0fb21;hp=d8b8198ed1219c4ec710785d678a2f5722c0c242;hpb=4783f146b71a48c651523fcf0e12367bcf3d1fa8;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Boolean.cpp b/src/FeaturesPlugin/FeaturesPlugin_Boolean.cpp index d8b8198ed..2932d5e5c 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Boolean.cpp +++ b/src/FeaturesPlugin/FeaturesPlugin_Boolean.cpp @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + // File: FeaturesPlugin_Boolean.cpp // Created: 02 Sept 2014 // Author: Vitaly SMETANNIKOV @@ -10,12 +12,7 @@ #include #include #include -#include using namespace std; -#ifdef _DEBUG -#include -#include -#endif #define FACE 4 #define _MODIFY_TAG 1 @@ -26,9 +23,9 @@ FeaturesPlugin_Boolean::FeaturesPlugin_Boolean() void FeaturesPlugin_Boolean::initAttributes() { - data()->addAttribute(FeaturesPlugin_Boolean::TYPE_ID(), ModelAPI_AttributeInteger::type()); - data()->addAttribute(FeaturesPlugin_Boolean::OBJECT_ID(), ModelAPI_AttributeReference::type()); - data()->addAttribute(FeaturesPlugin_Boolean::TOOL_ID(), ModelAPI_AttributeReference::type()); + data()->addAttribute(FeaturesPlugin_Boolean::TYPE_ID(), ModelAPI_AttributeInteger::typeId()); + data()->addAttribute(FeaturesPlugin_Boolean::OBJECT_ID(), ModelAPI_AttributeReference::typeId()); + data()->addAttribute(FeaturesPlugin_Boolean::TOOL_ID(), ModelAPI_AttributeReference::typeId()); } std::shared_ptr FeaturesPlugin_Boolean::getShape(const std::string& theAttrName) @@ -65,29 +62,26 @@ void FeaturesPlugin_Boolean::execute() GeomAlgoAPI_Boolean* aFeature = new GeomAlgoAPI_Boolean(anObject, aTool, aType); if(aFeature && !aFeature->isDone()) { - std::string aFeatureError = "Boolean feature: algorithm failed"; - Events_Error::send(aFeatureError, this); + static const std::string aFeatureError = "Boolean feature: algorithm failed"; + setError(aFeatureError); return; } // Check if shape is valid if (aFeature->shape()->isNull()) { - std::string aShapeError = "Boolean feature: resulting shape is Null"; - Events_Error::send(aShapeError, this); -#ifdef _DEBUG - std::cerr << aShapeError << std::endl; -#endif + static const std::string aShapeError = "Boolean feature: resulting shape is Null"; + setError(aShapeError); return; } if(!aFeature->isValid()) { - std::string aFeatureError = "Boolean feature: resulting shape is not valid"; - Events_Error::send(aFeatureError, this); + static const std::string aFeatureError = "Boolean feature: resulting shape is not valid"; + setError(aFeatureError); return; } // if result of Boolean operation is same as was before it means that Boolean operation has no sence // and naming provides no result, so, generate an error in this case if (anObject->isEqual(aFeature->shape())) { - std::string aFeatureError = "Boolean feature: operation was not performed"; - Events_Error::send(aFeatureError, this); + static const std::string aFeatureError = "Boolean feature: operation was not performed"; + setError(aFeatureError); return; } //LoadNamingDS @@ -111,8 +105,9 @@ void FeaturesPlugin_Boolean::LoadNamingDS(GeomAlgoAPI_Boolean* theFeature, theFeature->mapOfShapes(*aSubShapes); // Put in DF modified faces - theResultBody->loadAndOrientModifiedShapes(theFeature->makeShape(), theObject, FACE, _MODIFY_TAG, *aSubShapes); - theResultBody->loadAndOrientModifiedShapes(theFeature->makeShape(), theTool, FACE, _MODIFY_TAG, *aSubShapes); + std::string aModName = "Modified"; + theResultBody->loadAndOrientModifiedShapes(theFeature->makeShape(), theObject, FACE, _MODIFY_TAG, aModName, *aSubShapes); + theResultBody->loadAndOrientModifiedShapes(theFeature->makeShape(), theTool, FACE, _MODIFY_TAG, aModName, *aSubShapes); //Put in DF deleted faces theResultBody->loadDeletedShapes(theFeature->makeShape(), theObject, FACE, _DELETED_TAG);