edgeendbundlestar.cpp

来自「一个很好的vc底层代码」· C++ 代码 · 共 77 行

CPP
77
字号
/********************************************************************** * $Id: EdgeEndBundleStar.cpp,v 1.8 2004/07/02 13:28:29 strk Exp $ * * GEOS - Geometry Engine Open Source * http://geos.refractions.net * * Copyright (C) 2001-2002 Vivid Solutions Inc. * * This is free software; you can redistribute and/or modify it under * the terms of the GNU Lesser General Public Licence as published * by the Free Software Foundation.  * See the COPYING file for more information. * ********************************************************************** * $Log: EdgeEndBundleStar.cpp,v $ * Revision 1.8  2004/07/02 13:28:29  strk * Fixed all #include lines to reflect headers layout change. * Added client application build tips in README. * * Revision 1.7  2003/11/07 01:23:42  pramsey * Add standard CVS headers licence notices and copyrights to all cpp and h * files. * * **********************************************************************/#include <geos/opRelate.h>#include <stdio.h>namespace geos {EdgeEndBundleStar::EdgeEndBundleStar(){}EdgeEndBundleStar::~EdgeEndBundleStar(){	map<EdgeEnd*,void*,EdgeEndLT>::iterator	it=edgeMap->begin();	for (;it!=edgeMap->end();it++) {		EdgeEndBundle *eeb=(EdgeEndBundle*) it->second;//		void *ee= it->second;		delete eeb;	}}/*** Insert a EdgeEnd in order in the list.* If there is an existing EdgeStubBundle which is parallel, the EdgeEnd is* added to the bundle.  Otherwise, a new EdgeEndBundle is created* to contain the EdgeEnd.* <br>*/void EdgeEndBundleStar::insert(EdgeEnd *e) {	EdgeEndBundle *eb;	map<EdgeEnd*,void*,EdgeEndLT>::iterator i=edgeMap->find(e);	if (i==edgeMap->end())		eb=NULL;	else		eb=(EdgeEndBundle*) (i->second);	if (eb==NULL) {		eb=new EdgeEndBundle(e);		insertEdgeEnd(e,eb);	} else {		eb->insert(e);	}}/*** Update the IM with the contribution for the EdgeStubs around the node.*/void EdgeEndBundleStar::updateIM(IntersectionMatrix *im) {	vector<EdgeEnd*> *edges=getEdges();	for (vector<EdgeEnd*>::iterator it=edges->begin();it<edges->end();it++) {		EdgeEndBundle *esb=(EdgeEndBundle*) *it;		esb->updateIM(im);	}}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?