X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Group_i.hxx;h=8d190427f5a1619a6f73597e2bb1c9180356176f;hp=ad4522a0a92873c240c856586af6b43aca841b47;hb=b2eb2c3cef7c6fffbcc17e027be5e4d0357a935a;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce diff --git a/src/SMESH_I/SMESH_Group_i.hxx b/src/SMESH_I/SMESH_Group_i.hxx index ad4522a0a..8d190427f 100644 --- a/src/SMESH_I/SMESH_Group_i.hxx +++ b/src/SMESH_I/SMESH_Group_i.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -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 -// 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 @@ -48,7 +48,8 @@ class SMESH_PreMeshInfo; // =========== 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, @@ -72,15 +73,19 @@ class SMESH_I_EXPORT SMESH_GroupBase_i: virtual SMESH::SMESH_Mesh_ptr GetMesh(); /*! - * Returns statistic of mesh elements - * Result array of number enityties + * Returns number of mesh elements of each \a EntityType + * Result array of number of elements per \a EntityType * Inherited from SMESH_IDSource */ virtual SMESH::long_array* GetMeshInfo(); - - // Inherited from SMESH_IDSource interface + /*! + * Returns number of mesh elements of each \a ElementType + */ + virtual SMESH::long_array* GetNbElementsByType(); + /*! + * Returns a sequence of all element IDs + */ virtual SMESH::long_array* GetIDs(); - /*! * Returns types of elements it contains * Inherited from SMESH_IDSource interface @@ -91,6 +96,17 @@ class SMESH_I_EXPORT SMESH_GroupBase_i: * happen if mesh data is not yet fully loaded from the file of study. */ virtual bool IsMeshInfoCorrect(); + /*! + * Returns mesh unstructed grid information. + */ + 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; } @@ -165,8 +181,7 @@ class SMESH_I_EXPORT SMESH_GroupOnGeom_i: 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, @@ -181,13 +196,13 @@ class SMESH_I_EXPORT SMESH_GroupOnFilter_i: 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(); virtual SMESH::long_array* GetListOfID(); virtual SMESH::long_array* GetMeshInfo(); - // 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;