#include <GeomAlgoAPI_Prism.h>
#include <GeomAlgoAPI_Revolution.h>
-#include <GeomAlgoAPI_ShapeProps.h>
+#include <GeomAlgoAPI_ShapeTools.h>
//=================================================================================================
void FeaturesPlugin_CompositeBoolean::initAttributes()
return;
}
- if(GeomAlgoAPI_ShapeProps::volume(aBoolAlgo.shape()) > 1.e-7) {
+ if(GeomAlgoAPI_ShapeTools::volume(aBoolAlgo.shape()) > 1.e-7) {
std::shared_ptr<ModelAPI_ResultBody> aResultBody = document()->createBody(data(), aResultIndex);
loadNamingDS(aResultBody, anObject, aSketchFacesList, theSolidsAlgos, aBooleanTools, aBoolAlgo);
setResult(aResultBody, aResultIndex);
const ListOfShape& theTools,
const GeomAlgoAPI_Boolean& theAlgo)
{
- ModelAPI_BodyBuilder* aResultBuilder = theResultBody->getBodyBuilder();
//load result
if(theBaseShape->isEqual(theAlgo.shape())) {
- aResultBuilder->store(theAlgo.shape());
+ theResultBody->store(theAlgo.shape());
} else {
const int aGenTag = 1;
const int aFrTag = 2;
const std::string aFrName = "FromFace";
const std::string aToName = "ToFace";
- aResultBuilder->storeModified(theBaseShape, theAlgo.shape(), aSubsolidsTag);
+ theResultBody->storeModified(theBaseShape, theAlgo.shape(), aSubsolidsTag);
ListOfShape::const_iterator aFaceIter = theFaces.begin();
std::list<std::shared_ptr<GeomAPI_Interface>>::const_iterator aSolidsAlgosIter = theSolidsAlgos.begin();
if(std::dynamic_pointer_cast<GeomAlgoAPI_Prism>(*aSolidsAlgosIter)) {
std::shared_ptr<GeomAlgoAPI_Prism> aPrismAlgo = std::dynamic_pointer_cast<GeomAlgoAPI_Prism>(*aSolidsAlgosIter);
aSubShapes = aPrismAlgo->mapOfShapes();
- aResultBuilder->loadAndOrientGeneratedShapes(aPrismAlgo->makeShape().get(), *aFaceIter, GeomAPI_Shape::EDGE, aGenTag,
+ theResultBody->loadAndOrientGeneratedShapes(aPrismAlgo->makeShape().get(), *aFaceIter, GeomAPI_Shape::EDGE, aGenTag,
aLatName, *aSubShapes.get());
- aFromFace = aPrismAlgo->firstShape();
- aToFace = aPrismAlgo->lastShape();
+ //TODO:fix
+ //aFromFace = aPrismAlgo->firstShape();
+ //aToFace = aPrismAlgo->lastShape();
} else if(std::dynamic_pointer_cast<GeomAlgoAPI_Revolution>(*aSolidsAlgosIter)) {
std::shared_ptr<GeomAlgoAPI_Revolution> aRevolAlgo = std::dynamic_pointer_cast<GeomAlgoAPI_Revolution>(*aSolidsAlgosIter);
aSubShapes = aRevolAlgo->mapOfShapes();
- aResultBuilder->loadAndOrientGeneratedShapes(aRevolAlgo->makeShape().get(), *aFaceIter, GeomAPI_Shape::EDGE, aGenTag,
+ theResultBody->loadAndOrientGeneratedShapes(aRevolAlgo->makeShape().get(), *aFaceIter, GeomAPI_Shape::EDGE, aGenTag,
aLatName, *aSubShapes.get());
aFromFace = aRevolAlgo->firstShape();
aToFace = aRevolAlgo->lastShape();
}
+ /*
//Insert bottom face
if(!aFromFace->isNull()) {
if(aSubShapes->isBound(aFromFace)) {
aFromFace = aSubShapes->find(aFromFace);
}
- aResultBuilder->generated(aFromFace, aFrName, aFrTag);
+ theResultBody->generated(aFromFace, aFrName, aFrTag);
}
//Insert top face
if (aSubShapes->isBound(aToFace)) {
aToFace = aSubShapes->find(aToFace);
}
- aResultBuilder->generated(aToFace, aToName, aToTag);
+ theResultBody->generated(aToFace, aToName, aToTag);
}
+ */
}
- aResultBuilder->loadAndOrientModifiedShapes(theAlgo.makeShape().get(), theBaseShape, GeomAPI_Shape::FACE,
+ theResultBody->loadAndOrientModifiedShapes(theAlgo.makeShape().get(), theBaseShape, GeomAPI_Shape::FACE,
aModTag, aModName, *theAlgo.mapOfShapes().get());
- aResultBuilder->loadDeletedShapes(theAlgo.makeShape().get(), theBaseShape, GeomAPI_Shape::FACE, aDelTag);
+ theResultBody->loadDeletedShapes(theAlgo.makeShape().get(), theBaseShape, GeomAPI_Shape::FACE, aDelTag);
for(ListOfShape::const_iterator anIter = theTools.begin(); anIter != theTools.end(); anIter++) {
- aResultBuilder->loadAndOrientModifiedShapes(theAlgo.makeShape().get(), *anIter, GeomAPI_Shape::FACE,
+ theResultBody->loadAndOrientModifiedShapes(theAlgo.makeShape().get(), *anIter, GeomAPI_Shape::FACE,
aModTag, aModName, *theAlgo.mapOfShapes().get());
- aResultBuilder->loadDeletedShapes(theAlgo.makeShape().get(), *anIter, GeomAPI_Shape::FACE, aDelTag);
+ theResultBody->loadDeletedShapes(theAlgo.makeShape().get(), *anIter, GeomAPI_Shape::FACE, aDelTag);
}
}
}