X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMImpl%2FGEOMImpl_IHealing.hxx;h=8e9d354d3c7b088786e07f5627ae8d715a6a196a;hb=c1d63ef1f803d255b61ee99fb618bf471add07f4;hp=1de1ca5b27af995350666aab6f0accfc91694baa;hpb=5b3622aa2363853841fd5b4205c78a715bfee4a4;p=modules%2Fgeom.git diff --git a/src/GEOMImpl/GEOMImpl_IHealing.hxx b/src/GEOMImpl/GEOMImpl_IHealing.hxx old mode 100755 new mode 100644 index 1de1ca5b2..8e9d354d3 --- a/src/GEOMImpl/GEOMImpl_IHealing.hxx +++ b/src/GEOMImpl/GEOMImpl_IHealing.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -24,7 +24,9 @@ #include #include -#include "TColStd_HSequenceOfTransient.hxx" +#include +#include +#include class GEOMImpl_IHealing { @@ -41,7 +43,8 @@ public: ARG_DEV_EDGE_VALUE = 8, ARG_IS_BY_PARAMETER = 9, ARG_SUBSHAPE_INDEX = 10, - ARG_LIST_SHAPES = 11 + ARG_LIST_SHAPES = 11, + ARG_TYPE = 12 }; GEOMImpl_IHealing(Handle(GEOM_Function) theFunction): _func(theFunction) {} @@ -55,7 +58,7 @@ public: void SetValues( const Handle(TColStd_HArray1OfExtendedString)& arr ) { if ( !arr.IsNull() ) _func->SetStringArray(ARG_SHAPE_PROCESS_VALUES, arr); } Handle(TColStd_HArray1OfExtendedString) GetValues() { return _func->GetStringArray(ARG_SHAPE_PROCESS_VALUES); } - void SetOriginal( Handle(GEOM_Function)& f ) { _func->SetReference(ARG_ORIGINAL, f); } + void SetOriginal( Handle(GEOM_Function) f ) { _func->SetReference(ARG_ORIGINAL, f); } Handle(GEOM_Function) GetOriginal() { return _func->GetReference(ARG_ORIGINAL); } void SetFaces( const Handle(TColStd_HArray1OfInteger)& arr ) { if ( !arr.IsNull() ) _func->SetIntegerArray(ARG_LIST_ARGUMENTS, arr); } @@ -73,6 +76,9 @@ public: void SetTolerance( Standard_Real val ) { _func->SetReal(ARG_TOLERANCE, val); } Standard_Real GetTolerance() { return _func->GetReal(ARG_TOLERANCE); } + void SetType( TopAbs_ShapeEnum val ) { _func->SetInteger(ARG_TYPE, (Standard_Integer)val); } + TopAbs_ShapeEnum GetType() { TopAbs_ShapeEnum type = (TopAbs_ShapeEnum)(_func->GetInteger(ARG_TYPE)); return _func->IsDone() ? type : TopAbs_SHAPE; } + void SetDevideEdgeValue( Standard_Real val ) { _func->SetReal(ARG_DEV_EDGE_VALUE, val); } Standard_Real GetDevideEdgeValue() { return _func->GetReal(ARG_DEV_EDGE_VALUE); } @@ -84,6 +90,24 @@ public: Handle(TColStd_HSequenceOfTransient) GetShapes() { return _func->GetReferenceList(ARG_LIST_SHAPES); } + Handle(TColStd_HSequenceOfTransient) GetOriginalAndShapes() + { + Handle(TColStd_HSequenceOfTransient) funs = GetShapes(); + if ( funs.IsNull() ) funs = new TColStd_HSequenceOfTransient; + funs->Prepend( GetOriginal() ); + return funs; + } + + void SetStatistics( ShHealOper_ModifStats* ms ) + { + if ( ms ) ms->Clear(); + _func->SetCallBackData( (void*) ms ); + } + ShHealOper_ModifStats* GetStatistics() + { + return (ShHealOper_ModifStats*) _func->GetCallBackData(); + } + private: Handle(GEOM_Function) _func; };