Ice Sheet System Model
4.18
Code documentation
src
c
bamg
Edge.cpp
Go to the documentation of this file.
1
#include <cstdio>
2
#include <cstring>
3
#include <cmath>
4
#include <ctime>
5
6
#include "
Edge.h
"
7
#include "
Mesh.h
"
8
#include "
Geometry.h
"
9
#include "../shared/shared.h"
10
11
namespace
bamg
{
12
13
/*Constructors/Destructors*/
14
15
/*Methods*/
16
void
Edge::Set
(
const
Mesh
& Th ,
long
i,
Mesh
& ThNew){
/*{{{*/
17
*
this
= Th.
edges
[i];
18
v
[0] = ThNew.
vertices
+ Th.
GetId
(
v
[0]);
19
v
[1] = ThNew.
vertices
+ Th.
GetId
(
v
[1]);
20
if
(
GeomEdgeHook
)
21
GeomEdgeHook
= ThNew.
Gh
.
edges
+Th.
Gh
.
GetId
(
GeomEdgeHook
);
22
if
(
adj
[0])
adj
[0] = ThNew.
edges
+ Th.
GetId
(
adj
[0]);
23
if
(
adj
[1])
adj
[1] = ThNew.
edges
+ Th.
GetId
(
adj
[1]);
24
}
25
/*}}}*/
26
void
Edge::Echo
(
void
){
/*{{{*/
27
_printf_
(
"Edge:\n"
);
28
_printf_
(
" pointers towards two vertices: "
<<
v
[0] <<
" "
<<
v
[1] <<
"\n"
);
29
_printf_
(
" ReferenceNumber = "
<<
ReferenceNumber
<<
"\n"
);
30
_printf_
(
" GeomEdgeHook = "
<<
GeomEdgeHook
<<
"\n"
);
31
_printf_
(
" two adjacent edges on the same curve: "
<<
adj
[0] <<
" "
<<
adj
[1] <<
"\n"
);
32
}
33
/*}}}*/
34
void
Edge::Renumbering
(
BamgVertex
*vb,
BamgVertex
*ve,
long
*renu){
/*{{{*/
35
36
if
(
v
[0] >=vb &&
v
[0] <ve)
v
[0] = vb + renu[
v
[0]-vb];
37
if
(
v
[1] >=vb &&
v
[1] <ve)
v
[1] = vb + renu[
v
[1]-vb];
38
39
}
40
/*}}}*/
41
int
Edge::Intersection
(
const
Edge
& e){
/*{{{*/
42
43
/*some shecks*/
44
if
(!(
adj
[0]==&e ||
adj
[1]==&e)){
_error_
(
"Intersection bug"
); }
45
_assert_
(
adj
[0]==&e ||
adj
[1]==&e);
46
47
return
adj
[0]==&e?0:1;
48
}
49
/*}}}*/
50
51
}
bamg::Mesh::GetId
long GetId(const Triangle &t) const
Definition:
Mesh.cpp:2608
bamg::BamgVertex
Definition:
BamgVertex.h:15
_assert_
#define _assert_(ignore)
Definition:
exceptions.h:37
bamg::Edge::Echo
void Echo(void)
Definition:
Edge.cpp:26
_printf_
#define _printf_(StreamArgs)
Definition:
Print.h:22
bamg::Edge::Set
void Set(const Mesh &, long, Mesh &)
Definition:
Edge.cpp:16
bamg::Edge::adj
Edge * adj[2]
Definition:
Edge.h:18
bamg
Definition:
AdjacentTriangle.cpp:9
bamg::Geometry::edges
GeomEdge * edges
Definition:
Geometry.h:28
Geometry.h
bamg::Geometry::GetId
long GetId(const GeomVertex &t) const
Definition:
Geometry.cpp:425
bamg::Edge::Renumbering
void Renumbering(BamgVertex *vb, BamgVertex *ve, long *renu)
Definition:
Edge.cpp:34
bamg::Edge
Definition:
Edge.h:12
Edge.h
bamg::Mesh::edges
Edge * edges
Definition:
Mesh.h:29
bamg::Edge::v
BamgVertex * v[2]
Definition:
Edge.h:15
Mesh.h
bamg::Mesh
Definition:
Mesh.h:21
_error_
#define _error_(StreamArgs)
Definition:
exceptions.h:49
bamg::Mesh::Gh
Geometry & Gh
Definition:
Mesh.h:25
bamg::Edge::ReferenceNumber
long ReferenceNumber
Definition:
Edge.h:16
bamg::Edge::Intersection
int Intersection(const Edge &e)
Definition:
Edge.cpp:41
bamg::Mesh::vertices
BamgVertex * vertices
Definition:
Mesh.h:27
bamg::Edge::GeomEdgeHook
GeomEdge * GeomEdgeHook
Definition:
Edge.h:17
Generated on Thu Jul 2 2020 08:09:16 for Ice Sheet System Model by
1.8.19