Version: 8.3.0
Main Page
Related Pages
Packages
Data Structures
Files
File List
Globals
SMESHDS_GroupBase.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 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, 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_GroupBase_HeaderFile
29
#define _SMESHDS_GroupBase_HeaderFile
30
31
#include "
SMESH_SMESHDS.hxx
"
32
33
#include <string>
34
#include "
SMDSAbs_ElementType.hxx
"
35
#include "
SMDS_MeshElement.hxx
"
36
37
#include <Quantity_Color.hxx>
38
39
class
SMESHDS_Mesh
;
40
41
class
SMESHDS_EXPORT
SMESHDS_GroupBase
42
{
43
public
:
44
45
SMESHDS_GroupBase
(
const
int
theID,
46
const
SMESHDS_Mesh
* theMesh,
47
const
SMDSAbs_ElementType
theType);
48
49
int
GetID
()
const
{
return
myID; }
50
51
const
SMESHDS_Mesh
*
GetMesh
()
const
{
return
myMesh; }
52
53
virtual
void
SetType(
SMDSAbs_ElementType
theType);
54
55
SMDSAbs_ElementType
GetType
()
const
{
return
myType; }
56
57
void
SetStoreName
(
const
char
* theName) { myStoreName = theName; }
58
59
const
char
*
GetStoreName
()
const
{
return
myStoreName.c_str(); }
60
61
virtual
int
Extent()
const
;
62
63
virtual
bool
IsEmpty();
64
65
virtual
bool
Contains (
const
int
theID);
66
67
virtual
bool
Contains (
const
SMDS_MeshElement
* elem);
68
69
virtual
SMDS_ElemIteratorPtr
GetElements()
const
= 0;
70
71
virtual
int
GetID (
const
int
theIndex);
72
// use it for iterations 1..Extent()
73
74
virtual
int
GetTic()
const
= 0;
75
76
virtual
~SMESHDS_GroupBase
() {}
77
78
void
SetColor (
const
Quantity_Color& theColor)
79
{ myColor = theColor;}
80
81
Quantity_Color
GetColor
()
const
82
{
return
myColor;}
83
84
void
SetColorGroup (
int
theColorGroup);
85
86
int
GetColorGroup()
const
;
87
88
static
void
SetDefaultColor (
const
Quantity_Color& theColor)
89
{ myDefaultColor = theColor;}
90
91
protected
:
92
const
SMDS_MeshElement
* findInMesh (
const
int
theID)
const
;
93
void
resetIterator();
94
95
private
:
96
SMESHDS_GroupBase
(
const
SMESHDS_GroupBase
& theOther);
97
// prohibited copy constructor
98
SMESHDS_GroupBase
& operator = (
const
SMESHDS_GroupBase
& theOther);
99
// prohibited assign operator
100
101
int
myID
;
102
const
SMESHDS_Mesh
*
myMesh
;
103
SMDSAbs_ElementType
myType
;
104
std::string
myStoreName
;
105
Quantity_Color
myColor
;
106
107
// for GetID()
108
int
myCurIndex
;
109
int
myCurID
;
110
SMDS_ElemIteratorPtr
myIterator
;
111
112
static
Quantity_Color
myDefaultColor
;
113
};
114
115
#endif
src
SMESHDS
SMESHDS_GroupBase.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS