public:
/// Builder type enum
enum BuilderType {
+ Unknown,
OCCT_BRepBuilderAPI_MakeShape,
- OCCT_BOPAlgo_Builder,
- UNKNOWN
+ OCCT_BOPAlgo_Builder
};
public:
template<class T> void initialize(T* theBuilder, const BuilderType theBuilderType = OCCT_BRepBuilderAPI_MakeShape)
{
setImpl(theBuilder);
- myBuilderType = theBuilder;
+ myBuilderType = theBuilderType;
initialize();
}
/// \param[in] theShape new shape.
void setShape(const std::shared_ptr<GeomAPI_Shape> theShape);
+protected:
+ std::shared_ptr<GeomAPI_DataMapOfShapeShape> myMap; ///< Data map to keep correct orientation of sub-shapes.
+
private:
/// \brief Initializes internals.
void initialize();
GeomAlgoAPI_MakeShape::BuilderType myBuilderType; ///< Type of make shape builder.
bool myDone; ///< Builder status.
std::shared_ptr<GeomAPI_Shape> myShape; ///< Resulting shape.
- std::shared_ptr<GeomAPI_DataMapOfShapeShape> myMap; ///< Data map to keep correct orientation of sub-shapes.
};
typedef std::list<std::shared_ptr<GeomAlgoAPI_MakeShape> > ListOfMakeShape;