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
Compilation on Windows platform.
[modules/smesh.git]
/
src
/
SMESH
/
SMESH_subMesh.hxx
diff --git
a/src/SMESH/SMESH_subMesh.hxx
b/src/SMESH/SMESH_subMesh.hxx
index 669ef7164ac479b08b09674c97c5fb6c8485b48c..f38d6367a53d925f21715f565c88e8010c9651a4 100644
(file)
--- a/
src/SMESH/SMESH_subMesh.hxx
+++ b/
src/SMESH/SMESH_subMesh.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
2
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
4
CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-6,7
+6,7
@@
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License
, or (at your option) any later version
.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-80,11
+80,13
@@
class SMESH_EXPORT SMESH_subMesh
SMESH_Algo* GetAlgo() const;
const std::map < int, SMESH_subMesh * >& DependsOn();
SMESH_Algo* GetAlgo() const;
const std::map < int, SMESH_subMesh * >& DependsOn();
+ bool DependsOn( const SMESH_subMesh* other ) const;
/*!
/*!
- * \brief Return iterator on the submeshes this one depends on
+ * \brief Return iterator on the sub-meshes this one depends on. By default
+ * most simple sub-meshes go first.
*/
SMESH_subMeshIteratorPtr getDependsOnIterator(const bool includeSelf,
*/
SMESH_subMeshIteratorPtr getDependsOnIterator(const bool includeSelf,
- const bool complexShapeFirst) const;
+ const bool complexShapeFirst
=false
) const;
const TopoDS_Shape & GetSubShape() const;
const TopoDS_Shape & GetSubShape() const;
@@
-107,7
+109,7
@@
class SMESH_EXPORT SMESH_subMesh
};
enum compute_event
{
};
enum compute_event
{
- MODIF_ALGO_STATE, COMPUTE, COMPUTE_CANCELED,
+ MODIF_ALGO_STATE, COMPUTE, COMPUTE_
SUBMESH, COMPUTE_
CANCELED,
CLEAN, SUBMESH_COMPUTED, SUBMESH_RESTORED, SUBMESH_LOADED,
MESH_ENTITY_REMOVED, CHECK_COMPUTE_STATE
};
CLEAN, SUBMESH_COMPUTED, SUBMESH_RESTORED, SUBMESH_LOADED,
MESH_ENTITY_REMOVED, CHECK_COMPUTE_STATE
};
@@
-244,7
+246,7
@@
public:
bool IsEmpty() const;
bool IsMeshComputed() const;
bool IsEmpty() const;
bool IsMeshComputed() const;
- // check if _subMeshDS contains mesh elements
+ // check if _subMeshDS contains mesh elements
unless _alwaysComputed==true
/*!
* \brief Allow algo->Compute() if a subshape of lower dim is meshed but
/*!
* \brief Allow algo->Compute() if a subshape of lower dim is meshed but
@@
-255,6
+257,8
@@
public:
bool SubMeshesComputed(bool * isFailedToCompute=0) const;
bool SubMeshesComputed(bool * isFailedToCompute=0) const;
+ int GetComputeCost() const;
+ // how costly is to compute this sub-mesh
/*!
* \brief Find common submeshes (based on shared subshapes with other
/*!
* \brief Find common submeshes (based on shared subshapes with other
@@
-283,7
+287,8
@@
protected:
TopoDS_Shape getCollection(SMESH_Gen * theGen,
SMESH_Algo* theAlgo,
bool & theSubComputed,
TopoDS_Shape getCollection(SMESH_Gen * theGen,
SMESH_Algo* theAlgo,
bool & theSubComputed,
- bool & theSubFailed);
+ bool & theSubFailed,
+ std::vector<SMESH_subMesh*>& theSubs);
/*!
* \brief Update compute_state by _computeError
* \retval bool - false if there are errors
/*!
* \brief Update compute_state by _computeError
* \retval bool - false if there are errors
@@
-303,6
+308,7
@@
protected:
const SMESH_Hypothesis * theHyp,
const int theHypType = 0);
//
const SMESH_Hypothesis * theHyp,
const int theHypType = 0);
//
+ int computeCost() const;
protected:
protected:
@@
-318,6
+324,8
@@
protected:
algo_state _algoState;
compute_state _computeState;
SMESH_ComputeErrorPtr _computeError;
algo_state _algoState;
compute_state _computeState;
SMESH_ComputeErrorPtr _computeError;
+ int _computeCost; // how costly is to compute this sub-mesh
+ int _realComputeCost; // _computeCost depending on presence of needed hypotheses
// allow algo->Compute() if a sub-shape of lower dim is meshed but
// none mesh entity is bound to it. Eg StdMeshers_CompositeSegment_1D can
// allow algo->Compute() if a sub-shape of lower dim is meshed but
// none mesh entity is bound to it. Eg StdMeshers_CompositeSegment_1D can