Ice Sheet System Model  4.18
Code documentation
AdjacentTriangle.h
Go to the documentation of this file.
1 #ifndef _TRIANGLEADJACENT_H_
2 #define _TRIANGLEADJACENT_H_
3 
4 #include "./include.h"
5 #include "./BamgVertex.h"
6 
7 namespace bamg {
8 
9  class Triangle;
10  class Triangle;
11 
13 
14  public:
15  Triangle* t; //pointer toward the triangle
16  int a; //Edge number
17 
18  //Constructors
19  AdjacentTriangle():a(0),t(NULL) {};
20  AdjacentTriangle(Triangle* tt,int aa): t(tt),a(aa &3) {};
21 
22  //Operators
23  operator Triangle * () const {return t;}
24  operator Triangle & () const {return *t;}
25  operator int() const {return a;}
26  AdjacentTriangle & operator++(){ a= NextEdge[a]; return *this; }
27  AdjacentTriangle operator--(){ a= PreviousEdge[a]; return *this; }
28 
29  //Methods
30 
31  //Methods
32  int Locked() const;
33  int GetAllFlag_UnSwap() const;
34  void SetLock();
35  void SetAdj2(const AdjacentTriangle &ta, int l=0);
36  int swap();
37  AdjacentTriangle Adj() const;
38  BamgVertex* EdgeVertex(const int & i) const;
39  long long& det() const;
40  };
41 }
42 #endif
bamg::AdjacentTriangle::det
long long & det() const
Definition: AdjacentTriangle.cpp:36
bamg::BamgVertex
Definition: BamgVertex.h:15
bamg::AdjacentTriangle::a
int a
Definition: AdjacentTriangle.h:16
bamg::PreviousEdge
static const short PreviousEdge[3]
Definition: macros.h:18
BamgVertex.h
bamg
Definition: AdjacentTriangle.cpp:9
bamg::AdjacentTriangle::operator++
AdjacentTriangle & operator++()
Definition: AdjacentTriangle.h:26
bamg::AdjacentTriangle::Adj
AdjacentTriangle Adj() const
Definition: AdjacentTriangle.cpp:28
bamg::AdjacentTriangle::Locked
int Locked() const
Definition: AdjacentTriangle.cpp:15
bamg::Triangle
Definition: Triangle.h:13
bamg::AdjacentTriangle::AdjacentTriangle
AdjacentTriangle()
Definition: AdjacentTriangle.h:19
bamg::AdjacentTriangle
Definition: AdjacentTriangle.h:12
bamg::AdjacentTriangle::SetLock
void SetLock()
Definition: AdjacentTriangle.cpp:24
bamg::AdjacentTriangle::operator--
AdjacentTriangle operator--()
Definition: AdjacentTriangle.h:27
bamg::AdjacentTriangle::t
Triangle * t
Definition: AdjacentTriangle.h:15
bamg::AdjacentTriangle::AdjacentTriangle
AdjacentTriangle(Triangle *tt, int aa)
Definition: AdjacentTriangle.h:20
bamg::AdjacentTriangle::SetAdj2
void SetAdj2(const AdjacentTriangle &ta, int l=0)
Definition: AdjacentTriangle.cpp:44
include.h
prototypes for include.h
bamg::AdjacentTriangle::EdgeVertex
BamgVertex * EdgeVertex(const int &i) const
Definition: AdjacentTriangle.cpp:32
bamg::AdjacentTriangle::swap
int swap()
Definition: AdjacentTriangle.cpp:40
bamg::AdjacentTriangle::GetAllFlag_UnSwap
int GetAllFlag_UnSwap() const
Definition: AdjacentTriangle.cpp:19
bamg::NextEdge
static const short NextEdge[3]
Definition: macros.h:17