| Rev | Line | |
|---|
| [3913] | 1 | #ifndef _TRIANGLEADJACENT_H_
|
|---|
| 2 | #define _TRIANGLEADJACENT_H_
|
|---|
| 3 |
|
|---|
| 4 | #include "./include.h"
|
|---|
| [5120] | 5 | #include "./BamgVertex.h"
|
|---|
| [3913] | 6 |
|
|---|
| 7 | namespace bamg {
|
|---|
| 8 |
|
|---|
| 9 | class Triangle;
|
|---|
| 10 | class Triangle;
|
|---|
| 11 |
|
|---|
| [5143] | 12 | class AdjacentTriangle {
|
|---|
| [3913] | 13 |
|
|---|
| 14 | public:
|
|---|
| 15 | Triangle* t; //pointer toward the triangle
|
|---|
| 16 | int a; //Edge number
|
|---|
| 17 |
|
|---|
| 18 | //Constructors
|
|---|
| [9371] | 19 | AdjacentTriangle():a(0),t(NULL) {};
|
|---|
| [5143] | 20 | AdjacentTriangle(Triangle* tt,int aa): t(tt),a(aa &3) {};
|
|---|
| [3913] | 21 |
|
|---|
| 22 | //Operators
|
|---|
| 23 | operator Triangle * () const {return t;}
|
|---|
| 24 | operator Triangle & () const {return *t;}
|
|---|
| 25 | operator int() const {return a;}
|
|---|
| [5143] | 26 | AdjacentTriangle & operator++(){ a= NextEdge[a]; return *this; }
|
|---|
| 27 | AdjacentTriangle operator--(){ a= PreviousEdge[a]; return *this; }
|
|---|
| [3913] | 28 |
|
|---|
| 29 | //Methods
|
|---|
| 30 |
|
|---|
| 31 | //Methods
|
|---|
| 32 | int Locked() const;
|
|---|
| 33 | int MarkUnSwap() const;
|
|---|
| 34 | int GetAllFlag_UnSwap() const;
|
|---|
| 35 | void SetLock();
|
|---|
| [5143] | 36 | void SetAdj2(const AdjacentTriangle &ta, int l=0);
|
|---|
| [3913] | 37 | int swap();
|
|---|
| [5143] | 38 | AdjacentTriangle Adj() const;
|
|---|
| [5120] | 39 | BamgVertex* EdgeVertex(const int & i) const;
|
|---|
| [3913] | 40 | Icoor2& det() const;
|
|---|
| 41 | };
|
|---|
| 42 | }
|
|---|
| 43 | #endif
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.