#define _SMESH_PROPAGATION_HXX_
#include "SMESH_Hypothesis.hxx"
+#include "SMESH_subMeshEventListener.hxx"
#include "Utils_SALOME_Exception.hxx"
+#include <TopoDS_Edge.hxx>
+
+
+// =======================================================================
+/*!
+ * \brief Propagation hypothesis
+ */
+// =======================================================================
+
class StdMeshers_Propagation:public SMESH_Hypothesis
{
public:
static std::string GetName ();
+ /*!
+ * \brief Set EventListener managing propagation of hypotheses
+ * \param subMesh - edge submesh to set event listener on
+ *
+ * 1D algo is expected to call this method from it's SetEventListener()
+ */
+ static void SetPropagationMgr(SMESH_subMesh* subMesh);
+
+ /*!
+ * \brief Return an edge from which hypotheses are propagated from
+ * \param theMesh - mesh
+ * \param theEdge - edge to which hypotheses are propagated
+ * \retval TopoDS_Edge - source edge, also passing orientation
+ */
+ static TopoDS_Edge GetPropagationSource(SMESH_Mesh& theMesh, const TopoDS_Shape& theEdge);
+
/*!
* \brief Initialize my parameter values by the mesh built on the geometry
* \param theMesh - the built mesh
*/
virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
};
-
#endif