X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Algo.hxx;h=57bc4245ae620d8f7babd98b4dbff371254e7614;hb=4ff5bd61540272713e48de1eee75625028c32155;hp=c92b5893fe83a7761436aff3e27df6e941da4715;hpb=50eb85fb3d790dcf6607bb1eb63a9fd68bcaadba;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_Algo.hxx b/src/SMESH/SMESH_Algo.hxx index c92b5893f..57bc4245a 100644 --- a/src/SMESH/SMESH_Algo.hxx +++ b/src/SMESH/SMESH_Algo.hxx @@ -33,16 +33,20 @@ #include #include +#include #include #include #include +#include class SMESH_Gen; class SMESH_Mesh; +class SMESH_HypoFilter; class TopoDS_Face; class TopoDS_Shape; class SMESHDS_Mesh; +class SMDS_MeshNode; class SMESH_Algo:public SMESH_Hypothesis { @@ -58,13 +62,27 @@ class SMESH_Algo:public SMESH_Hypothesis virtual bool Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape) = 0; virtual const std::list & - GetUsedHypothesis(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape); + GetUsedHypothesis(SMESH_Mesh & aMesh, + const TopoDS_Shape & aShape, + const bool ignoreAuxiliary=true); const list & - GetAppliedHypothesis(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape); + GetAppliedHypothesis(SMESH_Mesh & aMesh, + const TopoDS_Shape & aShape, + const bool ignoreAuxiliary=true); static double EdgeLength(const TopoDS_Edge & E); + + /*! + * \brief Make filter recognize only compatible hypotheses + * \param theFilter - the filter to initialize + * \param ignoreAuxiliary - make filter ignore compatible auxiliary hypotheses + * \retval bool - true if the algo has compatible hypotheses + */ + bool InitCompatibleHypoFilter( SMESH_HypoFilter & theFilter, + const bool ignoreAuxiliary) const; + /*! * \brief Fill vector of node parameters on geometrical edge, including vertex nodes * \param theMesh - The mesh containing nodes @@ -121,6 +139,9 @@ class SMESH_Algo:public SMESH_Hypothesis std::vector _compatibleHypothesis; std::list _appliedHypList; std::list _usedHypList; + + // quadratic mesh creation required + bool _quadraticMesh; }; #endif