SALOME - SMESH
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
SMESHDS_GroupBase.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, 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.
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
// SMESH SMESHDS : management of mesh data and SMESH document
23
// File : SMESHDS_Group.hxx
24
// Module : SMESH
25
// $Header$
26
//
27
#ifndef _SMESHDS_GroupBase_HeaderFile
28
#define _SMESHDS_GroupBase_HeaderFile
29
30
#include "
SMESH_SMESHDS.hxx
"
31
32
#include <string>
33
#include "
SMDSAbs_ElementType.hxx
"
34
#include "
SMDS_MeshElement.hxx
"
35
36
#include <Quantity_Color.hxx>
37
38
class
SMESHDS_Mesh
;
39
40
class
SMESHDS_EXPORT
SMESHDS_GroupBase
41
{
42
public
:
43
44
SMESHDS_GroupBase
(
const
int
theID,
45
const
SMESHDS_Mesh
* theMesh,
46
const
SMDSAbs_ElementType
theType);
47
48
int
GetID
()
const
{
return
myID; }
49
50
const
SMESHDS_Mesh
*
GetMesh
()
const
{
return
myMesh; }
51
52
virtual
void
SetType(
SMDSAbs_ElementType
theType);
53
54
SMDSAbs_ElementType
GetType
()
const
{
return
myType; }
55
56
void
SetStoreName
(
const
char
* theName) { myStoreName = theName; }
57
58
const
char
*
GetStoreName
()
const
{
return
myStoreName.c_str(); }
59
60
virtual
int
Extent();
61
62
virtual
bool
IsEmpty();
63
64
virtual
bool
Contains (
const
int
theID);
65
66
virtual
bool
Contains (
const
SMDS_MeshElement
* elem);
67
68
virtual
SMDS_ElemIteratorPtr
GetElements() = 0;
69
70
int
GetID (
const
int
theIndex);
71
// use it for iterations 1..Extent()
72
73
virtual
~SMESHDS_GroupBase
() {}
74
75
void
SetColor (
const
Quantity_Color& theColor)
76
{ myColor = theColor;}
77
78
Quantity_Color GetColor()
const
79
{
return
myColor;}
80
81
void
SetColorGroup (
int
theColorGroup);
82
83
int
GetColorGroup()
const
;
84
85
protected
:
86
const
SMDS_MeshElement
* findInMesh (
const
int
theID)
const
;
87
void
resetIterator();
88
89
private
:
90
SMESHDS_GroupBase
(
const
SMESHDS_GroupBase
& theOther);
91
// prohibited copy constructor
92
SMESHDS_GroupBase
& operator = (
const
SMESHDS_GroupBase
& theOther);
93
// prohibited assign operator
94
95
int
myID
;
96
const
SMESHDS_Mesh
*
myMesh
;
97
SMDSAbs_ElementType
myType
;
98
std::string
myStoreName
;
99
// for GetID()
100
int
myCurIndex
;
101
int
myCurID
;
102
SMDS_ElemIteratorPtr
myIterator
;
103
Quantity_Color
myColor
;
104
};
105
106
#endif
inc
SMESHDS_GroupBase.hxx
Generated by
1.8.3.1