Quantum GIS API Documentation
1.7.4
|
00001 /*************************************************************************** 00002 HalfEdge.h - description 00003 ------------------- 00004 copyright : (C) 2004 by Marco Hugentobler 00005 email : mhugent@geo.unizh.ch 00006 ***************************************************************************/ 00007 00008 /*************************************************************************** 00009 * * 00010 * This program is free software; you can redistribute it and/or modify * 00011 * it under the terms of the GNU General Public License as published by * 00012 * the Free Software Foundation; either version 2 of the License, or * 00013 * (at your option) any later version. * 00014 * * 00015 ***************************************************************************/ 00016 00017 #ifndef HALFEDGE_H 00018 #define HALFEDGE_H 00019 00020 class ANALYSIS_EXPORT HalfEdge 00021 { 00022 protected: 00024 int mDual; 00026 int mNext; 00028 int mPoint; 00030 bool mBreak; 00032 bool mForced; 00033 00034 public: 00036 HalfEdge(); 00037 HalfEdge( int dual, int next, int point, bool mbreak, bool forced ); 00038 ~HalfEdge(); 00040 int getDual() const; 00042 int getNext() const; 00044 int getPoint() const; 00046 bool getBreak() const; 00048 bool getForced() const; 00050 void setDual( int d ); 00052 void setNext( int n ); 00054 void setPoint( int p ); 00056 void setBreak( bool b ); 00058 void setForced( bool f ); 00059 }; 00060 00061 inline HalfEdge::HalfEdge(): mDual( -10 ), mNext( -10 ), mPoint( -10 ), mBreak( false ), mForced( false ) 00062 { 00063 00064 } 00065 00066 inline HalfEdge::HalfEdge( int dual, int next, int point, bool mbreak, bool forced ): mDual( dual ), mNext( next ), mPoint( point ), mBreak( mbreak ), mForced( forced ) 00067 { 00068 00069 } 00070 00071 inline HalfEdge::~HalfEdge() 00072 { 00073 00074 } 00075 00076 inline int HalfEdge::getDual() const 00077 { 00078 return mDual; 00079 } 00080 00081 inline int HalfEdge::getNext() const 00082 { 00083 return mNext; 00084 } 00085 00086 inline int HalfEdge::getPoint() const 00087 { 00088 return mPoint; 00089 } 00090 00091 inline bool HalfEdge::getBreak() const 00092 { 00093 return mBreak; 00094 } 00095 00096 inline bool HalfEdge::getForced() const 00097 { 00098 return mForced; 00099 } 00100 00101 inline void HalfEdge::setDual( int d ) 00102 { 00103 mDual = d; 00104 } 00105 00106 inline void HalfEdge::setNext( int n ) 00107 { 00108 mNext = n; 00109 } 00110 00111 inline void HalfEdge::setPoint( int p ) 00112 { 00113 mPoint = p; 00114 } 00115 00116 inline void HalfEdge::setBreak( bool b ) 00117 { 00118 mBreak = b; 00119 } 00120 00121 inline void HalfEdge::setForced( bool f ) 00122 { 00123 mForced = f; 00124 } 00125 00126 #endif