50 directedLine* nextPolygon;
58 directedLine* rootLink;
71 Real* getVertex(Int i);
72 Int get_npoints() {
return sline->get_npoints();}
73 directedLine* getPrev() {
return prev;}
74 directedLine* getNext() {
return next;}
75 directedLine* getNextPolygon() {
return nextPolygon;}
78 short getDirection(){
return direction;}
79 void putDirection(
short dir) {direction = dir;}
80 void putPrev(directedLine *p) {prev = p;}
81 void putNext(directedLine *p) {next = p;}
84 void insert(directedLine* nl);
90 void deletePolygonList();
91 void deleteSinglePolygon();
93 void deleteSinglePolygonWithSline();
94 void deletePolygonListWithSline();
96 void deleteSingleLine(directedLine* dline);
97 directedLine* deleteDegenerateLines();
98 directedLine* deleteDegenerateLinesAllPolygons();
99 directedLine* cutIntersectionAllPoly(
int& cutOccur);
106 Int compInY(directedLine* nl);
107 Int compInX(directedLine* nl);
112 directedLine** sortAllPolygons();
115 Int numEdgesAllPolygons();
127 void printAllPolygons();
128 void writeAllPolygons(
char* filename);
132 directedLine* insertPolygon(directedLine* newpolygon);
133 directedLine* cutoffPolygon(directedLine *p);
135 Int toArraySinglePolygon(directedLine** array, Int index);
136 directedLine** toArrayAllPolygons(Int& total_num_edges);
138 void connectDiagonal(directedLine* v1, directedLine* v2,
139 directedLine** ret_p1,
140 directedLine** ret_p2,
145 void connectDiagonal_2slines(directedLine* v1, directedLine* v2,
146 directedLine** ret_p1,
147 directedLine** ret_p2,
150 Int samePolygon(directedLine* v1, directedLine* v2);
151 void setRootBit() {rootBit = 1;}
152 void resetRootBit() {rootBit = 0;}
153 directedLine* findRoot();
155 void rootLinkSet(directedLine* r) {rootLink = r;}
156 directedLine* rootLinkFindRoot();
162 directedLine* deleteChain(directedLine* begin, directedLine* end);