From: dbv Date: Mon, 23 Nov 2015 15:22:28 +0000 (+0300) Subject: Architecture changes X-Git-Tag: V_2.1.0~237 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=811b2ca2d1a046ba83da8c4848c2d3cf061b6afa;p=modules%2Fshaper.git Architecture changes --- diff --git a/src/GeomAPI/GeomAPI_DataMapOfShapeShape.h b/src/GeomAPI/GeomAPI_DataMapOfShapeShape.h index 42c8a86d1..2e11b8574 100644 --- a/src/GeomAPI/GeomAPI_DataMapOfShapeShape.h +++ b/src/GeomAPI/GeomAPI_DataMapOfShapeShape.h @@ -10,8 +10,7 @@ #include #include -class GeomAPI_Pnt; -class GeomAPI_Dir; +#include /**\class GeomAPI_DataMapOfShapeShape * \ingroup DataModel @@ -20,42 +19,43 @@ class GeomAPI_Dir; class GeomAPI_DataMapOfShapeShape : public GeomAPI_Interface { public: - /// Creation of plane by the point and normal - GEOMAPI_EXPORT + /// Constructor. + GEOMAPI_EXPORT GeomAPI_DataMapOfShapeShape(); - /// Clear - GEOMAPI_EXPORT + /// Clears map. + GEOMAPI_EXPORT void clear(); - /// Size of the map - GEOMAPI_EXPORT + /// Size of the map. + GEOMAPI_EXPORT int size(); - /// Adds \a theKey to me with \a theItem. Returns True if the Key was not already in the map - GEOMAPI_EXPORT - bool bind (std::shared_ptr theKey, std::shared_ptr theItem); + /// Adds \a theKey to me with \a theItem. Returns True if the Key was not already in the map. + GEOMAPI_EXPORT + bool bind (const std::shared_ptr theKey, const std::shared_ptr theItem); - /// Merges two maps + /// Merges two maps. GEOMAPI_EXPORT void merge(const GeomAPI_DataMapOfShapeShape& theDataMap); - /// Merges two maps + /// Merges two maps. GEOMAPI_EXPORT void merge(const std::shared_ptr theDataMap); - /// Returns true if theKey is stored in the map. - GEOMAPI_EXPORT - bool isBound (std::shared_ptr theKey); + /// \return true if theKey is stored in the map. + GEOMAPI_EXPORT + bool isBound (const std::shared_ptr theKey); - /// Returns the Item stored with the Key in the Map. - GEOMAPI_EXPORT - const std::shared_ptr find(std::shared_ptr theKey); - - /// Removes the Key from the map. Returns true if the Key was in the Map - GEOMAPI_EXPORT - bool unBind(std::shared_ptr theKey); + /// \return the Item stored with the Key in the Map. + GEOMAPI_EXPORT + const std::shared_ptr find(const std::shared_ptr theKey); + + /// \brief Removes the Key from the map. + /// \return true if the Key was in the Map. + GEOMAPI_EXPORT + bool unBind(const std::shared_ptr theKey); /// Destructor - GEOMAPI_EXPORT + GEOMAPI_EXPORT ~GeomAPI_DataMapOfShapeShape(); }; diff --git a/src/GeomAlgoAPI/CMakeLists.txt b/src/GeomAlgoAPI/CMakeLists.txt index fb238e478..24c17e62d 100644 --- a/src/GeomAlgoAPI/CMakeLists.txt +++ b/src/GeomAlgoAPI/CMakeLists.txt @@ -21,6 +21,7 @@ SET(PROJECT_HEADERS GeomAlgoAPI_MakeShape.h GeomAlgoAPI_MakeShapeCustom.h GeomAlgoAPI_MakeShapeList.h + GeomAlgoAPI_MakeSweep.h GeomAlgoAPI_DFLoader.h GeomAlgoAPI_Placement.h GeomAlgoAPI_BREPImport.h @@ -50,6 +51,7 @@ SET(PROJECT_SOURCES GeomAlgoAPI_MakeShape.cpp GeomAlgoAPI_MakeShapeCustom.cpp GeomAlgoAPI_MakeShapeList.cpp + GeomAlgoAPI_MakeSweep.cpp GeomAlgoAPI_DFLoader.cpp GeomAlgoAPI_Placement.cpp GeomAlgoAPI_BREPImport.cpp diff --git a/src/GeomAlgoAPI/GeomAlgoAPI.i b/src/GeomAlgoAPI/GeomAlgoAPI.i index 51817d6c1..856e34e79 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI.i +++ b/src/GeomAlgoAPI/GeomAlgoAPI.i @@ -10,6 +10,7 @@ #include "GeomAlgoAPI_MakeShape.h" #include "GeomAlgoAPI_MakeShapeCustom.h" #include "GeomAlgoAPI_MakeShapeList.h" + #include "GeomAlgoAPI_MakeSweep.h" #include "GeomAlgoAPI_Translation.h" #include "GeomAlgoAPI_Placement.h" #include "GeomAlgoAPI_PointBuilder.h" @@ -51,6 +52,7 @@ %include "GeomAlgoAPI_MakeShape.h" %include "GeomAlgoAPI_MakeShapeCustom.h" %include "GeomAlgoAPI_MakeShapeList.h" +%include "GeomAlgoAPI_MakeSweep.h" %include "GeomAlgoAPI_Translation.h" %include "GeomAlgoAPI_Placement.h" %include "GeomAlgoAPI_PointBuilder.h" diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp index e608956c6..900a80ddb 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp @@ -14,23 +14,31 @@ #include //================================================================================================= -GeomAlgoAPI_MakeShape::GeomAlgoAPI_MakeShape(void* theMkShape, const AlgoType theAlgoType) +GeomAlgoAPI_MakeShape::GeomAlgoAPI_MakeShape(void* theMkShape, const BuilderType theBuilderType) : GeomAPI_Interface(theMkShape), - myAlgoType(theAlgoType), + myBuilderType(theBuilderType), myShape(new GeomAPI_Shape()) { - switch (myAlgoType) { - case MakeShape: { + switch (myBuilderType) { + case OCCT_BRepBuilderAPI_MakeShape: { + myDone = implPtr()->IsDone() == Standard_True; myShape->setImpl(new TopoDS_Shape(implPtr()->Shape())); break; } - case BOPAlgoBuilder: { + case OCCT_BOPAlgo_Builder: { + myDone = true; myShape->setImpl(new TopoDS_Shape(implPtr()->Shape())); break; } } } +//================================================================================================= +bool GeomAlgoAPI_MakeShape::isDone() const +{ + return myDone; +} + //================================================================================================= const std::shared_ptr GeomAlgoAPI_MakeShape::shape() const { @@ -42,10 +50,10 @@ void GeomAlgoAPI_MakeShape::generated(const std::shared_ptr theSh ListOfShape& theHistory) { TopTools_ListOfShape aList; - if(myAlgoType == MakeShape) { + if(myBuilderType == OCCT_BRepBuilderAPI_MakeShape) { BRepBuilderAPI_MakeShape* aMakeShape = implPtr(); aList = aMakeShape->Generated(theShape->impl()); - } else if(myAlgoType == BOPAlgoBuilder) { + } else if(myBuilderType == OCCT_BOPAlgo_Builder) { BOPAlgo_Builder* aBOPBuilder = implPtr(); aList = aBOPBuilder->Generated(theShape->impl()); } @@ -64,10 +72,10 @@ void GeomAlgoAPI_MakeShape::modified(const std::shared_ptr theSha ListOfShape& theHistory) { TopTools_ListOfShape aList; - if(myAlgoType == MakeShape) { + if(myBuilderType == OCCT_BRepBuilderAPI_MakeShape) { BRepBuilderAPI_MakeShape* aMakeShape = implPtr(); aList = aMakeShape->Modified(theShape->impl()); - } else if(myAlgoType == BOPAlgoBuilder) { + } else if(myBuilderType == OCCT_BOPAlgo_Builder) { BOPAlgo_Builder* aBOPBuilder = implPtr(); aList = aBOPBuilder->Modified(theShape->impl()); } @@ -85,13 +93,40 @@ void GeomAlgoAPI_MakeShape::modified(const std::shared_ptr theSha bool GeomAlgoAPI_MakeShape::isDeleted(const std::shared_ptr theShape) { bool isDeleted = false; - if(myAlgoType == MakeShape) { + if(myBuilderType == OCCT_BRepBuilderAPI_MakeShape) { BRepBuilderAPI_MakeShape* aMakeShape = implPtr(); isDeleted = aMakeShape->IsDeleted(theShape->impl()) == Standard_True; - } else if(myAlgoType == BOPAlgoBuilder) { + } else if(myBuilderType == OCCT_BOPAlgo_Builder) { BOPAlgo_Builder* aBOPBuilder = implPtr(); isDeleted = aBOPBuilder->IsDeleted(theShape->impl()) == Standard_True; } return isDeleted; } + + +//================================================================================================= +GeomAlgoAPI_MakeShape::GeomAlgoAPI_MakeShape() +: myBuilderType(OCCT_BRepBuilderAPI_MakeShape), + myDone(false), + myShape(new GeomAPI_Shape()) +{ +} + +//================================================================================================= +void GeomAlgoAPI_MakeShape::setBuilderType(const BuilderType theBuilderType) +{ + myBuilderType = theBuilderType; +} + +//================================================================================================= +void GeomAlgoAPI_MakeShape::setDone(const bool theFlag) +{ + myDone = theFlag; +} + +//================================================================================================= +void GeomAlgoAPI_MakeShape::setShape(const std::shared_ptr theShape) +{ + myShape = theShape; +} diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h index ea89fe89e..8d6c83aab 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h @@ -6,51 +6,81 @@ #ifndef GeomAlgoAPI_MakeShape_H_ #define GeomAlgoAPI_MakeShape_H_ -#include #include +#include #include #include -/**\class GeomAlgoAPI_MakeShape - * \ingroup DataAlgo - * \brief Interface to the root class of all topological shapes constructions +/** \class GeomAlgoAPI_MakeShape + * \ingroup DataAlgo + * \brief Interface to the root class of all topological shapes constructions */ class GeomAlgoAPI_MakeShape : public GeomAPI_Interface { public: - /// Algo type enum - enum AlgoType { - MakeShape, - BOPAlgoBuilder + /// Builder type enum + enum BuilderType { + OCCT_BRepBuilderAPI_MakeShape, + OCCT_BOPAlgo_Builder }; public: - /// Constructor by the already stored builder in the interface - GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder, const AlgoType theAlgoType = MakeShape); + /** \brief Constructor by builder and builder type. + * \param[in] theBuilder pointer to the builder. + * \param[in] theBuilderType builder type. + */ + GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder, const BuilderType theBuilderType = OCCT_BRepBuilderAPI_MakeShape); - /// Returns a shape built by the shape construction algorithm + /// \return status of builder. + GEOMALGOAPI_EXPORT bool isDone() const; + + /// \return a shape built by the shape construction algorithm. GEOMALGOAPI_EXPORT virtual const std::shared_ptr shape() const; - /// Returns the list of shapes generated from the shape \a theShape - GEOMALGOAPI_EXPORT virtual void generated( - const std::shared_ptr theShape, ListOfShape& theHistory); + /** \return the list of shapes generated from the shape \a theShape. + * \param[in] theShape base shape. + * \param[out] theHistory generated shapes. + */ + GEOMALGOAPI_EXPORT virtual void generated(const std::shared_ptr theShape, + ListOfShape& theHistory); - /// Returns the list of shapes modified from the shape \a theShape - GEOMALGOAPI_EXPORT virtual void modified( - const std::shared_ptr theShape, ListOfShape& theHistory); + /** \return the list of shapes modified from the shape \a theShape. + * \param[in] theShape base shape. + * \param[out] theHistory modified shapes. + */ + GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr theShape, + ListOfShape& theHistory); - /// Returns whether the shape is deleted + /** \return true if theShape was deleted. + * \param[in] theShape base shape. + */ GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr theShape); protected: - GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(){}; + /// \brief Default constructor. + GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(); -protected: - GeomAlgoAPI_MakeShape::AlgoType myAlgoType; ///< Type of make shape algo. + /** \brief Sets builder type. + * \param[in] theBuilderType new builder type. + */ + GEOMALGOAPI_EXPORT void setBuilderType(const BuilderType theBuilderType); + + /** \brief Sets status of builder. + * \param[in] theFlag new status. + */ + GEOMALGOAPI_EXPORT void setDone(const bool theFlag); + + /** \brief Sets result shape. + * \param[in] theShape new shape. + */ + GEOMALGOAPI_EXPORT void setShape(const std::shared_ptr theShape); + +private: + GeomAlgoAPI_MakeShape::BuilderType myBuilderType; ///< Type of make shape builder. + bool myDone; ///< Builder status. std::shared_ptr myShape; ///< Resulting shape. - std::shared_ptr myWire; ///< Wire for pipe algo. - std::shared_ptr myBaseShape; ///< Base shape of algo. + std::shared_ptr myMap; ///< Data map to keep correct orientation of sub-shapes. }; typedef std::list > ListOfMakeShape; diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.cpp index 88576740e..7e3985d25 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.cpp +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.cpp @@ -8,13 +8,12 @@ //================================================================================================= GeomAlgoAPI_MakeShapeCustom::GeomAlgoAPI_MakeShapeCustom() -: GeomAlgoAPI_MakeShape() {} //================================================================================================= void GeomAlgoAPI_MakeShapeCustom::setResult(const std::shared_ptr theShape) { - myShape = theShape; + setShape(theShape); } //================================================================================================= @@ -37,12 +36,6 @@ bool GeomAlgoAPI_MakeShapeCustom::addDeleted(const std::shared_ptr GeomAlgoAPI_MakeShapeCustom::shape() const -{ - return myShape; -} - //================================================================================================= void GeomAlgoAPI_MakeShapeCustom::generated(const std::shared_ptr theShape, ListOfShape& theHistory) diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.h index 062e3aaaf..616b108e8 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.h @@ -36,22 +36,18 @@ public: /// Adds deleted shape. GEOMALGOAPI_EXPORT bool addDeleted(const std::shared_ptr theShape); - /// \return a shape built by the shape construction algorithms - GEOMALGOAPI_EXPORT virtual const std::shared_ptr shape() const; - /// \return the list of shapes generated from the shape theShape - GEOMALGOAPI_EXPORT virtual void generated(const std::shared_ptr theShape, + GEOMALGOAPI_EXPORT void generated(const std::shared_ptr theShape, ListOfShape& theHistory); /// \return the list of shapes modified from the shape theShape - GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr theShape, + GEOMALGOAPI_EXPORT void modified(const std::shared_ptr theShape, ListOfShape& theHistory); /// \return whether the shape is deleted - GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr theShape); + GEOMALGOAPI_EXPORT bool isDeleted(const std::shared_ptr theShape); private: - std::shared_ptr myShape; GeomAPI_DataMapOfShapeMapOfShapes myGenerated; GeomAPI_DataMapOfShapeMapOfShapes myModified; GeomAPI_DataMapOfShapeShape myDeleted; diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.cpp index ac243f7bf..cdcc4596d 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.cpp +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.cpp @@ -58,14 +58,14 @@ const std::shared_ptr GeomAlgoAPI_MakeShapeList::shape() const void GeomAlgoAPI_MakeShapeList::generated(const std::shared_ptr theShape, ListOfShape& theHistory) { - result(theShape, theHistory, GeomAlgoAPI_MakeShapeList::Generated); + result(theShape, GeomAlgoAPI_MakeShapeList::Generated, theHistory); } //================================================================================================= void GeomAlgoAPI_MakeShapeList::modified(const std::shared_ptr theShape, ListOfShape& theHistory) { - result(theShape, theHistory, GeomAlgoAPI_MakeShapeList::Modified); + result(theShape, GeomAlgoAPI_MakeShapeList::Modified, theHistory); } bool GeomAlgoAPI_MakeShapeList::isDeleted(const std::shared_ptr theShape) @@ -81,8 +81,8 @@ bool GeomAlgoAPI_MakeShapeList::isDeleted(const std::shared_ptr t } void GeomAlgoAPI_MakeShapeList::result(const std::shared_ptr theShape, - ListOfShape& theHistory, - OperationType theOperationType) + OperationType theOperationType, + ListOfShape& theHistory) { if(myListOfMakeShape.empty()) { return; @@ -101,10 +101,8 @@ void GeomAlgoAPI_MakeShapeList::result(const std::shared_ptr theS std::shared_ptr aShape(new GeomAPI_Shape); aShape->setImpl(new TopoDS_Shape(aShapeIt.Value())); ListOfShape aGeneratedShapes; - const TopoDS_Shape& aSh = aShape->impl(); aMakeShape->generated(aShape, aGeneratedShapes); for(ListOfShape::const_iterator anIt = aGeneratedShapes.cbegin(); anIt != aGeneratedShapes.cend(); anIt++) { - TopoDS_Shape aSh = (*anIt)->impl(); aTempShapes.Add((*anIt)->impl()); aResultShapes.Add((*anIt)->impl()); hasResults = true; @@ -112,7 +110,6 @@ void GeomAlgoAPI_MakeShapeList::result(const std::shared_ptr theS ListOfShape aModifiedShapes; aMakeShape->modified(aShape, aModifiedShapes); for(ListOfShape::const_iterator anIt = aModifiedShapes.cbegin(); anIt != aModifiedShapes.cend(); anIt++) { - TopoDS_Shape aSH = (*anIt)->impl(); aTempShapes.Add((*anIt)->impl()); aResultShapes.Add((*anIt)->impl()); hasResults = true; diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.h index 0ba480907..64dfa760b 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.h @@ -63,9 +63,8 @@ public: private: void result(const std::shared_ptr theShape, - ListOfShape& theHistory, - OperationType theOperationType); - + OperationType theOperationType, + ListOfShape& theHistory); protected: ListOfMakeShape myListOfMakeShape; ///< List of make shape algos. diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.cpp new file mode 100644 index 000000000..0cb97621f --- /dev/null +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.cpp @@ -0,0 +1,19 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + +// File: GeomAlgoAPI_MakeSweep.cpp +// Created: 23 November 2015 +// Author: Dmitry Bobylev + +#include + +//================================================================================================= +const ListOfShape& GeomAlgoAPI_MakeSweep::fromFaces() const +{ + return myFromFaces; +} + +//================================================================================================= +const ListOfShape& GeomAlgoAPI_MakeSweep::toFaces() const +{ + return myToFaces; +} diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.h new file mode 100644 index 000000000..a25bbe681 --- /dev/null +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.h @@ -0,0 +1,43 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + +// File: GeomAlgoAPI_MakeSweep.h +// Created: 23 November 2015 +// Author: Dmitry Bobylev +#ifndef GeomAlgoAPI_MakeSweep_H_ +#define GeomAlgoAPI_MakeSweep_H_ + +#include + +#include + +/**\class GeomAlgoAPI_MakeSweep + * \ingroup DataAlgo + * \brief The abstract class MakeSweep is the root class of swept primitives. + * Sweeps are objects you obtain by sweeping a profile along a path. + * The profile can be any topology and the path is usually a curve or + * a wire. The profile generates objects according to the following rules: + * - Vertices generate Edges. + * - Edges generate Faces. + * - Wires generate Shells. + * - Faces generate Solids. + * - Shells generate Composite Solids. + * You are not allowed to sweep Solids and Composite Solids. + */ +class GeomAlgoAPI_MakeSweep : public GeomAlgoAPI_MakeShapeList +{ +public: + /// \returns the list of from faces. + GEOMALGOAPI_EXPORT const ListOfShape& fromFaces() const; + + /// \return the list of to faces. + GEOMALGOAPI_EXPORT const ListOfShape& toFaces() const; + +protected: + GeomAlgoAPI_MakeSweep(){}; + +protected: + ListOfShape myFromFaces; + ListOfShape myToFaces; +}; + +#endif diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_Partition.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_Partition.cpp index d450efe86..425c71e13 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_Partition.cpp +++ b/src/GeomAlgoAPI/GeomAlgoAPI_Partition.cpp @@ -59,7 +59,7 @@ void GeomAlgoAPI_Partition::build(const ListOfShape& theObjects, // Creating partition operation. GEOMAlgo_Splitter* anOperation = new GEOMAlgo_Splitter; - myMkShape.reset(new GeomAlgoAPI_MakeShape(anOperation, GeomAlgoAPI_MakeShape::BOPAlgoBuilder)); + myMkShape.reset(new GeomAlgoAPI_MakeShape(anOperation, GeomAlgoAPI_MakeShape::OCCT_BOPAlgo_Builder)); // Getting objects. for (ListOfShape::const_iterator anObjectsIt = theObjects.begin(); anObjectsIt != theObjects.end(); anObjectsIt++) { diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_PaveFiller.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_PaveFiller.cpp index 6d3d04dd9..beeccc72a 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_PaveFiller.cpp +++ b/src/GeomAlgoAPI/GeomAlgoAPI_PaveFiller.cpp @@ -39,7 +39,7 @@ void GeomAlgoAPI_PaveFiller::build(const ListOfShape& theListOfShape, const bool } BOPAlgo_Builder* aBuilder = new BOPAlgo_Builder(); - myMkShape.reset(new GeomAlgoAPI_MakeShape(aBuilder, GeomAlgoAPI_MakeShape::BOPAlgoBuilder)); + myMkShape.reset(new GeomAlgoAPI_MakeShape(aBuilder, GeomAlgoAPI_MakeShape::OCCT_BOPAlgo_Builder)); aBuilder->SetArguments(aListOfShape); aBuilder->PerformWithFiller(aPaveFiller); iErr = aBuilder->ErrorStatus();