MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / InsertEdgeIntoAEL

Method InsertEdgeIntoAEL

TheForceEngine/TFE_Polygon/clipper.cpp:3319–3345  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3317//------------------------------------------------------------------------------
3318
3319void Clipper::InsertEdgeIntoAEL(TEdge *edge, TEdge* startEdge)
3320{
3321 if(!m_ActiveEdges)
3322 {
3323 edge->PrevInAEL = 0;
3324 edge->NextInAEL = 0;
3325 m_ActiveEdges = edge;
3326 }
3327 else if(!startEdge && E2InsertsBeforeE1(*m_ActiveEdges, *edge))
3328 {
3329 edge->PrevInAEL = 0;
3330 edge->NextInAEL = m_ActiveEdges;
3331 m_ActiveEdges->PrevInAEL = edge;
3332 m_ActiveEdges = edge;
3333 }
3334 else
3335 {
3336 if(!startEdge) startEdge = m_ActiveEdges;
3337 while(startEdge->NextInAEL &&
3338 !E2InsertsBeforeE1(*startEdge->NextInAEL , *edge))
3339 startEdge = startEdge->NextInAEL;
3340 edge->NextInAEL = startEdge->NextInAEL;
3341 if(startEdge->NextInAEL) startEdge->NextInAEL->PrevInAEL = edge;
3342 edge->PrevInAEL = startEdge;
3343 startEdge->NextInAEL = edge;
3344 }
3345}
3346//----------------------------------------------------------------------
3347
3348OutPt* DupOutPt(OutPt* outPt, bool InsertAfter)

Callers

nothing calls this directly

Calls 1

E2InsertsBeforeE1Function · 0.85

Tested by

no test coverage detected