-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
-
-// File: FeaturesAPI_ExtrusionBoolean.cpp
-// Created: 09 June 2016
-// Author: Dmitry Bobylev
+// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
#include "FeaturesAPI_ExtrusionBoolean.h"
//==================================================================================================
void FeaturesAPI_ExtrusionBoolean::setSize(const ModelHighAPI_Double& theSize)
{
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theSize, mytoSize);
- fillAttribute(ModelHighAPI_Double(), myfromSize);
-
- execIfBaseNotEmpty();
+ setSizes(theSize, ModelHighAPI_Double());
}
//==================================================================================================
AttributeReferencePtr anAttrSketch = aBase->reference(FeaturesPlugin_Extrusion::SKETCH_ID());
AttributeSelectionListPtr anAttrObjects =
aBase->selectionList(FeaturesPlugin_Extrusion::BASE_OBJECTS_ID());
- AttributeSelectionPtr anAttrDirection =
+ AttributeSelectionPtr anAttrDirection =
aBase->selection(FeaturesPlugin_Extrusion::DIRECTION_OBJECT_ID());
theDumper << aBase << " = model.addExtrusion";
theDumper << ", " << anAttrToSize << ", " << anAttrFromSize;
} else if(aCreationMethod == FeaturesPlugin_Extrusion::CREATION_METHOD_BY_PLANES()) {
- AttributeSelectionPtr anAttrToObject =
+ AttributeSelectionPtr anAttrToObject =
aBase->selection(FeaturesPlugin_Extrusion::TO_OBJECT_ID());
AttributeDoublePtr anAttrToOffset = aBase->real(FeaturesPlugin_Extrusion::TO_OFFSET_ID());
- AttributeSelectionPtr anAttrFromObject =
+ AttributeSelectionPtr anAttrFromObject =
aBase->selection(FeaturesPlugin_Extrusion::FROM_OBJECT_ID());
AttributeDoublePtr anAttrFromOffset = aBase->real(FeaturesPlugin_Extrusion::FROM_OFFSET_ID());
", " << anAttrFromObject << ", " << anAttrFromOffset;
}
- AttributeSelectionListPtr anAttrBoolObjects =
+ AttributeSelectionListPtr anAttrBoolObjects =
aBase->selectionList(FeaturesPlugin_CompositeBoolean::OBJECTS_ID());
theDumper << ", " << anAttrBoolObjects << ")" << std::endl;
{
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theSize, mytoSize);
- fillAttribute(ModelHighAPI_Double(), myfromSize);
+ setSize(theSize);
setBooleanObjects(theBooleanObjects);
}
}
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
fillAttribute(theDirection, mydirection);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theSize, mytoSize);
- fillAttribute(ModelHighAPI_Double(), myfromSize);
+ setSize(theSize);
setBooleanObjects(theBooleanObjects);
}
}
{
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theToSize, mytoSize);
- fillAttribute(theFromSize, myfromSize);
+ setSizes(theToSize, theFromSize);
setBooleanObjects(theBooleanObjects);
}
}
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
fillAttribute(theDirection, mydirection);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theToSize, mytoSize);
- fillAttribute(theFromSize, myfromSize);
+ setSizes(theToSize, theFromSize);
setBooleanObjects(theBooleanObjects);
}
}
{
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_PLANES(), mycreationMethod);
- fillAttribute(theToObject, mytoObject);
- fillAttribute(theToOffset, mytoOffset);
- fillAttribute(theFromObject, myfromObject);
- fillAttribute(theFromOffset, myfromOffset);
+ setPlanesAndOffsets(theToObject, theToOffset, theFromObject, theFromOffset);
setBooleanObjects(theBooleanObjects);
}
}
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
fillAttribute(theDirection, mydirection);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_PLANES(), mycreationMethod);
- fillAttribute(theToObject, mytoObject);
- fillAttribute(theToOffset, mytoOffset);
- fillAttribute(theFromObject, myfromObject);
- fillAttribute(theFromOffset, myfromOffset);
+ setPlanesAndOffsets(theToObject, theToOffset, theFromObject, theFromOffset);
setBooleanObjects(theBooleanObjects);
}
}
{
std::shared_ptr<ModelAPI_Feature> aFeature =
thePart->addFeature(FeaturesPlugin_ExtrusionCut::ID());
- return ExtrusionCutPtr(new FeaturesAPI_ExtrusionCut(aFeature, theBaseObjects,
+ return ExtrusionCutPtr(new FeaturesAPI_ExtrusionCut(aFeature, theBaseObjects,
theSize, theBooleanObjects));
}
const ModelHighAPI_Double& theSize,
const std::list<ModelHighAPI_Selection>& theBooleanObjects)
{
- std::shared_ptr<ModelAPI_Feature> aFeature =
+ std::shared_ptr<ModelAPI_Feature> aFeature =
thePart->addFeature(FeaturesPlugin_ExtrusionCut::ID());
return ExtrusionCutPtr(new FeaturesAPI_ExtrusionCut(aFeature, theBaseObjects, theDirection,
theSize, theBooleanObjects));
{
std::shared_ptr<ModelAPI_Feature> aFeature =
thePart->addFeature(FeaturesPlugin_ExtrusionCut::ID());
- return ExtrusionCutPtr(new FeaturesAPI_ExtrusionCut(aFeature, theBaseObjects,
+ return ExtrusionCutPtr(new FeaturesAPI_ExtrusionCut(aFeature, theBaseObjects,
theToSize, theFromSize, theBooleanObjects));
}
{
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theSize, mytoSize);
- fillAttribute(ModelHighAPI_Double(), myfromSize);
+ setSize(theSize);
setBooleanObjects(theBooleanObjects);
}
}
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
fillAttribute(theDirection, mydirection);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theSize, mytoSize);
- fillAttribute(ModelHighAPI_Double(), myfromSize);
+ setSize(theSize);
setBooleanObjects(theBooleanObjects);
}
}
{
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theToSize, mytoSize);
- fillAttribute(theFromSize, myfromSize);
+ setSizes(theToSize, theFromSize);
setBooleanObjects(theBooleanObjects);
}
}
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
fillAttribute(theDirection, mydirection);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_SIZES(), mycreationMethod);
- fillAttribute(theToSize, mytoSize);
- fillAttribute(theFromSize, myfromSize);
+ setSizes(theToSize, theFromSize);
setBooleanObjects(theBooleanObjects);
}
}
{
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_PLANES(), mycreationMethod);
- fillAttribute(theToObject, mytoObject);
- fillAttribute(theToOffset, mytoOffset);
- fillAttribute(theFromObject, myfromObject);
- fillAttribute(theFromOffset, myfromOffset);
+ setPlanesAndOffsets(theToObject, theToOffset, theFromObject, theFromOffset);
setBooleanObjects(theBooleanObjects);
}
}
if(initialize()) {
fillAttribute(theBaseObjects, mybaseObjects);
fillAttribute(theDirection, mydirection);
- fillAttribute(FeaturesPlugin_Extrusion::CREATION_METHOD_BY_PLANES(), mycreationMethod);
- fillAttribute(theToObject, mytoObject);
- fillAttribute(theToOffset, mytoOffset);
- fillAttribute(theFromObject, myfromObject);
- fillAttribute(theFromOffset, myfromOffset);
+ setPlanesAndOffsets(theToObject, theToOffset, theFromObject, theFromOffset);
setBooleanObjects(theBooleanObjects);
}
}
{
std::shared_ptr<ModelAPI_Feature> aFeature =
thePart->addFeature(FeaturesPlugin_ExtrusionFuse::ID());
- return ExtrusionFusePtr(new FeaturesAPI_ExtrusionFuse(aFeature, theBaseObjects,
+ return ExtrusionFusePtr(new FeaturesAPI_ExtrusionFuse(aFeature, theBaseObjects,
theSize, theBooleanObjects));
}
{
std::shared_ptr<ModelAPI_Feature> aFeature =
thePart->addFeature(FeaturesPlugin_ExtrusionFuse::ID());
- return ExtrusionFusePtr(new FeaturesAPI_ExtrusionFuse(aFeature, theBaseObjects,
+ return ExtrusionFusePtr(new FeaturesAPI_ExtrusionFuse(aFeature, theBaseObjects,
theDirection, theSize, theBooleanObjects));
}
const ModelHighAPI_Double& theFromSize,
const std::list<ModelHighAPI_Selection>& theBooleanObjects)
{
- std::shared_ptr<ModelAPI_Feature> aFeature =
+ std::shared_ptr<ModelAPI_Feature> aFeature =
thePart->addFeature(FeaturesPlugin_ExtrusionFuse::ID());
- return ExtrusionFusePtr(new FeaturesAPI_ExtrusionFuse(aFeature, theBaseObjects,
+ return ExtrusionFusePtr(new FeaturesAPI_ExtrusionFuse(aFeature, theBaseObjects,
theToSize, theFromSize, theBooleanObjects));
}
const ModelHighAPI_Double& theFromOffset,
const std::list<ModelHighAPI_Selection>& theBooleanObjects)
{
- std::shared_ptr<ModelAPI_Feature> aFeature =
+ std::shared_ptr<ModelAPI_Feature> aFeature =
thePart->addFeature(FeaturesPlugin_ExtrusionFuse::ID());
return ExtrusionFusePtr(new FeaturesAPI_ExtrusionFuse(aFeature,
theBaseObjects,