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