Home | History | Annotate | Download | only in src

Lines Matching refs:edge

72 *                                    Quad Edge  algebra                                  *
78 CvQuadEdge2D *edge = 0;
88 edge = (CvQuadEdge2D*)cvSetNew( (CvSet*)subdiv->edges );
91 memset( edge->pt, 0, sizeof( edge->pt ));
92 edgehandle = (CvSubdiv2DEdge) edge;
94 edge->next[0] = edgehandle;
95 edge->next[1] = edgehandle + 3;
96 edge->next[2] = edgehandle + 2;
97 edge->next[3] = edgehandle + 1;
143 cvSubdiv2DSetEdgePoints( CvSubdiv2DEdge edge,
146 CvQuadEdge2D *quadedge = (CvQuadEdge2D *) (edge & ~3);
155 quadedge->pt[edge & 3] = org_pt;
156 quadedge->pt[(edge + 2) & 3] = dst_pt;
164 cvSubdiv2DDeleteEdge( CvSubdiv2D * subdiv, CvSubdiv2DEdge edge )
166 CvQuadEdge2D *quadedge = (CvQuadEdge2D *) (edge & ~3);
175 cvSubdiv2DSplice( edge, cvSubdiv2DGetEdge( edge, CV_PREV_AROUND_ORG ));
178 CvSubdiv2DEdge sym_edge = cvSubdiv2DSymEdge( edge );
220 cvSubdiv2DSwapEdges( CvSubdiv2DEdge edge )
222 CvSubdiv2DEdge sym_edge = cvSubdiv2DSymEdge( edge );
223 CvSubdiv2DEdge a = cvSubdiv2DGetEdge( edge, CV_PREV_AROUND_ORG );
227 cvSubdiv2DSplice( edge, a );
232 cvSubdiv2DSetEdgePoints( edge, dstA, dstB );
234 cvSubdiv2DSplice( edge, cvSubdiv2DGetEdge( a, CV_NEXT_AROUND_LEFT ));
240 icvIsRightOf( CvPoint2D32f& pt, CvSubdiv2DEdge edge )
242 CvSubdiv2DPoint *org = cvSubdiv2DEdgeOrg(edge), *dst = cvSubdiv2DEdgeDst(edge);
254 CvSubdiv2DEdge edge = 0;
272 edge = subdiv->recent_edge;
276 if( !edge )
286 right_of_curr = icvIsRightOf( pt, edge );
289 edge = cvSubdiv2DSymEdge( edge );
295 CvSubdiv2DEdge onext_edge = cvSubdiv2DNextEdge( edge );
296 CvSubdiv2DEdge dprev_edge = cvSubdiv2DGetEdge( edge, CV_PREV_AROUND_DST );
311 edge = onext_edge;
326 edge = dprev_edge;
330 icvIsRightOf( cvSubdiv2DEdgeDst( onext_edge )->pt, edge ) >= 0 )
332 edge = cvSubdiv2DSymEdge( edge );
337 edge = onext_edge;
345 subdiv->recent_edge = edge;
350 CvPoint2D32f org_pt = cvSubdiv2DEdgeOrg( edge )->pt;
351 CvPoint2D32f dst_pt = cvSubdiv2DEdgeDst( edge )->pt;
363 point = cvSubdiv2DEdgeOrg( edge );
364 edge = 0;
369 point = cvSubdiv2DEdgeDst( edge );
370 edge = 0;
382 edge = 0;
387 *_edge = edge;
734 CvSubdiv2DEdge edge;
750 loc = cvSubdiv2DLocate( subdiv, pt, &edge, &point );
763 start = cvSubdiv2DEdgeOrg( edge )->pt;
767 edge = cvSubdiv2DRotateEdge( edge, 1 );
775 assert( cvSubdiv2DEdgeDst( edge ));
777 t = cvSubdiv2DEdgeDst( edge )->pt;
781 edge = cvSubdiv2DGetEdge( edge, CV_NEXT_AROUND_LEFT );
786 assert( cvSubdiv2DEdgeOrg( edge ));
788 t = cvSubdiv2DEdgeOrg( edge )->pt;
792 edge = cvSubdiv2DGetEdge( edge, CV_PREV_AROUND_LEFT );
796 CvPoint2D32f tempDiff = cvSubdiv2DEdgeDst( edge )->pt;
797 t = cvSubdiv2DEdgeOrg( edge )->pt;
803 point = cvSubdiv2DEdgeOrg( cvSubdiv2DRotateEdge( edge, 3 ));
808 edge = cvSubdiv2DSymEdge( edge );
833 OPENCVAPI void cvSubdiv2DSetEdgePoints( CvSubdiv2DEdge edge,
838 OPENCVAPI void cvSubdiv2DDeleteEdge( CvSubdiv2D* subdiv, CvSubdiv2DEdge edge );
841 /* Connects estination point of the first edge with origin point of the second edge */
847 OPENCVAPI void cvSubdiv2DSwapEdges( CvSubdiv2DEdge edge );