Ice Sheet System Model  4.18
Code documentation
SubDomain.cpp
Go to the documentation of this file.
1 #include <cstdio>
2 #include <cstring>
3 #include <cmath>
4 #include <ctime>
5 
6 #include "SubDomain.h"
7 #include "Mesh.h"
8 
9 namespace bamg {
10 
11  /*Constructors/Destructors*/
12 
13  /*Methods*/
14  void SubDomain::Set(const Mesh & Th ,long i,Mesh & ThNew){/*{{{*/
15  *this = Th.subdomains[i];
16  if( head-Th.triangles<0 || head-Th.triangles>=Th.nbt){
17  _error_("head-Th.triangles<0 || head-Th.triangles>=Th.nbt");
18  }
19  head = ThNew.triangles + Th.GetId(head) ;
20  if(edge-Th.edges<0 || edge-Th.edges>=Th.nbe){
21  _error_("edge-Th.edges<0 || edge-Th.edges>=Th.nbe");
22  }
23  edge = ThNew.edges+ Th.GetId(edge);
24  }
25  /*}}}*/
26 
27 }
bamg::Mesh::subdomains
SubDomain * subdomains
Definition: Mesh.h:32
bamg::Mesh::GetId
long GetId(const Triangle &t) const
Definition: Mesh.cpp:2608
bamg
Definition: AdjacentTriangle.cpp:9
bamg::SubDomain::edge
Edge * edge
Definition: SubDomain.h:19
bamg::SubDomain::head
Triangle * head
Definition: SubDomain.h:16
bamg::SubDomain::Set
void Set(const Mesh &, long, Mesh &)
Definition: SubDomain.cpp:14
SubDomain.h
bamg::Mesh::triangles
Triangle * triangles
Definition: Mesh.h:28
bamg::Mesh::nbe
long nbe
Definition: Mesh.h:35
bamg::Mesh::nbt
long nbt
Definition: Mesh.h:35
bamg::Mesh::edges
Edge * edges
Definition: Mesh.h:29
Mesh.h
bamg::Mesh
Definition: Mesh.h:21
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49