Salome HOME
bos #24400 [CEA] Option in SALOME for not storing in med files the indices (number...
[modules/smesh.git] / src / SMESH_I / SMESH_Group_i.hxx
index e3e8de5761498e21b87c3976e20a9cd841875128..a0f54c3b50898eea15bcdc86a6335691531c2e38 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  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
@@ -61,13 +61,13 @@ class SMESH_I_EXPORT SMESH_GroupBase_i:
   void SetName(const char* name);
   char* GetName();
   SMESH::ElementType GetType();
-  CORBA::Long Size();
+  SMESH::smIdType Size();
   CORBA::Boolean IsEmpty();
-  CORBA::Boolean Contains(CORBA::Long elem_id);
-  CORBA::Long GetID(CORBA::Long elem_index);
-  SMESH::long_array* GetListOfID();
-  SMESH::long_array* GetNodeIDs();
-  CORBA::Long GetNumberOfNodes();
+  CORBA::Boolean Contains(SMESH::smIdType elem_id);
+  SMESH::smIdType GetID(SMESH::smIdType elem_index);
+  SMESH::smIdType_array* GetListOfID();
+  SMESH::smIdType_array* GetNodeIDs();
+  SMESH::smIdType GetNumberOfNodes();
   CORBA::Boolean IsNodeInfoAvailable(); // for gui
 
   virtual SMESH::SMESH_Mesh_ptr GetMesh();
@@ -77,15 +77,15 @@ class SMESH_I_EXPORT SMESH_GroupBase_i:
    * Result array of number of elements per \a EntityType
    * Inherited from SMESH_IDSource
    */
-  virtual SMESH::long_array* GetMeshInfo();
+  virtual SMESH::smIdType_array* GetMeshInfo();
   /*!
    * Returns number of mesh elements of each \a ElementType
    */
-  virtual SMESH::long_array* GetNbElementsByType();
+  virtual SMESH::smIdType_array* GetNbElementsByType();
   /*!
    * Returns a sequence of all element IDs
    */
-  virtual SMESH::long_array* GetIDs();
+  virtual SMESH::smIdType_array* GetIDs();
   /*!
    * Returns types of elements it contains
    * Inherited from SMESH_IDSource interface
@@ -109,7 +109,7 @@ class SMESH_I_EXPORT SMESH_GroupBase_i:
 
 
   // Internal C++ interface
-  int GetLocalID() const { return myLocalID; }
+  int GetLocalID() const { return myLocalID; } // return group persistent ID
   SMESH_Mesh_i* GetMeshServant() const { return myMeshServant; }
   SMESH_Group* GetSmeshGroup() const;
   SMESHDS_GroupBase* GetGroupDS() const;
@@ -150,13 +150,13 @@ class SMESH_I_EXPORT SMESH_Group_i:
                  const int               theLocalID );
   // CORBA interface implementation
   void Clear();
-  CORBA::Long Add( const SMESH::long_array& theIDs );
-  CORBA::Long Remove( const SMESH::long_array& theIDs );
+  SMESH::smIdType Add( const SMESH::smIdType_array& theIDs );
+  SMESH::smIdType Remove( const SMESH::smIdType_array& theIDs );
 
-  CORBA::Long AddByPredicate( SMESH::Predicate_ptr thePredicate );
-  CORBA::Long RemoveByPredicate( SMESH::Predicate_ptr thePredicate );
+  SMESH::smIdType AddByPredicate( SMESH::Predicate_ptr thePredicate );
+  SMESH::smIdType RemoveByPredicate( SMESH::Predicate_ptr thePredicate );
 
-  CORBA::Long AddFrom( SMESH::SMESH_IDSource_ptr theSource );
+  SMESH::smIdType AddFrom( SMESH::SMESH_IDSource_ptr theSource );
 };
 
 // =========================
@@ -196,10 +196,14 @@ class SMESH_I_EXPORT SMESH_GroupOnFilter_i:
   static SMESH_PredicatePtr GetPredicate( SMESH::Filter_ptr );
 
   // CORBA interface implementation
-  void SetFilter(SMESH::Filter_ptr theFilter) throw (SALOME::SALOME_Exception);
+  void SetFilter(SMESH::Filter_ptr theFilter);
   SMESH::Filter_ptr GetFilter();
-  virtual SMESH::long_array* GetListOfID();
-  virtual SMESH::long_array* GetMeshInfo();
+  virtual CORBA::Boolean IsUpToDate();
+  virtual SMESH::smIdType_array* GetListOfID();
+  virtual SMESH::smIdType_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::NotifyerAndWaiter to update self when myFilter changes
   virtual void OnBaseObjModified(NotifyerAndWaiter* filter, bool);