ParMooN
Main Page
Related Pages
Classes
Files
File List
All
Classes
Functions
Variables
Friends
Pages
include
Geometry
Edge.h
1
// =======================================================================
2
// @(#)Edge.h
3
//
4
// Class: TEdge
5
// Purpose: superclass for edges in 3D
6
//
7
// Author: Sashikumaar Ganesan 03.09.2010
8
//
9
// History:
10
//
11
// =======================================================================
12
13
#ifndef __EDGE__
14
#define __EDGE__
15
16
#include <Vertex.h>
17
#include <BaseCell.h>
18
#include <MooNMD_Io.h>
19
#include <Constants.h>
20
22
class
TEdge
23
{
24
protected
:
25
JointType EdgeID;
26
28
int
N_Neibs
;
29
31
TBaseCell
**
Neighbs
;
32
34
int
ClipBoard
;
35
36
#ifdef _MPI
37
38
bool
SubDomainEdge
;
39
42
bool
SubDomainCrossEdge
;
43
45
int
N_SubDomainNeibs
;
46
48
int
*
SubDomainNeibsRank
;
49
51
int
*
CrossNeibsGlobalNo
;
52
54
int
N_CrossNeibs
;
55
57
int
*
CrossNeibsRank
;
58
60
int
*
CrossNeibsLocalEdgeNo
;
61
63
int
*
CrossEdgeMaptype
;
64
#endif
65
66
public
:
67
// Constructors
68
TEdge
(
int
n_Neibs,
TBaseCell
**neighbs);
69
70
// methods
72
JointType
GetType
()
73
{
return
EdgeID; }
74
76
void
SetClipBoard
(
int
value)
77
{
ClipBoard
=value; }
79
int
GetClipBoard
()
80
{
return
ClipBoard
; }
81
82
#ifdef _MPI
83
84
void
InitSubDomainInfo(
int
rank);
85
86
void
SetAsNotCrossEdgeFor(
int
rank,
int
Neib_ID);
87
88
void
SetCrossNeibInfo(
TVertex
*Vert_a);
89
90
bool
IsSubDomainEdge()
91
{
return
SubDomainEdge
;}
92
93
// void SetAsSubDomainCrossEdge()
94
// {SubDomainCrossEdge = TRUE;}
95
96
bool
IsSubDomainCrossEdge()
97
{
return
SubDomainCrossEdge
;}
98
99
void
GetNeibs(
int
&n_Neibs,
TBaseCell
**&neighbs)
100
{
101
n_Neibs =
N_Neibs
;
102
neighbs =
Neighbs
;
103
}
104
105
int
GetN_CrossNeibs()
106
{
return
N_CrossNeibs
; }
107
108
void
GetNeibSubDomainRanks(
int
&n_SubDomainNeibs,
int
*&subDomainNeibsRank)
109
{
110
n_SubDomainNeibs =
N_SubDomainNeibs
;
111
subDomainNeibsRank =
SubDomainNeibsRank
;
112
}
113
114
void
GetCrossEdgeNeibs(
int
&n_CrossNeibs,
int
*&crossNeibsRank)
115
{
116
n_CrossNeibs =
N_CrossNeibs
;
117
crossNeibsRank =
CrossNeibsRank
;
118
}
119
120
void
GetCrossEdgeNeibs(
int
&n_CrossNeibs,
int
*&crossNeibsRank,
int
*&crossNeibsGlobalNo,
121
int
*&crossNeibsLocalEdgeNo,
int
*&crossEdgeMaptype);
122
123
#endif
124
125
// Destructor
126
~
TEdge
();
127
128
};
129
130
#endif
TEdge::GetClipBoard
int GetClipBoard()
Definition:
Edge.h:79
TEdge::TEdge
TEdge(int n_Neibs, TBaseCell **neighbs)
Definition:
Edge.C:23
TEdge::CrossEdgeMaptype
int * CrossEdgeMaptype
Definition:
Edge.h:63
TEdge::SubDomainCrossEdge
bool SubDomainCrossEdge
Definition:
Edge.h:42
TEdge::SubDomainEdge
bool SubDomainEdge
Definition:
Edge.h:38
TEdge::N_CrossNeibs
int N_CrossNeibs
Definition:
Edge.h:54
TEdge::SubDomainNeibsRank
int * SubDomainNeibsRank
Definition:
Edge.h:48
TEdge::ClipBoard
int ClipBoard
Definition:
Edge.h:34
TEdge::CrossNeibsRank
int * CrossNeibsRank
Definition:
Edge.h:57
TEdge::CrossNeibsGlobalNo
int * CrossNeibsGlobalNo
Definition:
Edge.h:51
TEdge::N_Neibs
int N_Neibs
Definition:
Edge.h:28
TBaseCell
information for finite element data structure
Definition:
BaseCell.h:25
TEdge::GetType
JointType GetType()
Definition:
Edge.h:72
TEdge::N_SubDomainNeibs
int N_SubDomainNeibs
Definition:
Edge.h:45
TEdge::SetClipBoard
void SetClipBoard(int value)
Definition:
Edge.h:76
TVertex
Definition:
Vertex.h:19
TEdge::Neighbs
TBaseCell ** Neighbs
Definition:
Edge.h:31
TEdge::CrossNeibsLocalEdgeNo
int * CrossNeibsLocalEdgeNo
Definition:
Edge.h:60
TEdge
Definition:
Edge.h:22
Generated on Tue May 10 2016 09:08:01 for ParMooN by
1.8.5