QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HalfEdge.h
Go to the documentation of this file.
1 /***************************************************************************
2  HalfEdge.h - description
3  -------------------
4  copyright : (C) 2004 by Marco Hugentobler
5  email : mhugent@geo.unizh.ch
6  ***************************************************************************/
7 
8 /***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 
17 #ifndef HALFEDGE_H
18 #define HALFEDGE_H
19 
20 class ANALYSIS_EXPORT HalfEdge
21 {
22  protected:
24  int mDual;
26  int mNext;
28  int mPoint;
30  bool mBreak;
32  bool mForced;
33 
34  public:
36  HalfEdge();
37  HalfEdge( int dual, int next, int point, bool mbreak, bool forced );
38  ~HalfEdge();
40  int getDual() const;
42  int getNext() const;
44  int getPoint() const;
46  bool getBreak() const;
48  bool getForced() const;
50  void setDual( int d );
52  void setNext( int n );
54  void setPoint( int p );
56  void setBreak( bool b );
58  void setForced( bool f );
59 };
60 
61 inline HalfEdge::HalfEdge(): mDual( -10 ), mNext( -10 ), mPoint( -10 ), mBreak( false ), mForced( false )
62 {
63 
64 }
65 
66 inline HalfEdge::HalfEdge( int dual, int next, int point, bool mbreak, bool forced ): mDual( dual ), mNext( next ), mPoint( point ), mBreak( mbreak ), mForced( forced )
67 {
68 
69 }
70 
72 {
73 
74 }
75 
76 inline int HalfEdge::getDual() const
77 {
78  return mDual;
79 }
80 
81 inline int HalfEdge::getNext() const
82 {
83  return mNext;
84 }
85 
86 inline int HalfEdge::getPoint() const
87 {
88  return mPoint;
89 }
90 
91 inline bool HalfEdge::getBreak() const
92 {
93  return mBreak;
94 }
95 
96 inline bool HalfEdge::getForced() const
97 {
98  return mForced;
99 }
100 
101 inline void HalfEdge::setDual( int d )
102 {
103  mDual = d;
104 }
105 
106 inline void HalfEdge::setNext( int n )
107 {
108  mNext = n;
109 }
110 
111 inline void HalfEdge::setPoint( int p )
112 {
113  mPoint = p;
114 }
115 
116 inline void HalfEdge::setBreak( bool b )
117 {
118  mBreak = b;
119 }
120 
121 inline void HalfEdge::setForced( bool f )
122 {
123  mForced = f;
124 }
125 
126 #endif
HalfEdge()
Default constructor.
Definition: HalfEdge.h:61
int getPoint() const
Returns the number of the point at which this HalfEdge points.
Definition: HalfEdge.h:86
bool getForced() const
Returns, whether the HalfEdge belongs to a constrained edge or not.
Definition: HalfEdge.h:96
int mPoint
Number of the point at which this HalfEdge points.
Definition: HalfEdge.h:28
int getNext() const
Returns the number of the next HalfEdge.
Definition: HalfEdge.h:81
int mDual
Number of the dual HalfEdge.
Definition: HalfEdge.h:24
int getDual() const
Returns the number of the dual HalfEdge.
Definition: HalfEdge.h:76
bool mForced
True, if the HalfEdge belongs to a constrained edge, false otherwise.
Definition: HalfEdge.h:32
bool mBreak
True, if the HalfEdge belongs to a break line, false otherwise.
Definition: HalfEdge.h:30
void setBreak(bool b)
Sets the break flag.
Definition: HalfEdge.h:116
void setPoint(int p)
Sets the number of point at which this HalfEdge points.
Definition: HalfEdge.h:111
int mNext
Number of the next HalfEdge.
Definition: HalfEdge.h:26
~HalfEdge()
Definition: HalfEdge.h:71
void setDual(int d)
Sets the number of the dual HalfEdge.
Definition: HalfEdge.h:101
void setForced(bool f)
Sets the forced flag.
Definition: HalfEdge.h:121
void setNext(int n)
Sets the number of the next HalfEdge.
Definition: HalfEdge.h:106
bool getBreak() const
Returns, whether the HalfEdge belongs to a break line or not.
Definition: HalfEdge.h:91