コード例 #1
0
/*private*/
void
MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,
		NodedSegmentString::NonConstVect* segStrings,
		vector<Coordinate>& intersections)
{
	IntersectionFinderAdder intFinderAdder(li, intersections);
	noder.setSegmentIntersector(&intFinderAdder);
	noder.computeNodes(segStrings);
}
コード例 #2
0
ファイル: SimpleSnapRounder.cpp プロジェクト: Joe-xXx/geos
/*private*/
void
SimpleSnapRounder::findInteriorIntersections(
	SegmentString::NonConstVect& segStrings,
	LineIntersector& li, vector<Coordinate>& ret)
{
	IntersectionFinderAdder intFinderAdder(li, ret);
	MCIndexNoder noder;
	noder.setSegmentIntersector(&intFinderAdder);
	noder.computeNodes(&segStrings);
	//intFinderAdder.getInteriorIntersections();
}
コード例 #3
0
ファイル: IteratedNoder.cpp プロジェクト: lozpeng/applesales
/*
 * Node the input segment strings once
 * and create the split edges between the nodes
 */
void
IteratedNoder::node(vector<SegmentString*> *segStrings,
		int *numInteriorIntersections)
{
	IntersectionAdder si(li);
	MCIndexNoder noder;
	noder.setSegmentIntersector(&si);
	noder.computeNodes(segStrings);
	nodedSegStrings = noder.getNodedSubstrings();
	*numInteriorIntersections = si.numInteriorIntersections;
//System.out.println("# intersection tests: " + si.numTests);
}
コード例 #4
0
/*public*/
void
MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect* inputSegmentStrings)
{
	nodedSegStrings = inputSegmentStrings;
	MCIndexNoder noder;
	pointSnapper.release(); // let it leak ?!
	pointSnapper.reset(new MCIndexPointSnapper(noder.getIndex()));
	snapRound(noder, inputSegmentStrings);

	// testing purposes only - remove in final version
	assert(nodedSegStrings == inputSegmentStrings);
	//checkCorrectness(*inputSegmentStrings);
}