X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Hypothesis_i.hxx;h=0fcc83ca82b0b8deafc303af62192831cdd44c1f;hp=ee8baec36a57907d6ee10f3fd5b1e015f4c0332f;hb=cb55604f37e3d2583272fd436bb6557b041948b5;hpb=bd7477efc255f965c479d88d1be1ee3dbf4aa760 diff --git a/src/SMESH_I/SMESH_Hypothesis_i.hxx b/src/SMESH_I/SMESH_Hypothesis_i.hxx index ee8baec36..0fcc83ca8 100644 --- a/src/SMESH_I/SMESH_Hypothesis_i.hxx +++ b/src/SMESH_I/SMESH_Hypothesis_i.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses +// SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes // File : SMESH_Hypothesis_i.hxx // Author : Paul RASCLE, EDF // Module : SMESH @@ -40,6 +40,7 @@ #include #include +#include class TCollection_AsciiString; @@ -97,7 +98,18 @@ public: // Persistence virtual char* SaveTo(); virtual void LoadFrom( const char* theStream ); - virtual void UpdateAsMeshesRestored(); // for hyps needing full data restored + virtual void UpdateAsMeshesRestored(); // for hyps needing full study data restored + + + // Methods for copying mesh definition to other geometry + + // Return geometry this hypothesis depends on. Return false if there is no geometry parameter + virtual bool getObjectsDependOn( std::vector< std::string > & entryArray, + std::vector< int > & subIDArray ) const = 0; + + // Set new geometry instead of that returned by getObjectsDependOn() + virtual bool setObjectsDependOn( std::vector< std::string > & entryArray, + std::vector< int > & subIDArray ) = 0; protected: @@ -119,10 +131,10 @@ public: // method used to convert variable parameters stored in an old study // into myMethod2VarParams. It should return a method name for an index of // variable parameters. Index is countered from zero - virtual std::string getMethodOfParameter(const int paramIndex, int nbVars) const { return ""; } + virtual std::string getMethodOfParameter(const int /*paramIndex*/, int /*nbVars*/) const { return ""; } // method intended to remove explicit treatment of Netgen hypotheses from SMESH_NoteBook - virtual int getParamIndex(const TCollection_AsciiString& method, int nbVars) const { return -1; } + virtual int getParamIndex(const TCollection_AsciiString& /*method*/, int /*nbVars*/) const { return -1; } }; // ====================================================== @@ -136,9 +148,17 @@ public: ::SMESH_Gen* theGenImpl) = 0; virtual ~GenericHypothesisCreator_i() {} - // return the name of IDL module + // Return the name of IDL module virtual std::string GetModuleName() = 0; - virtual bool IsApplicable( const TopoDS_Shape &S, bool toCheckAll ) {return true;} + + // Check if an algorithm is applicable to a shape + virtual bool IsApplicable( const TopoDS_Shape &S, bool /*toCheckAll*/, int algoDim ) + { + return IsShapeOfDim( S, algoDim ); + } + + // Check if a shape includes sub-shapes of a given dimension + static bool IsShapeOfDim( const TopoDS_Shape &S, int dim ); }; //=============================================================================