-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 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
#include <map>
#include <string>
+#include <vector>
class TCollection_AsciiString;
void SetLibName( const char* theLibName );
// Get unique id of hypothesis
- virtual CORBA::Long GetId();
+ virtual CORBA::Short GetId();
// Return true if a hypothesis has parameters
virtual CORBA::Boolean HasParameters();
// 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:
// 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; }
};
// ======================================================
::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 );
};
//=============================================================================