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
#19765 EDF 21730 - long time to load med file file with huge amount of groups
[modules/smesh.git]
/
src
/
SMESH_I
/
SMESH_Group_i.hxx
diff --git
a/src/SMESH_I/SMESH_Group_i.hxx
b/src/SMESH_I/SMESH_Group_i.hxx
index 5278ed889f580d82b749bcd20cedcb8b4c92c46a..42e91ca81e242e4fada36e103e038cd95219bc21 100644
(file)
--- a/
src/SMESH_I/SMESH_Group_i.hxx
+++ b/
src/SMESH_I/SMESH_Group_i.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
14
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
20
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
@@
-48,7
+48,8
@@
class SMESH_PreMeshInfo;
// ===========
class SMESH_I_EXPORT SMESH_GroupBase_i:
public virtual POA_SMESH::SMESH_GroupBase,
// ===========
class SMESH_I_EXPORT SMESH_GroupBase_i:
public virtual POA_SMESH::SMESH_GroupBase,
- public virtual SALOME::GenericObj_i
+ public virtual SALOME::GenericObj_i,
+ public SMESH::NotifyerAndWaiter // defined in SMESH_Filter_i.hxx
{
public:
SMESH_GroupBase_i(PortableServer::POA_ptr thePOA,
{
public:
SMESH_GroupBase_i(PortableServer::POA_ptr thePOA,
@@
-100,6
+101,13
@@
class SMESH_I_EXPORT SMESH_GroupBase_i:
*/
virtual SALOMEDS::TMPFile* GetVtkUgStream();
*/
virtual SALOMEDS::TMPFile* GetVtkUgStream();
+ /*!
+ * Returns \c true if \c this group depends on the \a other via
+ * FT_BelongToMeshGroup predicate or vice versa
+ */
+ virtual CORBA::Boolean IsInDependency( SMESH::SMESH_GroupBase_ptr other );
+
+
// Internal C++ interface
int GetLocalID() const { return myLocalID; }
SMESH_Mesh_i* GetMeshServant() const { return myMeshServant; }
// Internal C++ interface
int GetLocalID() const { return myLocalID; }
SMESH_Mesh_i* GetMeshServant() const { return myMeshServant; }
@@
-168,13
+176,12
@@
class SMESH_I_EXPORT SMESH_GroupOnGeom_i:
};
// =========================
};
// =========================
-// Group de
in
ed by filter
+// Group de
ni
ed by filter
// =========================
class SMESH_I_EXPORT SMESH_GroupOnFilter_i:
public virtual POA_SMESH::SMESH_GroupOnFilter,
// =========================
class SMESH_I_EXPORT SMESH_GroupOnFilter_i:
public virtual POA_SMESH::SMESH_GroupOnFilter,
- public SMESH_GroupBase_i,
- public SMESH::Filter_i::TPredicateChangeWaiter
+ public SMESH_GroupBase_i
{
public:
SMESH_GroupOnFilter_i( PortableServer::POA_ptr thePOA,
{
public:
SMESH_GroupOnFilter_i( PortableServer::POA_ptr thePOA,
@@
-189,13
+196,17
@@
class SMESH_I_EXPORT SMESH_GroupOnFilter_i:
static SMESH_PredicatePtr GetPredicate( SMESH::Filter_ptr );
// CORBA interface implementation
static SMESH_PredicatePtr GetPredicate( SMESH::Filter_ptr );
// CORBA interface implementation
- void SetFilter(SMESH::Filter_ptr theFilter);
+ void SetFilter(SMESH::Filter_ptr theFilter)
throw (SALOME::SALOME_Exception)
;
SMESH::Filter_ptr GetFilter();
SMESH::Filter_ptr GetFilter();
+ virtual CORBA::Boolean IsUpToDate();
virtual SMESH::long_array* GetListOfID();
virtual SMESH::long_array* GetMeshInfo();
virtual SMESH::long_array* GetListOfID();
virtual SMESH::long_array* GetMeshInfo();
+ //! @return false in two cases: 1) if mesh not loaded and GetMeshInfo() returns
+ //! incorrect information 2) mesh loaded but group contents is not computed.
+ virtual bool IsMeshInfoCorrect();
- // method of SMESH::
Filter_i::TPredicateChangeWaiter
- virtual void
PredicateChanged(
);
+ // method of SMESH::
NotifyerAndWaiter to update self when myFilter changes
+ virtual void
OnBaseObjModified(NotifyerAndWaiter* filter, bool
);
private:
SMESH::Filter_var myFilter;
private:
SMESH::Filter_var myFilter;