#ifndef _GEOMImpl_IHealingOperations_HXX_ #define _GEOMImpl_IHealingOperations_HXX_ #include "GEOM_IOperations.hxx" #include "GEOM_Engine.hxx" #include "GEOM_Object.hxx" #include #include #include class GEOMImpl_IHealingOperations : public GEOM_IOperations { public: Standard_EXPORT GEOMImpl_IHealingOperations(GEOM_Engine* theEngine, int theDocID); Standard_EXPORT ~GEOMImpl_IHealingOperations(); // Apply Shape Processing to the selected Object Standard_EXPORT Handle(GEOM_Object) ShapeProcess( Handle(GEOM_Object) theObject, const Handle(TColStd_HArray1OfExtendedString)& theOperations, const Handle(TColStd_HArray1OfExtendedString)& theParams, const Handle(TColStd_HArray1OfExtendedString)& theValues ); // Retrieve default Shape Process parameters (from resource file) Standard_EXPORT void GetShapeProcessParameters( list& theOperations, list& theParams, list& theValues ); // Retrieve default Shape Process parameters for given operator Standard_EXPORT bool GetOperatorParameters( const string theOperation, list& theParams, list& theValues ); // returns all parameters that are valid for the given operation (Shape Process operator) Standard_EXPORT static bool GetParameters( const string theOperation, list& theParams ); Standard_EXPORT Handle(GEOM_Object) SuppressFaces( Handle(GEOM_Object) theObject, const Handle(TColStd_HArray1OfInteger)& theFaces); Standard_EXPORT Handle(GEOM_Object) CloseContour( Handle(GEOM_Object) theObject, const Handle(TColStd_HArray1OfInteger)& theWires, bool isCommonVertex ); Standard_EXPORT Handle(GEOM_Object) RemoveIntWires( Handle(GEOM_Object) theObject, const Handle(TColStd_HArray1OfInteger)& theWires); Standard_EXPORT Handle(GEOM_Object) FillHoles( Handle(GEOM_Object) theObject, const Handle(TColStd_HArray1OfInteger)& theWires); Standard_EXPORT Handle(GEOM_Object) Sew( Handle(GEOM_Object) theObject, double theTolerance ); Standard_EXPORT Handle(GEOM_Object) DivideEdge( Handle(GEOM_Object) theObject, int theIndex, double theValue, bool isByParameter ); // this function does not use Function-Driver mechanism, it just computes the free // boundary edges and returns them in the sequence. It is called just for information reasons // and it's not intended for history/undo/redo/etc.. Standard_EXPORT bool GetFreeBoundary ( Handle(GEOM_Object) theObject, Handle(TColStd_HSequenceOfTransient)& theOutClosedWires, Handle(TColStd_HSequenceOfTransient)& theOutOpenWires ); }; #endif