#include <ModelAPI_Attribute.h>
#include <ModelAPI_AttributeRefAttr.h>
#include <ModelAPI_ResultParameter.h>
+#include <ModelAPI_ResultCompSolid.h>
#include <ModelAPI_Tools.h>
#include <GeomDataAPI_Point2D.h>
return TopAbs_SHAPE;
}
+bool isSubResult(ObjectPtr theObject)
+{
+ bool aSubResult = false;
+
+ //ResultCompSolidPtr aCompsolidResult = std::dynamic_pointer_cast<ModelAPI_ResultCompSolid>(aResult);
+ return aSubResult;
+}
+
void checkObjects(const QObjectPtrList& theObjects, bool& hasResult, bool& hasFeature, bool& hasParameter, bool& hasSubFeature)
{
hasResult = false;
ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(aObj);
ResultParameterPtr aConstruction = std::dynamic_pointer_cast<ModelAPI_ResultParameter>(aResult);
- hasResult = (aResult.get() != NULL);
+ bool aSubResult = isSubResult(aResult);
+
+ /// results of compsolids are not processed in SHOW/HIDE/WIREFRAME operations
+ hasResult = (aResult.get() != NULL && !aSubResult);
hasFeature = (aFeature.get() != NULL);
hasParameter = (aConstruction.get() != NULL);
if (hasFeature)
/// \return TopAbs_ShapeEnum value
MODULEBASE_EXPORT TopAbs_ShapeEnum shapeType(const QString& theType);
+/// Checks whether the object is a sub result. It gets the feature of the object,
+/// obtains all results of the feature and check if the object is a sub result
+/// \return boolean result
+MODULEBASE_EXPORT bool isSubResult(ObjectPtr theObject);
+
/*!
Check types of objects which are in the given list
\param theObjects the list of objects