#include <GeomAPI_Pnt.h>
#include <GeomAPI_Dir.h>
#include <GeomAPI_ShapeExplorer.h>
+#include <GeomAPI_ShapeIterator.h>
+#include <GeomAlgoAPI_NExplode.h>
#include <GeomDataAPI_Dir.h>
#include <GeomDataAPI_Point.h>
isDumpByGeom = aSelectedFeature && aSelectedFeature->isInHistory();
}
+ if (theAttrSelect->isGeometricalSelection() && aShape->shapeType() == GeomAPI_Shape::COMPOUND) {
+ GeomAPI_ShapeIterator anIt(aShape);
+ aShape = anIt.current();
+ }
+
myDumpBuffer << "\"" << aShape->shapeTypeStr();
+ bool aStandardDump = true;
if (isDumpByGeom) {
// check the selected item is a ResultPart;
// in this case it is necessary to get shape with full transformation
anIndex = anOutput.str();
}
- myDumpBuffer << anIndex << "\", ";
- *this << aMiddlePoint;
+ myDumpBuffer << anIndex << "\", ("
+ << aMiddlePoint->x() << ", "
+ << aMiddlePoint->y() << ", "
+ << aMiddlePoint->z() << ")";
+ aStandardDump = false;
+ } else if (myWeakNamingSelection && aShape.get() && theAttrSelect->context().get() &&
+ aShape != theAttrSelect->context()->shape()) { // weak naming for local selection only
+ GeomAlgoAPI_NExplode aNExplode(theAttrSelect->context()->shape(), aShape->shapeType());
+ int anIndex = aNExplode.index(aShape);
+ if (anIndex != 0) { // found a week-naming index, so, export it
+ myDumpBuffer<<"\", \""<<
+ theAttrSelect->contextName(theAttrSelect->context())<<"\", "<<anIndex;
+ aStandardDump = false;
+ }
}
- else
+ if (aStandardDump)
myDumpBuffer << "\", \"" << theAttrSelect->namingName() << "\"";
myDumpBuffer << ")";
return *this;