Ice Sheet System Model
4.18
Code documentation
src
c
bamg
VertexOnGeom.cpp
Go to the documentation of this file.
1
#include <cstdio>
2
#include <cstring>
3
#include <cmath>
4
#include <ctime>
5
6
#include "
VertexOnGeom.h
"
7
#include "
Mesh.h
"
8
#include "
Geometry.h
"
9
10
namespace
bamg
{
11
12
/*Constructors/Destructors*/
13
VertexOnGeom::VertexOnGeom
(){
/*{{{*/
14
meshvertex
=NULL;
15
curvilincoord
=0;
16
gv
=0;
17
}
18
/*}}}*/
19
VertexOnGeom::VertexOnGeom
(
BamgVertex
& m,
GeomVertex
&g){
/*{{{*/
20
meshvertex
=&m;
21
curvilincoord
=-1;
22
gv
=&g;
23
}
24
/*}}}*/
25
VertexOnGeom::VertexOnGeom
(
BamgVertex
& m,
GeomEdge
&g,
double
s){
/*{{{*/
26
meshvertex
=&m;
27
curvilincoord
=s;
28
ge
=&g;
29
}
30
/*}}}*/
31
32
/*Methods*/
33
void
VertexOnGeom::Set
(
const
VertexOnGeom
& rec,
const
Mesh
& Th ,
Mesh
& ThNew){
/*{{{*/
34
*
this
= rec;
35
meshvertex
= ThNew.
vertices
+ Th.
GetId
(
meshvertex
);
36
if
(
gv
){
37
if
(
curvilincoord
< 0 )
38
gv
= ThNew.
Gh
.
vertices
+ Th.
Gh
.
GetId
(
gv
);
39
else
40
ge
= ThNew.
Gh
.
edges
+ Th.
Gh
.
GetId
(
ge
);
41
}
42
43
}
44
/*}}}*/
45
int
VertexOnGeom::OnGeomVertex
()
const
{
/*{{{*/
46
return
curvilincoord
<0;
47
}
48
/*}}}*/
49
int
VertexOnGeom::OnGeomEdge
()
const
{
/*{{{*/
50
return
curvilincoord
>=0;
51
}
52
/*}}}*/
53
int
VertexOnGeom::IsRequiredVertex
() {
/*{{{*/
54
return
((
curvilincoord
<0 ? (
gv
?
gv
->
Required
():0):0 ));
55
}
56
/*}}}*/
57
void
VertexOnGeom::SetOn
(){
/*{{{*/
58
meshvertex
->
GeomEdgeHook
=
this
;
59
meshvertex
->
IndexInTriangle
=
IsVertexOnGeom
;
60
}
61
/*}}}*/
62
63
}
bamg::Mesh::GetId
long GetId(const Triangle &t) const
Definition:
Mesh.cpp:2608
bamg::VertexOnGeom::meshvertex
BamgVertex * meshvertex
Definition:
VertexOnGeom.h:17
bamg::BamgVertex
Definition:
BamgVertex.h:15
bamg::VertexOnGeom::gv
GeomVertex * gv
Definition:
VertexOnGeom.h:20
bamg::IsVertexOnGeom
const int IsVertexOnGeom
Definition:
macros.h:10
bamg
Definition:
AdjacentTriangle.cpp:9
bamg::Geometry::edges
GeomEdge * edges
Definition:
Geometry.h:28
bamg::VertexOnGeom::VertexOnGeom
VertexOnGeom()
Definition:
VertexOnGeom.cpp:13
Geometry.h
bamg::VertexOnGeom::IsRequiredVertex
int IsRequiredVertex()
Definition:
VertexOnGeom.cpp:53
bamg::Geometry::vertices
GeomVertex * vertices
Definition:
Geometry.h:27
bamg::GeomEdge
Definition:
GeomEdge.h:11
VertexOnGeom.h
bamg::VertexOnGeom::Set
void Set(const VertexOnGeom &, const Mesh &, Mesh &)
Definition:
VertexOnGeom.cpp:33
bamg::VertexOnGeom::OnGeomEdge
int OnGeomEdge() const
Definition:
VertexOnGeom.cpp:49
bamg::BamgVertex::GeomEdgeHook
VertexOnGeom * GeomEdgeHook
Definition:
BamgVertex.h:31
bamg::VertexOnGeom::curvilincoord
double curvilincoord
Definition:
VertexOnGeom.h:18
bamg::VertexOnGeom
Definition:
VertexOnGeom.h:13
bamg::GeomVertex::Required
int Required() const
Definition:
GeomVertex.cpp:19
bamg::Geometry::GetId
long GetId(const GeomVertex &t) const
Definition:
Geometry.cpp:425
bamg::VertexOnGeom::ge
GeomEdge * ge
Definition:
VertexOnGeom.h:21
bamg::VertexOnGeom::SetOn
void SetOn()
Definition:
VertexOnGeom.cpp:57
Mesh.h
bamg::Mesh
Definition:
Mesh.h:21
bamg::GeomVertex
Definition:
GeomVertex.h:11
bamg::VertexOnGeom::OnGeomVertex
int OnGeomVertex() const
Definition:
VertexOnGeom.cpp:45
bamg::Mesh::Gh
Geometry & Gh
Definition:
Mesh.h:25
bamg::Mesh::vertices
BamgVertex * vertices
Definition:
Mesh.h:27
bamg::BamgVertex::IndexInTriangle
short IndexInTriangle
Definition:
BamgVertex.h:25
Generated on Thu Jul 2 2020 08:09:16 for Ice Sheet System Model by
1.8.19