- AttributeSelectionListPtr anAttrObjects = aBase->selectionList(FeaturesPlugin_Rotation::OBJECTS_LIST_ID());
- AttributeSelectionPtr anAttrAxis = aBase->selection(FeaturesPlugin_Rotation::AXIS_OBJECT_ID());
- AttributeDoublePtr anAttrAngle = aBase->real(FeaturesPlugin_Rotation::ANGLE_ID());
+ AttributeSelectionListPtr anAttrObjects =
+ aBase->selectionList(FeaturesPlugin_Rotation::OBJECTS_LIST_ID());
+
+ theDumper << aBase << " = model.addRotation(" << aDocName << ", " << anAttrObjects;
+
+ std::string aCreationMethod =
+ aBase->string(FeaturesPlugin_Rotation::CREATION_METHOD())->value();
+
+ if (aCreationMethod == FeaturesPlugin_Rotation::CREATION_METHOD_BY_ANGLE()) {
+ AttributeSelectionPtr anAttrAxis = aBase->selection(FeaturesPlugin_Rotation::AXIS_OBJECT_ID());
+ AttributeDoublePtr anAttrAngle = aBase->real(FeaturesPlugin_Rotation::ANGLE_ID());
+ theDumper << ", " << anAttrAxis << ", " << anAttrAngle;
+ } else if (aCreationMethod == FeaturesPlugin_Rotation::CREATION_METHOD_BY_THREE_POINTS()) {
+ AttributeSelectionPtr anAttrCenterPoint =
+ aBase->selection(FeaturesPlugin_Rotation::CENTER_POINT_ID());
+ AttributeSelectionPtr anAttrStartPoint =
+ aBase->selection(FeaturesPlugin_Rotation::START_POINT_ID());
+ AttributeSelectionPtr anAttrEndPoint =
+ aBase->selection(FeaturesPlugin_Rotation::END_POINT_ID());
+ theDumper << ", " << anAttrCenterPoint << ", " << anAttrStartPoint << ", " << anAttrEndPoint;
+ }