📄 overlaynodefactory.cpp
字号:
/********************************************************************** * $Id: OverlayNodeFactory.cpp 1820 2006-09-06 16:54:23Z mloskot $ * * GEOS - Geometry Engine Open Source * http://geos.refractions.net * * Copyright (C) 2001-2002 Vivid Solutions Inc. * Copyright (C) 2005 Refractions Research 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. * **********************************************************************/#include <geos/operation/overlay/OverlayNodeFactory.h>#include <geos/geomgraph/Node.h>#include <geos/geomgraph/DirectedEdgeStar.h>using namespace geos::geomgraph;namespace geos {namespace operation { // geos.operationnamespace overlay { // geos.operation.overlaystatic const OverlayNodeFactory onf;Node*OverlayNodeFactory::createNode(const geom::Coordinate &coord) const{ return new Node(coord, new DirectedEdgeStar());}const NodeFactory &OverlayNodeFactory::instance() { return onf;}} // namespace geos.operation.overlay} // namespace geos.operation} // namespace geos/********************************************************************** * $Log$ * Revision 1.10 2006/03/17 13:24:59 strk * opOverlay.h header splitted. Reduced header inclusions in operation/overlay implementation files. ElevationMatrixFilter code moved from own file to ElevationMatrix.cpp (ideally a class-private). * * Revision 1.9 2006/02/19 19:46:49 strk * Packages <-> namespaces mapping for most GEOS internal code (uncomplete, but working). Dir-level libs for index/ subdirs. * * Revision 1.8 2005/11/21 16:03:20 strk * * Coordinate interface change: * Removed setCoordinate call, use assignment operator * instead. Provided a compile-time switch to * make copy ctor and assignment operators non-inline * to allow for more accurate profiling. * * Coordinate copies removal: * NodeFactory::createNode() takes now a Coordinate reference * rather then real value. This brings coordinate copies * in the testLeaksBig.xml test from 654818 to 645991 * (tested in 2.1 branch). In the head branch Coordinate * copies are 222198. * Removed useless coordinate copies in ConvexHull * operations * * STL containers heap allocations reduction: * Converted many containers element from * pointers to real objects. * Made some use of .reserve() or size * initialization when final container size is known * in advance. * * Stateless classes allocations reduction: * Provided ::instance() function for * NodeFactories, to avoid allocating * more then one (they are all * stateless). * * HCoordinate improvements: * Changed HCoordinate constructor by HCoordinates * take reference rather then real objects. * Changed HCoordinate::intersection to avoid * a new allocation but rather return into a provided * storage. LineIntersector changed to reflect * the above change. * * Revision 1.7 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.6 2003/11/07 01:23:42 pramsey * Add standard CVS headers licence notices and copyrights to all cpp and h * files. * * **********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -