SALOME - SMESH
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
StdMeshers_ProjectionSource1D.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 : idl implementation based on 'SMESH' unit's calsses
23
// File : StdMeshers_ProjectionSource1D.hxx
24
// Author : Edward AGAPOV
25
// Module : SMESH
26
//
27
#ifndef _SMESH_ProjectionSource1D_HXX_
28
#define _SMESH_ProjectionSource1D_HXX_
29
30
#include "
SMESH_StdMeshers.hxx
"
31
32
#include "
SMESH_Hypothesis.hxx
"
33
#include "
Utils_SALOME_Exception.hxx
"
34
35
#include <TopoDS_Vertex.hxx>
36
37
class
SMESH_Gen
;
38
39
// =========================================================
45
// =========================================================
46
47
class
STDMESHERS_EXPORT
StdMeshers_ProjectionSource1D
:
public
SMESH_Hypothesis
48
{
49
public
:
50
// Constructor
51
StdMeshers_ProjectionSource1D
(
int
hypId,
int
studyId,
SMESH_Gen
* gen );
52
// Destructor
53
virtual
~
StdMeshers_ProjectionSource1D
();
54
58
void
SetSourceEdge(
const
TopoDS_Shape
& edge)
59
throw
(
SALOME_Exception
);
60
64
TopoDS_Shape
GetSourceEdge
()
const
{
return
_sourceEdge; }
65
69
bool
IsCompoundSource()
const
70
{
return
!_sourceEdge.IsNull() && _sourceEdge.ShapeType() == TopAbs_COMPOUND; }
71
75
void
SetSourceMesh(
SMESH_Mesh
* mesh);
76
80
SMESH_Mesh
*
GetSourceMesh
()
const
{
return
_sourceMesh; }
81
86
void
SetVertexAssociation(
const
TopoDS_Shape
& sourceVertex,
87
const
TopoDS_Shape
& targetVertex)
88
throw
(
SALOME_Exception
);
89
94
TopoDS_Vertex
GetSourceVertex
()
const
{
return
_sourceVertex; }
95
100
TopoDS_Vertex
GetTargetVertex
()
const
{
return
_targetVertex; }
101
106
bool
HasVertexAssociation()
const
107
{
return
( !_sourceVertex.IsNull() && !_targetVertex.IsNull() ); }
108
112
void
GetStoreParams(
TopoDS_Shape
& s1,
113
TopoDS_Shape
& s2,
114
TopoDS_Shape
& s3)
const
;
115
119
void
RestoreParams(
const
TopoDS_Shape
& s1,
120
const
TopoDS_Shape
& s2,
121
const
TopoDS_Shape
& s3,
122
SMESH_Mesh
* mesh);
123
124
virtual
std::ostream &
SaveTo
(std::ostream & save);
125
virtual
std::istream &
LoadFrom
(std::istream & load);
126
friend
std::ostream & operator <<(std::ostream & save,
StdMeshers_ProjectionSource1D
& hyp);
127
friend
std::istream & operator >>(std::istream & load,
StdMeshers_ProjectionSource1D
& hyp);
128
137
virtual
bool
SetParametersByMesh
(
const
SMESH_Mesh
* theMesh,
const
TopoDS_Shape
& theShape);
138
143
virtual
bool
SetParametersByDefaults
(
const
TDefaults& dflts,
const
SMESH_Mesh
* theMesh=0);
144
145
protected
:
146
147
TopoDS_Shape
_sourceEdge
;
148
SMESH_Mesh
*
_sourceMesh
;
149
TopoDS_Vertex
_sourceVertex
;
150
TopoDS_Vertex
_targetVertex
;
151
};
152
153
#endif
inc
StdMeshers_ProjectionSource1D.hxx
Generated by
1.8.3.1