GME
13
|
00001 //COM'd by Tamas (check AutoRouterEdge.h) 00002 //#ifndef __AREDGELS_H 00003 //#define __AREDGELS_H 00004 // 00005 //class CArBox; 00006 //class CArPort; 00007 //class CArPath; 00008 //class CArGraph; 00009 // 00010 // 00012 // 00013 //class CArEdgeList; 00014 //struct SArEdge 00015 //{ 00016 // friend CArEdgeList; 00017 // friend CArGraph; 00018 //private: 00019 // 00020 // CObject* owner; 00021 // CPoint* startpoint_prev; 00022 // CPoint* startpoint; 00023 // CPoint* endpoint; 00024 // CPoint* endpoint_next; 00025 // 00026 // float position_y; 00027 // long position_x1; 00028 // long position_x2; 00029 // int bracket_closing : 1; 00030 // int bracket_opening : 1; 00031 // 00032 // SArEdge* order_next; 00033 // SArEdge* order_prev; 00034 // 00035 // long section_x1; 00036 // long section_x2; 00037 // SArEdge* section_next; 00038 // SArEdge* section_down; 00039 // 00040 // unsigned int edge_fixed : 1; 00041 // unsigned int edge_canpassed : 1; 00042 // 00043 // SArEdge* block_prev; 00044 // SArEdge* block_next; 00045 // SArEdge* block_trace; 00046 // 00047 // SArEdge* closest_prev; 00048 // SArEdge* closest_next; 00049 //}; 00050 // 00051 // 00053 // 00054 // 00055 //class CArEdgeList 00056 //{ 00057 //private: 00058 // CArEdgeList(int ishorizontal); 00059 // ~CArEdgeList(); 00060 // 00061 // friend CArGraph; 00062 // 00063 //private: 00064 // CArGraph* owner; 00065 // 00067 // 00068 //private: 00069 // SArEdge* CreateEdge() const; 00070 // void AddEdges(CArPath* path); 00071 // void AddEdges(CArBox* box); 00072 // void AddEdges(CArPort* port); 00073 // void AddEdges(CArGraph* graph); 00074 // void DeleteEdges(CObject* object); 00075 // void DeleteAllEdges(); 00076 // 00077 // int IsEmpty() const; 00078 // 00079 //private: 00080 // int ishorizontal; 00081 // 00082 //private: 00083 // SArEdge* GetEdge(CPoint* startpoint, CPoint* endpoint) const; 00084 // SArEdge* GetEdgeAt(CPoint point, int nearness = 0) const; 00085 // 00086 //#ifdef _DEBUG 00087 //public: 00088 // void AssertValidPathEdges(CArPath* path) const; 00089 //#endif _DEBUG 00090 // 00092 // 00093 //private: 00094 // long Position_GetRealY(const SArEdge* edge) const; 00095 // void Position_SetRealY(SArEdge* edge, long y) const; 00096 // void Position_GetRealX(const SArEdge* edge, long& x1, long& x2) const; 00097 // void Position_GetRealO(const SArEdge* edge, long& o1, long& o2) const; 00098 // 00099 // void Position_LoadY(SArEdge* edge) const; 00100 // void Position_LoadB(SArEdge* edge) const; 00101 // void PositionAll_StoreY() const; 00102 // 00103 // void PositionAll_LoadX() const; 00104 // 00105 //#ifdef _DEBUG 00106 //private: 00107 // void AssertValidPositions() const; 00108 //#endif 00109 // 00111 // 00112 //private: 00113 // void Con_Order(); 00114 // void Des_Order(); 00115 // 00116 //private: 00117 // void InsertBefore(SArEdge* edge, SArEdge* before); 00118 // void InsertAfter(SArEdge* edge, SArEdge* after); 00119 // void InsertLast(SArEdge* edge); 00120 // void Insert(SArEdge* edge); 00121 // void Remove(SArEdge* edge); 00122 // void Delete(SArEdge* edge); 00123 // 00124 // SArEdge* SlideButNotPassEdges(SArEdge* edge, float y); 00125 // 00126 //private: 00127 // SArEdge* order_first; 00128 // SArEdge* order_last; 00129 // 00130 //#ifdef _DEBUG 00131 //private: 00132 // void AssertValidOrder() const; 00133 //#endif 00134 // 00136 // 00137 //private: 00138 // void Con_Section(); 00139 // void Des_Section(); 00140 // 00141 //private: 00142 // void Section_Reset(); 00143 // void Section_BeginScan(SArEdge* blocker); 00144 // int Section_HasBlockedEdge(); 00145 // SArEdge* Section_GetBlockedEdge(); 00146 // int Section_IsImmediate(); 00147 // 00148 //private: 00149 // SArEdge* section_first; 00150 // SArEdge* section_blocker; 00151 // SArEdge** section_ptr2blocked; 00152 // 00153 //#ifdef _DEBUG 00154 //public: 00155 // void Section_AssertLevel(SArEdge* level, long x1, long x2) const; 00156 // void AssertValidSection() const; 00157 // void AssertSectionReady() const; 00158 //#endif 00159 // 00161 // 00162 //private: 00163 // int Bracket_IsClosing(const SArEdge* edge) const; 00164 // int Bracket_IsOpening(const SArEdge* edge) const; 00165 // int Bracket_IsSmallGap(const SArEdge* blocked, const SArEdge* blocker) const; 00166 // 00167 // int Bracket_ShouldBeSwitched(const SArEdge* edge, const SArEdge* next) const; 00168 // 00170 // 00171 //private: 00172 // int Block_PushBackward(SArEdge* blocked, SArEdge* blocker); 00173 // int Block_PushForward(SArEdge* blocked, SArEdge* blocker); 00174 // int Block_ScanForward(); 00175 // int Block_ScanBackward(); 00176 // 00177 // int Block_SwitchWrongs(); 00178 //}; 00179 // 00180 // 00181 //#endif//__AREDGELS_H