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
Merge branch 'V9_9_BR'
[modules/smesh.git]
/
src
/
SMESH
/
SMESH_subMesh.hxx
diff --git
a/src/SMESH/SMESH_subMesh.hxx
b/src/SMESH/SMESH_subMesh.hxx
index 05890e8cef1ac776e7bab1caee33890127abb1ef..fdfe1525728b66544cbe78422230952f07c907c9 100644
(file)
--- a/
src/SMESH/SMESH_subMesh.hxx
+++ b/
src/SMESH/SMESH_subMesh.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
16
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
22
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
@@
-36,6
+36,7
@@
#include "Utils_SALOME_Exception.hxx"
#include <TopoDS_Shape.hxx>
#include "Utils_SALOME_Exception.hxx"
#include <TopoDS_Shape.hxx>
+#include <TopTools_IndexedMapOfShape.hxx>
#include <list>
#include <map>
#include <list>
#include <map>
@@
-48,7
+49,7
@@
class SMESH_Hypothesis;
class SMESH_Mesh;
class SMESH_subMesh;
class SMESH_subMeshEventListener;
class SMESH_Mesh;
class SMESH_subMesh;
class SMESH_subMeshEventListener;
-
class
SMESH_subMeshEventListenerData;
+
struct
SMESH_subMeshEventListenerData;
typedef SMESH_subMeshEventListener EventListener;
typedef SMESH_subMeshEventListenerData EventListenerData;
typedef SMESH_subMeshEventListener EventListener;
typedef SMESH_subMeshEventListenerData EventListenerData;
@@
-112,7
+113,7
@@
class SMESH_EXPORT SMESH_subMesh
};
enum compute_event
{
};
enum compute_event
{
- MODIF_ALGO_STATE, COMPUTE, COMPUTE_SUBMESH, COMPUTE_CANCELED,
+ MODIF_ALGO_STATE, COMPUTE, COMPUTE_SUBMESH, COMPUTE_
NOGEOM, 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
};
@@
-126,7
+127,7
@@
class SMESH_EXPORT SMESH_subMesh
// ==================================================================
/*!
// ==================================================================
/*!
- * \brief Set
s
an event listener and its data to a submesh
+ * \brief Set an event listener and its data to a submesh
* \param listener - the listener to store
* \param data - the listener data to store
* \param where - the submesh to store the listener and it's data
* \param listener - the listener to store
* \param data - the listener data to store
* \param where - the submesh to store the listener and it's data
@@
-190,7
+191,7
@@
protected:
void setEventListener(EventListener* listener, EventListenerData* data);
/*!
void setEventListener(EventListener* listener, EventListenerData* data);
/*!
- * \brief Notify stored event listeners on the occured event
+ * \brief Notify stored event listeners on the occur
r
ed event
* \param event - algo_event or compute_event itself
* \param eventType - algo_event or compute_event
* \param hyp - hypothesis, if eventType is algo_event
* \param event - algo_event or compute_event itself
* \param eventType - algo_event or compute_event
* \param hyp - hypothesis, if eventType is algo_event
@@
-236,17
+237,16
@@
public:
bool CanAddHypothesis(const SMESH_Hypothesis* theHypothesis) const;
// return true if theHypothesis can be attached to me:
bool CanAddHypothesis(const SMESH_Hypothesis* theHypothesis) const;
// return true if theHypothesis can be attached to me:
- // its dimen
t
ion is checked
+ // its dimen
s
ion is checked
- static bool IsApplicableHypotesis(const SMESH_Hypothesis* theHypothesis,
+ static bool IsApplicableHypot
h
esis(const SMESH_Hypothesis* theHypothesis,
const TopAbs_ShapeEnum theShapeType);
const TopAbs_ShapeEnum theShapeType);
- bool IsApplicableHypotesis(const SMESH_Hypothesis* theHypothesis) const
- { return IsApplicableHypotesis( theHypothesis, _subShape.ShapeType() ); }
+ bool IsApplicableHypothesis(const SMESH_Hypothesis* theHypothesis) const;
// return true if theHypothesis can be used to mesh me:
// its shape type is checked
// return true if theHypothesis can be used to mesh me:
// its shape type is checked
- SMESH_Hypothesis::Hypothesis_Status CheckConcurentHypothesis (const int theHypType);
+ SMESH_Hypothesis::Hypothesis_Status CheckConcur
r
entHypothesis (const int theHypType);
// check if there are several applicable hypothesis on fathers
/*!
// check if there are several applicable hypothesis on fathers
/*!
@@
-257,12
+257,21
@@
public:
bool IsMeshComputed() const;
// check if _subMeshDS contains mesh elements unless _alwaysComputed==true
bool IsMeshComputed() const;
// check if _subMeshDS contains mesh elements unless _alwaysComputed==true
+ bool IsComputedPartially() const;
+ // check if any upper level sub-shape is not computed
+
+ /*!
+ * \brief Set sub-shapes that are allowed to compute at once by a multidimensional algo
+ */
+ void SetAllowedSubShapes( const TopTools_IndexedMapOfShape* subShapes )
+ { _allowedSubShapes = subShapes; }
+
/*!
* \brief Allow algo->Compute() if a subshape of lower dim is meshed but
* none mesh entity is bound to it
*/
void SetIsAlwaysComputed(bool isAlCo);
/*!
* \brief Allow algo->Compute() if a subshape of lower dim is meshed but
* none mesh entity is bound to it
*/
void SetIsAlwaysComputed(bool isAlCo);
- bool IsAlwaysComputed() { return _alwaysComputed; }
+ bool IsAlwaysComputed()
const
{ return _alwaysComputed; }
bool SubMeshesComputed(bool * isFailedToCompute=0) const;
bool SubMeshesComputed(bool * isFailedToCompute=0) const;
@@
-333,6
+342,7
@@
protected:
std::vector< SMESH_subMesh * > _ancestors;
SMESH_Algo * _algo; // the algorithm found by last *StateEngine() call
std::vector< SMESH_subMesh * > _ancestors;
SMESH_Algo * _algo; // the algorithm found by last *StateEngine() call
+ TopoDS_Shape _algoShape; // shape the algorithm is assigned to
algo_state _algoState;
compute_state _computeState;
SMESH_ComputeErrorPtr _computeError;
algo_state _algoState;
compute_state _computeState;
SMESH_ComputeErrorPtr _computeError;
@@
-344,6
+354,8
@@
protected:
// mesh several edges as a whole and leave some of them without mesh entities
bool _alwaysComputed;
// mesh several edges as a whole and leave some of them without mesh entities
bool _alwaysComputed;
+ const TopTools_IndexedMapOfShape* _allowedSubShapes; // allowed to be returned by getCollection()
+
};
#endif
};
#endif