SALOME - SMESH
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
StdMeshers_Regular_1D.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 SMESH : implementaion of SMESH idl descriptions
23
// File : StdMeshers_Regular_1D.hxx
24
// Moved here from SMESH_Regular_1D.hxx
25
// Author : Paul RASCLE, EDF
26
// Module : SMESH
27
28
#ifndef _SMESH_REGULAR_1D_HXX_
29
#define _SMESH_REGULAR_1D_HXX_
30
31
#include "
SMESH_StdMeshers.hxx
"
32
33
#include "
SMESH_1D_Algo.hxx
"
34
35
#include "
StdMeshers_FixedPoints1D.hxx
"
36
37
class
Adaptor3d_Curve
;
38
class
TopoDS_Vertex;
39
class
StdMeshers_SegmentLengthAroundVertex
;
40
41
class
STDMESHERS_EXPORT
StdMeshers_Regular_1D
:
public
SMESH_1D_Algo
42
{
43
public
:
44
StdMeshers_Regular_1D
(
int
hypId,
int
studyId,
SMESH_Gen
* gen);
45
virtual
~
StdMeshers_Regular_1D
();
46
47
virtual
bool
CheckHypothesis
(
SMESH_Mesh
& aMesh,
48
const
TopoDS_Shape
& aShape,
49
SMESH_Hypothesis::Hypothesis_Status
& aStatus);
50
51
virtual
bool
Compute
(
SMESH_Mesh
& aMesh,
52
const
TopoDS_Shape
& aShape);
53
54
virtual
bool
Evaluate
(
SMESH_Mesh
& aMesh,
const
TopoDS_Shape
& aShape,
55
MapShapeNbElems
& aResMap);
56
57
virtual
const
std::list <const SMESHDS_Hypothesis *> &
58
GetUsedHypothesis
(
SMESH_Mesh
& aMesh,
const
TopoDS_Shape
& aShape,
const
bool
=
true
);
59
67
virtual
void
SetEventListener
(
SMESH_subMesh
* subMesh);
68
75
void
SubmeshRestored
(
SMESH_subMesh
* subMesh);
76
77
protected
:
78
79
virtual
bool
computeInternalParameters (
SMESH_Mesh
& theMesh,
80
Adaptor3d_Curve
& theC3d,
81
double
theLength,
82
double
theFirstU,
83
double
theLastU,
84
std::list<double> & theParameters,
85
const
bool
theReverse,
86
bool
theConsiderPropagation =
false
);
87
88
virtual
void
redistributeNearVertices (
SMESH_Mesh
& theMesh,
89
Adaptor3d_Curve
& theC3d,
90
double
theLength,
91
std::list< double > & theParameters,
92
const
TopoDS_Vertex & theVf,
93
const
TopoDS_Vertex & theVl);
94
98
static
const
99
StdMeshers_SegmentLengthAroundVertex
* getVertexHyp(
SMESH_Mesh
& theMesh,
100
const
TopoDS_Vertex & theV);
101
102
enum
HypothesisType
{ LOCAL_LENGTH, MAX_LENGTH, NB_SEGMENTS, BEG_END_LENGTH, DEFLECTION, ARITHMETIC_1D, FIXED_POINTS_1D, NONE };
103
104
enum
ValueIndex
{
105
SCALE_FACTOR_IND = 0,
106
BEG_LENGTH_IND = 0,
107
END_LENGTH_IND = 1,
108
DEFLECTION_IND = 0,
109
PRECISION_IND = 1
110
};
111
112
enum
IValueIndex
{
113
NB_SEGMENTS_IND = 0,
114
DISTR_TYPE_IND = 1,
115
CONV_MODE_IND = 2
116
};
117
118
enum
VValueIndex
{
119
TAB_FUNC_IND = 0
120
};
121
122
enum
SValueIndex
{
123
EXPR_FUNC_IND = 0
124
};
125
126
HypothesisType
_hypType
;
127
128
const
StdMeshers_FixedPoints1D
*
_fpHyp
;
129
130
double
_value[2];
131
int
_ivalue[3];
132
std::vector<double> _vvalue[1];
133
std::string _svalue[1];
134
std::vector<int>
_revEdgesIDs
;
135
136
// a source of propagated hypothesis, is set by CheckHypothesis()
137
// always called before Compute()
138
TopoDS_Shape
_mainEdge
;
139
};
140
141
#endif
inc
StdMeshers_Regular_1D.hxx
Generated by
1.8.1.2