Salome HOME
NRI : Add KERNEL includes and libs.
[modules/smesh.git] / src / SMESH / SMESH_NumberOfSegments.cxx
1 using namespace std;
2 //=============================================================================
3 // File      : SMESH_NumberOfSegments.cxx
4 // Created   : sam mai 18 08:11:15 CEST 2002
5 // Author    : Paul RASCLE, EDF
6 // Project   : SALOME
7 // Copyright : EDF 2002
8 // $Header$
9 //=============================================================================
10 using namespace std;
11
12 #include "SMESH_NumberOfSegments.hxx"
13
14 //=============================================================================
15 /*!
16  *  
17  */
18 //=============================================================================
19
20 SMESH_NumberOfSegments::SMESH_NumberOfSegments(int hypId, int studyId, SMESH_Gen* gen)
21  : SMESH_Hypothesis(hypId, studyId, gen)
22 {
23   _numberOfSegments = 1;
24   _name = "NumberOfSegments";
25 }
26
27 //=============================================================================
28 /*!
29  *  
30  */
31 //=============================================================================
32
33 SMESH_NumberOfSegments::~SMESH_NumberOfSegments()
34 {
35 }
36
37 //=============================================================================
38 /*!
39  *  
40  */
41 //=============================================================================
42
43 void SMESH_NumberOfSegments::SetNumberOfSegments(int segmentsNumber)
44   throw (SALOME_Exception)
45 {
46   int oldNumberOfSegments = _numberOfSegments;
47   if (segmentsNumber <= 0) 
48     throw SALOME_Exception(LOCALIZED("number of segments must be positive"));
49   _numberOfSegments = segmentsNumber;
50
51   if (oldNumberOfSegments != _numberOfSegments)
52     NotifySubMeshesHypothesisModification();
53 }
54
55 //=============================================================================
56 /*!
57  *  
58  */
59 //=============================================================================
60
61 int SMESH_NumberOfSegments::GetNumberOfSegments()
62 {
63   return _numberOfSegments;
64 }
65
66 //=============================================================================
67 /*!
68  *  
69  */
70 //=============================================================================
71
72 ostream & SMESH_NumberOfSegments::SaveTo(ostream & save)
73 {
74   return save << this;
75 }
76
77 //=============================================================================
78 /*!
79  *  
80  */
81 //=============================================================================
82
83 istream & SMESH_NumberOfSegments::LoadFrom(istream & load)
84 {
85   return load >> (*this);
86 }
87
88 //=============================================================================
89 /*!
90  *  
91  */
92 //=============================================================================
93
94 ostream& operator << (ostream & save, SMESH_NumberOfSegments & hyp)
95 {
96   save << hyp._numberOfSegments;
97   return save;
98 }
99
100 //=============================================================================
101 /*!
102  *  
103  */
104 //=============================================================================
105
106 istream& operator >> (istream & load, SMESH_NumberOfSegments & hyp)
107 {
108   bool isOK = true;
109   int a;
110   isOK = (load >> a);
111   if (isOK) hyp._numberOfSegments = a;
112   else load.clear(ios::badbit | load.rdstate());
113   return load;
114 }
115