#include "FeaturesAPI_Placement.h"
+#include <ModelHighAPI_Dumper.h>
#include <ModelHighAPI_Tools.h>
//==================================================================================================
-FeaturesAPI_Placement::FeaturesAPI_Placement(const std::shared_ptr<ModelAPI_Feature> & theFeature)
+FeaturesAPI_Placement::FeaturesAPI_Placement(const std::shared_ptr<ModelAPI_Feature>& theFeature)
: ModelHighAPI_Interface(theFeature)
{
initialize();
}
//==================================================================================================
-FeaturesAPI_Placement::FeaturesAPI_Placement(const std::shared_ptr<ModelAPI_Feature> & theFeature,
+FeaturesAPI_Placement::FeaturesAPI_Placement(const std::shared_ptr<ModelAPI_Feature>& theFeature,
const std::list<ModelHighAPI_Selection>& theObjects,
const ModelHighAPI_Selection& theStartShape,
const ModelHighAPI_Selection& theEndShape,
: ModelHighAPI_Interface(theFeature)
{
if(initialize()) {
- setObjects(theObjects);
- setStartShape(theStartShape);
- setEndShape(theEndShape);
- setReverseDirection(theReverseDirection);
+ fillAttribute(theObjects, myobjects);
+ fillAttribute(theStartShape, mystartShape);
+ fillAttribute(theEndShape, myendShape);
+ fillAttribute(theReverseDirection, myreverseDirection);
setCentering(theCentering);
}
}
execute();
}
-// TODO(spo): make add* as static functions of the class
//==================================================================================================
-PlacementPtr addPlacement(const std::shared_ptr<ModelAPI_Document> & thePart,
+void FeaturesAPI_Placement::dump(ModelHighAPI_Dumper& theDumper) const
+{
+ FeaturePtr aBase = feature();
+ const std::string& aDocName = theDumper.name(aBase->document());
+
+ AttributeSelectionListPtr anAttrObjects = aBase->selectionList(FeaturesPlugin_Placement::OBJECTS_LIST_ID());
+ AttributeSelectionPtr anAttrStartShape = aBase->selection(FeaturesPlugin_Placement::START_SHAPE_ID());
+ AttributeSelectionPtr anAttrEndShape = aBase->selection(FeaturesPlugin_Placement::END_SHAPE_ID());
+ AttributeBooleanPtr anAttrReverse = aBase->boolean(FeaturesPlugin_Placement::REVERSE_ID());
+ AttributeBooleanPtr anAttrCentering = aBase->boolean(FeaturesPlugin_Placement::CENTERING_ID());
+
+ theDumper << aBase << " = model.addPlacement(" << aDocName << ", "
+ << anAttrObjects << ", " << anAttrStartShape << ", " << anAttrEndShape << ", "
+ << anAttrReverse << ", " << anAttrCentering << ")" << std::endl;
+}
+
+//==================================================================================================
+PlacementPtr addPlacement(const std::shared_ptr<ModelAPI_Document>& thePart,
const std::list<ModelHighAPI_Selection>& theObjects,
const ModelHighAPI_Selection& theStartShape,
const ModelHighAPI_Selection& theEndShape,