SALOME - SMESH
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
SMDS_QuadraticVolumeOfNodes.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 SMDS : implementaion of Salome mesh data structure
23
// File : SMDS_QuadraticVolumeOfNodes.hxx
24
// Module : SMESH
25
//
26
#ifndef _SMDS_QuadraticVolumeOfNodes_HeaderFile
27
#define _SMDS_QuadraticVolumeOfNodes_HeaderFile
28
29
#include "
SMESH_SMDS.hxx
"
30
31
#include "
SMDS_MeshVolume.hxx
"
32
33
class
SMDS_EXPORT
SMDS_QuadraticVolumeOfNodes
:
public
SMDS_MeshVolume
34
{
35
public
:
36
// tetrahedron of 10 nodes
37
SMDS_QuadraticVolumeOfNodes
(
const
SMDS_MeshNode
* n1,
38
const
SMDS_MeshNode
* n2,
39
const
SMDS_MeshNode
* n3,
40
const
SMDS_MeshNode
* n4,
41
const
SMDS_MeshNode
* n12,
42
const
SMDS_MeshNode
* n23,
43
const
SMDS_MeshNode
* n31,
44
const
SMDS_MeshNode
* n14,
45
const
SMDS_MeshNode
* n24,
46
const
SMDS_MeshNode
* n34);
47
48
// pyramid of 13 nodes
49
SMDS_QuadraticVolumeOfNodes
(
const
SMDS_MeshNode
* n1,
50
const
SMDS_MeshNode
* n2,
51
const
SMDS_MeshNode
* n3,
52
const
SMDS_MeshNode
* n4,
53
const
SMDS_MeshNode
* n5,
54
const
SMDS_MeshNode
* n12,
55
const
SMDS_MeshNode
* n23,
56
const
SMDS_MeshNode
* n34,
57
const
SMDS_MeshNode
* n41,
58
const
SMDS_MeshNode
* n15,
59
const
SMDS_MeshNode
* n25,
60
const
SMDS_MeshNode
* n35,
61
const
SMDS_MeshNode
* n45);
62
63
// Pentahedron with 15 nodes
64
SMDS_QuadraticVolumeOfNodes
(
const
SMDS_MeshNode
* n1,
65
const
SMDS_MeshNode
* n2,
66
const
SMDS_MeshNode
* n3,
67
const
SMDS_MeshNode
* n4,
68
const
SMDS_MeshNode
* n5,
69
const
SMDS_MeshNode
* n6,
70
const
SMDS_MeshNode
* n12,
71
const
SMDS_MeshNode
* n23,
72
const
SMDS_MeshNode
* n31,
73
const
SMDS_MeshNode
* n45,
74
const
SMDS_MeshNode
* n56,
75
const
SMDS_MeshNode
* n64,
76
const
SMDS_MeshNode
* n14,
77
const
SMDS_MeshNode
* n25,
78
const
SMDS_MeshNode
* n36);
79
80
// Hexahedrons with 20 nodes
81
SMDS_QuadraticVolumeOfNodes
(
const
SMDS_MeshNode
* n1,
82
const
SMDS_MeshNode
* n2,
83
const
SMDS_MeshNode
* n3,
84
const
SMDS_MeshNode
* n4,
85
const
SMDS_MeshNode
* n5,
86
const
SMDS_MeshNode
* n6,
87
const
SMDS_MeshNode
* n7,
88
const
SMDS_MeshNode
* n8,
89
const
SMDS_MeshNode
* n12,
90
const
SMDS_MeshNode
* n23,
91
const
SMDS_MeshNode
* n34,
92
const
SMDS_MeshNode
* n41,
93
const
SMDS_MeshNode
* n56,
94
const
SMDS_MeshNode
* n67,
95
const
SMDS_MeshNode
* n78,
96
const
SMDS_MeshNode
* n85,
97
const
SMDS_MeshNode
* n15,
98
const
SMDS_MeshNode
* n26,
99
const
SMDS_MeshNode
* n37,
100
const
SMDS_MeshNode
* n48);
101
102
virtual
SMDSAbs_EntityType
GetEntityType
()
const
;
103
virtual
bool
IsQuadratic
()
const
{
return
true
; }
104
105
virtual
bool
IsMediumNode
(
const
SMDS_MeshNode
* node)
const
;
106
107
bool
ChangeNodes(
const
SMDS_MeshNode
* nodes[],
108
const
int
nbNodes);
109
110
virtual
int
NbNodes
()
const
;
111
virtual
int
NbEdges
()
const
;
112
virtual
int
NbFaces
()
const
;
113
114
virtual
void
Print
(std::ostream & OS)
const
;
115
121
virtual
const
SMDS_MeshNode
*
GetNode
(
const
int
ind)
const
;
122
123
protected
:
124
virtual
SMDS_ElemIteratorPtr
elementsIterator
(
SMDSAbs_ElementType
type)
const
;
125
126
private
:
127
std::vector<const SMDS_MeshNode *>
myNodes
;
128
};
129
130
#endif
inc
SMDS_QuadraticVolumeOfNodes.hxx
Generated by
1.8.1.2