X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Algo.hxx;h=c0075a88e310f18c9ddaeb4fddbf3d66ed21e60e;hb=8dc55ee0b75c97cc1a3d537cff6e992c6122b6d1;hp=e51b2329c32f7422f5b1a38f6a85b8b84f19ff22;hpb=a1920ff31054e2c882bd94d4f3c04abe53980ce0;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_Algo.hxx b/src/SMESH/SMESH_Algo.hxx index e51b2329c..c0075a88e 100644 --- a/src/SMESH/SMESH_Algo.hxx +++ b/src/SMESH/SMESH_Algo.hxx @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH SMESH : implementaion of SMESH idl descriptions +// SMESH SMESH : implementation of SMESH idl descriptions // File : SMESH_Algo.hxx // Author : Paul RASCLE, EDF // Module : SMESH @@ -69,7 +69,7 @@ typedef std::map< SMESH_subMesh*, std::vector >::iterator MapShapeNbElemsIt * Methods of the class are grouped into several parts: * - main lifecycle methods, like Compute() * - methods describing features of the algorithm, like NeedShape() - * - methods related to dependencies between sub-meshes imposed by the algorith + * - methods related to dependencies between sub-meshes imposed by the algorithm * - static utilities, like EdgeLength() */ // ================================================================================== @@ -102,10 +102,9 @@ class SMESH_EXPORT SMESH_Algo : public SMESH_Hypothesis /*! * \brief Creates algorithm * \param hypId - algorithm ID - * \param studyId - study ID * \param gen - SMESH_Gen */ - SMESH_Algo(int hypId, int studyId, SMESH_Gen * gen); + SMESH_Algo(int hypId, SMESH_Gen * gen); /*! * \brief Destructor @@ -165,6 +164,15 @@ class SMESH_EXPORT SMESH_Algo : public SMESH_Hypothesis */ virtual bool Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHelper); + /*! + * \brief Return true if the algorithm can mesh a given shape + * \param [in] aShape - shape to check + * \param [in] toCheckAll - if true, this check returns OK if all shapes are OK, + * else, returns OK if at least one shape is OK + * \retval bool - \c true by default + */ + virtual bool IsApplicableToShape(const TopoDS_Shape & shape, bool toCheckAll) const; + /*! * \brief Sets _computeCanceled to true. It's usage depends on * implementation of a particular mesher. @@ -255,7 +263,7 @@ public: // ================================================================== // SMESH_Hypothesis::GetDim(); - // 1 - dimention of target mesh + // 1 - dimension of target mesh bool OnlyUnaryInput() const { return _onlyUnaryInput; } // 2 - is collection of tesselatable shapes inacceptable as input; @@ -269,7 +277,7 @@ public: // 3 - is a Dim-1 mesh prerequisite bool NeedShape() const { return _requireShape; } - // 4 - is shape existance required + // 4 - is shape existence required bool SupportSubmeshes() const { return _supportSubmeshes; } // 5 - whether supports submeshes if !NeedDiscreteBoundary() @@ -453,6 +461,7 @@ protected: int _error; //!< SMESH_ComputeErrorName or anything algo specific std::string _comment; //!< any text explaining what is wrong in Compute() std::list _badInputElements; //!< to explain COMPERR_BAD_INPUT_MESH + const SMDS_Mesh* _mesh; //!< mesh being computed, needed to create SMESH_BadInputElements volatile bool _computeCanceled; //!< is set to True while computing to stop it @@ -466,19 +475,19 @@ protected: class SMESH_EXPORT SMESH_0D_Algo: public SMESH_Algo { public: - SMESH_0D_Algo(int hypId, int studyId, SMESH_Gen* gen); + SMESH_0D_Algo(int hypId, SMESH_Gen* gen); }; class SMESH_EXPORT SMESH_1D_Algo: public SMESH_Algo { public: - SMESH_1D_Algo(int hypId, int studyId, SMESH_Gen* gen); + SMESH_1D_Algo(int hypId, SMESH_Gen* gen); }; class SMESH_EXPORT SMESH_2D_Algo: public SMESH_Algo { public: - SMESH_2D_Algo(int hypId, int studyId, SMESH_Gen* gen); + SMESH_2D_Algo(int hypId, SMESH_Gen* gen); /*! * \brief Method in which an algorithm generating a structured mesh * fixes positions of in-face nodes after there movement @@ -491,7 +500,7 @@ public: class SMESH_EXPORT SMESH_3D_Algo: public SMESH_Algo { public: - SMESH_3D_Algo(int hypId, int studyId, SMESH_Gen* gen); + SMESH_3D_Algo(int hypId, SMESH_Gen* gen); }; #endif