/// Returns the state whether the external object is used
bool useExternal() const { return myUseExternal; }
+ bool isValidObject(const ObjectPtr& theObject);
+
/// Finds or create and external object
/// \param theSelectedObject an object
/// \param theShape a selected shape, which is used in the selection attribute
ObjectPtr externalObject(const ObjectPtr& theSelectedObject, const GeomShapePtr& theShape,
const CompositeFeaturePtr& theSketch);
+ ObjectPtr externalObjectValidated(const ObjectPtr& theSelectedObject, const GeomShapePtr& theShape,
+ const CompositeFeaturePtr& theSketch);
+
// Removes the external presentation from the model
/// \param theSketch a current sketch
/// \param theFeature a current feature
void removeExternal(const CompositeFeaturePtr& theSketch,
const FeaturePtr& theFeature);
+ void removeExternalValidated(const CompositeFeaturePtr& theSketch,
+ const FeaturePtr& theFeature);
+
+ void removeUnusedExternalObjects(const QObjectPtrList& theIgnoreObjects,
+ const CompositeFeaturePtr& theSketch,
+ const FeaturePtr& theFeature);
+
+protected:
+ void removeExternalObject(const ObjectPtr& theObject,
+ const CompositeFeaturePtr& theSketch,
+ const FeaturePtr& theFeature);
+
protected:
/// An external object
QObjectPtrList myExternalObjects;
+ /// An external object
+ ObjectPtr myExternalObjectValidated;
+
/// Boolean value about the neccessity of the external object use
bool myUseExternal;
};