X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_I%2FGEOM_IMeasureOperations_i.hh;h=ded2f9c4122e45132d67ff728d43475315f14a24;hb=9f730900596e9412f431c23b2bd985063814a750;hp=1a9595b5caf0eb27fdccb2e27d1deea597c6c11a;hpb=b654dab4196604cf30846f9369ca01aef0bd4fd5;p=modules%2Fgeom.git diff --git a/src/GEOM_I/GEOM_IMeasureOperations_i.hh b/src/GEOM_I/GEOM_IMeasureOperations_i.hh index 1a9595b5c..ded2f9c41 100644 --- a/src/GEOM_I/GEOM_IMeasureOperations_i.hh +++ b/src/GEOM_I/GEOM_IMeasureOperations_i.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2022 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 @@ -142,6 +142,8 @@ class GEOM_I_EXPORT GEOM_IMeasureOperations_i : CORBA::Double GetAngleBtwVectors (GEOM::GEOM_Object_ptr theShape1, GEOM::GEOM_Object_ptr theShape2); + GEOM::ListOfGO* PatchFace(GEOM::GEOM_Object_ptr theShape); + // Methods for receiving radiuses of curvature of curves and surfaces // in the given point CORBA::Double CurveCurvatureByParam (GEOM::GEOM_Object_ptr theCurve, @@ -164,8 +166,46 @@ class GEOM_I_EXPORT GEOM_IMeasureOperations_i : CORBA::Double MinSurfaceCurvatureByPoint (GEOM::GEOM_Object_ptr theSurf, GEOM::GEOM_Object_ptr thePoint); + GEOM::GEOM_Object_ptr SurfaceCurvatureByPointAndDirection (GEOM::GEOM_Object_ptr theSurf, + GEOM::GEOM_Object_ptr thePoint, + GEOM::GEOM_Object_ptr theDirection); + + // Methods for class CheckConformity + GEOM::GEOM_IMeasureOperations::SequenceOfPairOfShape* SelfIntersected2D( + const GEOM::GEOM_IMeasureOperations::CheckResults& theResuts); + + GEOM::GEOM_IMeasureOperations::SequenceOfPairOfShape* InterferingSubshapes( + const GEOM::GEOM_IMeasureOperations::CheckResults& theResuts, + const CORBA::Long theShapeType1, + const CORBA::Long theShapeType2); + + GEOM::ListOfGO* SmallEdges(const GEOM::GEOM_IMeasureOperations::CheckResults& theResuts); + + GEOM::GEOM_IMeasureOperations::SequenceOfPairOfShape* DistantShapes( + const GEOM::GEOM_IMeasureOperations::CheckResults& theResuts, + const CORBA::Long theShapeType, + const CORBA::Long theSubShapeType, + const CORBA::Double theTolerance); + + GEOM::GEOM_IMeasureOperations::CheckResults* CheckConformityShape(GEOM::GEOM_Object_ptr theShape); + + CORBA::Double UpdateTolerance(GEOM::GEOM_Object_ptr theShape); + + // Methods to compute proximity between two shapes + GEOM::GEOM_Object_ptr ShapeProximityCalculator (GEOM::GEOM_Object_ptr theShape1, + GEOM::GEOM_Object_ptr theShape2); + void SetShapeSampling(GEOM::GEOM_Object_ptr theCalculator, + GEOM::GEOM_Object_ptr theShape, + CORBA::Long theNbSamples); + CORBA::Double GetCoarseProximity(GEOM::GEOM_Object_ptr theCalculator); + CORBA::Double GetPreciseProximity(GEOM::GEOM_Object_ptr theCalculator); + ::GEOMImpl_IMeasureOperations* GetOperations() { return (::GEOMImpl_IMeasureOperations*)GetImpl(); } + +private: + void ConvertToList(const GEOM::GEOM_IMeasureOperations::CheckResults& theResuts, + std::list & theListOfResults); }; #endif