JCash/voronoi

half edge neighbor is incorrect

Closed this issue · 3 comments

when i iterate through a site's halfedges and look at their neighbors, they do not correspond to actual neighbors. and even if i look at the half edge's corresponding edge, its two sites are not neighboring in the diagram.
untitled

int i = rand() % myCells.size();

myCells[ i ].selected = true;

const jcv_site* site = &jcv_diagram_get_sites( &diagram )[ i ];

const jcv_graphedge* edge = site->edges;

while ( edge != nullptr )
{
	const jcv_site* neighbor;

	if ( edge->edge->sites[ 0 ] == site )
	neighbor = edge->edge->sites[ 1 ];
	else
	neighbor = edge->edge->sites[ 0 ];

	if ( neighbor != nullptr )
	{
		myCells[ neighbor->index ].selected = true;
	}

	edge = edge->next;
}
JCash commented

you were right totally my fault, using site->index fixed it. thanks a lot, i was dreading switching back to this other voronoi library because yours is much faster.