void
SimpleEdgeSetIntersector::computeIntersections(vector<Edge*> *edges,
		SegmentIntersector *si, bool testAllSegments)
{
	nOverlaps = 0;
	size_t nedges=edges->size();
	for(size_t i0=0; i0<nedges; ++i0)
	{
		Edge *edge0=(*edges)[i0];
		for(size_t i1=0; i1<nedges; ++i1)
		{
			Edge *edge1=(*edges)[i1];
			if (testAllSegments || edge0!=edge1)
				computeIntersects(edge0,edge1,si);
		}
	}
}
Example #2
0
/*public*/
void
SimpleNoder::computeNodes(SegmentString::NonConstVect* inputSegmentStrings)
{
	nodedSegStrings=inputSegmentStrings;

	for (SegmentString::NonConstVect::const_iterator
			i0=inputSegmentStrings->begin(), i0End=inputSegmentStrings->end();
			i0!=i0End; ++i0)
	{
		SegmentString* edge0 = *i0;
		for (SegmentString::NonConstVect::iterator
			i1=inputSegmentStrings->begin(), i1End=inputSegmentStrings->end();
			i1!=i1End; ++i1)
		{
		        SegmentString* edge1 = *i1;
			computeIntersects(edge0, edge1);
		}
	}
}
void
SimpleEdgeSetIntersector::computeIntersections(vector<Edge*> *edges0,
		vector<Edge*> *edges1, SegmentIntersector *si)
{
	nOverlaps = 0;

	size_t nedges0=edges0->size();
	size_t nedges1=edges1->size();

	for(size_t i0=0;i0<nedges0; ++i0)
	{
		Edge *edge0=(*edges0)[i0];
		for(size_t i1=0; i1<nedges1; ++i1)
		{
			Edge *edge1=(*edges1)[i1];
			computeIntersects(edge0,edge1,si);
		}
	}
}