Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Compute Progress bar: ignore sub-meshes that are NOT_READY to compute
[modules/smesh.git]
/
src
/
SMESH
/
SMESH_Algo.hxx
diff --git
a/src/SMESH/SMESH_Algo.hxx
b/src/SMESH/SMESH_Algo.hxx
index 3f8f2c839c1b1021f62c552de9e52a7b64e353e2..8d5d4cf47eca1a566d79961a472b6a6727e622ac 100644
(file)
--- a/
src/SMESH/SMESH_Algo.hxx
+++ b/
src/SMESH/SMESH_Algo.hxx
@@
-169,6
+169,11
@@
class SMESH_EXPORT SMESH_Algo : public SMESH_Hypothesis
*/
virtual void CancelCompute();
*/
virtual void CancelCompute();
+ /*!
+ * \brief If possible, returns progress of computation [0.,1.]
+ */
+ virtual double GetProgress() const;
+
/*!
* \brief evaluates size of prospective mesh on a shape
* \param aMesh - the mesh
/*!
* \brief evaluates size of prospective mesh on a shape
* \param aMesh - the mesh
@@
-195,7
+200,7
@@
class SMESH_EXPORT SMESH_Algo : public SMESH_Hypothesis
virtual const std::list <const SMESHDS_Hypothesis *> &
GetUsedHypothesis(SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape,
virtual const std::list <const SMESHDS_Hypothesis *> &
GetUsedHypothesis(SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape,
- const bool ignoreAuxiliary=true);
+ const bool ignoreAuxiliary=true)
const
;
/*!
* \brief Returns a list of compatible hypotheses assigned to a shape in a mesh
* \param aMesh - the mesh
/*!
* \brief Returns a list of compatible hypotheses assigned to a shape in a mesh
* \param aMesh - the mesh
@@
-210,7
+215,7
@@
class SMESH_EXPORT SMESH_Algo : public SMESH_Hypothesis
const list <const SMESHDS_Hypothesis *> &
GetAppliedHypothesis(SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape,
const list <const SMESHDS_Hypothesis *> &
GetAppliedHypothesis(SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape,
- const bool ignoreAuxiliary=true);
+ const bool ignoreAuxiliary=true)
const
;
/*!
* \brief Make the filter recognize only compatible hypotheses
* \param theFilter - the filter to initialize
/*!
* \brief Make the filter recognize only compatible hypotheses
* \param theFilter - the filter to initialize
@@
-224,14
+229,23
@@
class SMESH_EXPORT SMESH_Algo : public SMESH_Hypothesis
*/
virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
virtual bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0);
*/
virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
virtual bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0);
+
/*!
* \brief return compute error
*/
SMESH_ComputeErrorPtr GetComputeError() const;
/*!
/*!
* \brief return compute error
*/
SMESH_ComputeErrorPtr GetComputeError() const;
/*!
- * \brief initialize compute error
+ * \brief initialize compute error
before call of Compute()
*/
void InitComputeError();
*/
void InitComputeError();
+ /*!
+ * \brief Return compute progress by nb of calls of this method
+ */
+ double GetProgressByTic() const;
+ /*!
+ * Return a storage of "compute cost" of shapes being Compute()d.
+ */
+ int& GetComputeCost() { return _computeCost; }
public:
// ==================================================================
public:
// ==================================================================
@@
-325,11
+339,6
@@
public:
*/
static double EdgeLength(const TopoDS_Edge & E);
*/
static double EdgeLength(const TopoDS_Edge & E);
- /*!
- * \brief Calculate normal of a mesh face
- */
- static bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true);
-
//static int NumberOfWires(const TopoDS_Shape& S);
int NumberOfPoints(SMESH_Mesh& aMesh,const TopoDS_Wire& W);
//static int NumberOfWires(const TopoDS_Shape& S);
int NumberOfPoints(SMESH_Mesh& aMesh,const TopoDS_Wire& W);
@@
-356,12
+365,6
@@
public:
*/
static const SMDS_MeshNode* VertexNode(const TopoDS_Vertex& V, const SMESHDS_Mesh* meshDS);
*/
static const SMDS_MeshNode* VertexNode(const TopoDS_Vertex& V, const SMESHDS_Mesh* meshDS);
- /*!
- * \brief Return nodes common to two elements
- */
- static std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
- const SMDS_MeshElement* e2);
-
enum EMeshError { MEr_OK = 0, MEr_HOLES, MEr_BAD_ORI, MEr_EMPTY };
/*!
enum EMeshError { MEr_OK = 0, MEr_HOLES, MEr_BAD_ORI, MEr_EMPTY };
/*!
@@
-418,8
+421,12
@@
protected:
std::list<const SMDS_MeshElement*> _badInputElements; //!< to explain COMPERR_BAD_INPUT_MESH
volatile bool _computeCanceled; //!< is set to True while computing to stop it
std::list<const SMDS_MeshElement*> _badInputElements; //!< to explain COMPERR_BAD_INPUT_MESH
volatile bool _computeCanceled; //!< is set to True while computing to stop it
+ int _computeCost; //!< "compute cost" of shapes being Compute()d
+ int _progressTic; //!< counter of calls from SMESH_Mesh::GetComputeProgress()
+ double _progress; //!< progress of Compute() [0.,1.]
};
};
+
class SMESH_EXPORT SMESH_0D_Algo: public SMESH_Algo
{
public:
class SMESH_EXPORT SMESH_0D_Algo: public SMESH_Algo
{
public: