Version: 9.16.0
SMESHDS_Group.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// SMESH SMESHDS : management of mesh data and SMESH document
24// File : SMESHDS_Group.hxx
25// Module : SMESH
26// $Header$
27//
28#ifndef _SMESHDS_Group_HeaderFile
29#define _SMESHDS_Group_HeaderFile
30
31#include "SMESH_SMESHDS.hxx"
32
33#include <string>
34#include "SMESHDS_GroupBase.hxx"
35#include "SMDS_MeshGroup.hxx"
36
37class SMESHDS_Mesh;
38
40{
41 public:
42
43 SMESHDS_Group (const int theID,
44 const SMESHDS_Mesh* theMesh,
45 const SMDSAbs_ElementType theType);
46
47 virtual void SetType(SMDSAbs_ElementType theType);
48
49 virtual smIdType Extent() const;
50
51 virtual bool IsEmpty();
52
53 virtual bool Contains (const smIdType theID);
54
55 virtual bool Contains (const SMDS_MeshElement* elem);
56
57 virtual SMDS_ElemIteratorPtr GetElements() const;
58
59 virtual int GetTic() const;
60
61 bool Add (const smIdType theID);
62
63 bool Add (const SMDS_MeshElement* theElem );
64
65 bool Remove (const smIdType theID);
66
67 void Clear();
68
69 SMDS_MeshGroup& SMDSGroup() { return myGroup; }
70
71 private:
72
74
75};
76
77#endif
SMDSAbs_ElementType
Type (node, edge, face or volume) of elements.
Definition: SMDSAbs_ElementType.hxx:34
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshElement * > > SMDS_ElemIteratorPtr
Definition: SMDS_ElemIterator.hxx:43
#define SMESHDS_EXPORT
Definition: SMESH_SMESHDS.hxx:37
Base class for elements.
Definition: SMDS_MeshElement.hxx:56
Definition: SMDS_MeshGroup.hxx:37
Definition: SMESHDS_GroupBase.hxx:42
virtual void SetType(SMDSAbs_ElementType theType)
Definition: SMESHDS_GroupBase.cxx:166
virtual SMDS_ElemIteratorPtr GetElements() const =0
virtual int GetTic() const =0
virtual bool Contains(const smIdType theID)
Definition: SMESHDS_GroupBase.cxx:139
virtual smIdType Extent() const
Definition: SMESHDS_GroupBase.cxx:110
virtual bool IsEmpty()
Definition: SMESHDS_GroupBase.cxx:125
Definition: SMESHDS_Group.hxx:40
SMDS_MeshGroup & SMDSGroup()
Definition: SMESHDS_Group.hxx:69
SMDS_MeshGroup myGroup
Definition: SMESHDS_Group.hxx:73
Definition: SMESHDS_Mesh.hxx:98
ENUM Add(ENUM v, int delta)
Return incremented enum value.
Definition: SMESH_TypeDefs.hxx:140