// File : SMESH_subMesh.hxx
// Author : Paul RASCLE, EDF
// Module : SMESH
-// $Header$
//
#ifndef _SMESH_SUBMESH_HXX_
#define _SMESH_SUBMESH_HXX_
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Hypothesis.hxx"
#include "SMESH_ComputeError.hxx"
+#include "SMESH_Algo.hxx"
#include "Utils_SALOME_Exception.hxx"
{
public:
SMESH_subMesh(int Id, SMESH_Mesh * father, SMESHDS_Mesh * meshDS,
- const TopoDS_Shape & aSubShape);
+ const TopoDS_Shape & aSubShape);
virtual ~ SMESH_subMesh();
int GetId() const;
bool ComputeStateEngine(int event);
+ bool Evaluate(MapShapeNbElems& aResMap);
+
bool IsConform(const SMESH_Algo* theAlgo);
// check if a conform mesh will be produced by the Algo
* none mesh entity is bound to it
*/
void SetIsAlwaysComputed(bool isAlCo);
+ bool IsAlwaysComputed() { return _alwaysComputed; }
+
+ /*!
+ * \brief Find common submeshes (based on shared subshapes with other
+ * \param theOther submesh to check
+ * \param theCommonIds set of common submesh IDs
+ * NOTE: this method does not cleat set before collect common IDs
+ */
+ bool FindIntersection( const SMESH_subMesh * theOther,
+ std::set<const SMESH_subMesh*>& theSetOfCommon ) const;
protected:
// ==================================================================