亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? indexchain.h

?? 一個(gè)很好的vc代碼
?? H
字號(hào):
/********************************************************************** * $Id: indexChain.h,v 1.6 2004/11/04 19:08:06 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: indexChain.h,v $ * Revision 1.6  2004/11/04 19:08:06  strk * Cleanups, initializers list, profiling. * * Revision 1.5  2004/10/26 17:46:18  strk * Removed slash-stars in comments to remove annoying compiler warnings. * * Revision 1.4  2004/07/19 13:19:31  strk * Documentation fixes * * Revision 1.3  2004/07/13 08:33:52  strk * Added missing virtual destructor to virtual classes. * Fixed implicit unsigned int -> int casts * * Revision 1.2  2004/07/08 19:34:49  strk * Mirrored JTS interface of CoordinateSequence, factory and * default implementations. * Added DefaultCoordinateSequenceFactory::instance() function. * * Revision 1.1  2004/07/02 13:20:42  strk * Header files moved under geos/ dir. * * Revision 1.8  2004/05/27 09:53:49  strk * MonotoneChainOverlapAction::overlap(*) funx made virtual * as they are supposed to be. * * Revision 1.7  2004/03/25 02:23:55  ybychkov * All "index/" packages upgraded to JTS 1.4 * * Revision 1.6  2003/11/07 01:23:42  pramsey * Add standard CVS headers licence notices and copyrights to all cpp and h * files. * * **********************************************************************/#ifndef GEOS_INDEXCHAIN_H#define GEOS_INDEXCHAIN_H#include <memory>#include <vector>#include <geos/platform.h>#include <geos/geom.h>using namespace std;namespace geos {class indexMonotoneChain;/* * The action for the internal iterator for performing * envelope select queries on a MonotoneChain */class MonotoneChainSelectAction {protected:	LineSegment *selectedSegment;public:	MonotoneChainSelectAction();	virtual ~MonotoneChainSelectAction();	/**	* This function can be overridden if the original chain is needed	*/	virtual void select(indexMonotoneChain *mc,int start);	/**	* This is a convenience function which can be overridden to obtain the actual	* line segment which is selected	* @param seg	*/	virtual void select(LineSegment *newSeg){}	// these envelopes are used during the MonotoneChain search process	Envelope *tempEnv1;};/* * The action for the internal iterator for performing * overlap queries on a MonotoneChain */class MonotoneChainOverlapAction {protected:	LineSegment *overlapSeg1;	LineSegment *overlapSeg2;public:	MonotoneChainOverlapAction();	virtual ~MonotoneChainOverlapAction();	/**	* This function can be overridden if the original chains are needed	*	* @param start1 the index of the start of the overlapping segment from mc1	* @param start2 the index of the start of the overlapping segment from mc2	*/	virtual void overlap(indexMonotoneChain *mc1,int start1,indexMonotoneChain *mc2,int start2);	/**	* This is a convenience function which can be overridden to obtain the actual	* line segments which overlap	* @param seg1	* @param seg2	*/	virtual void overlap(LineSegment *newSeg1,LineSegment *newSeg2){}	// these envelopes are used during the MonotoneChain search process	Envelope *tempEnv1;	Envelope *tempEnv2;};/* * MonotoneChains are a way of partitioning the segments of a linestring to * allow for fast searching of intersections. * They have the following properties: * <ol> * <li>the segments within a monotone chain will never intersect each other * <li>the envelope of any contiguous subset of the segments in a monotone chain * is equal to the envelope of the endpoints of the subset. * </ol> * Property 1 means that there is no need to test pairs of segments from within * the same monotone chain for intersection. * Property 2 allows * binary search to be used to find the intersection points of two monotone chains. * For many types of real-world data, these properties eliminate a large number of * segment comparisons, producing substantial speed gains. * <p> * One of the goals of this implementation of MonotoneChains is to be * as space and time efficient as possible. One design choice that aids this * is that a MonotoneChain is based on a subarray of a list of points. * This means that new arrays of points (potentially very large) do not * have to be allocated. * <p> * * MonotoneChains support the following kinds of queries: * <ul> * <li>Envelope select: determine all the segments in the chain which * intersect a given envelope * <li>Overlap: determine all the pairs of segments in two chains whose * envelopes overlap * </ul> * * This implementation of MonotoneChains uses the concept of internal iterators * to return the resultsets for the above queries. * This has time and space advantages, since it * is not necessary to build lists of instantiated objects to represent the segments * returned by the query. * However, it does mean that the queries are not thread-safe. * * @version 1.4 */class indexMonotoneChain {public:	indexMonotoneChain(CoordinateSequence *newPts,int nstart,int nend, void* nContext);	~indexMonotoneChain();	Envelope* getEnvelope();	int getStartIndex();	int getEndIndex();	void getLineSegment(int index,LineSegment *ls);	/**	* Return the subsequence of coordinates forming this chain.	* Allocates a new array to hold the Coordinates	*/	CoordinateSequence* getCoordinates();	/**	* Determine all the line segments in the chain whose envelopes overlap	* the searchEnvelope, and process them	*/	void select(Envelope *searchEnv,MonotoneChainSelectAction *mcs);	void computeOverlaps(indexMonotoneChain *mc,MonotoneChainOverlapAction *mco);	void setId(int nId);	int getId();	void* getContext();private:	void computeSelect(Envelope *searchEnv,int start0,int end0,MonotoneChainSelectAction *mcs);	void computeOverlaps(int start0,int end0,indexMonotoneChain *mc,int start1,int end1,MonotoneChainOverlapAction *mco);	CoordinateSequence *pts;	int start, end;	Envelope *env;	void *context;// user-defined information	int id; // useful for optimizing chain comparisons};/* * A MonotoneChainBuilder implements functions to determine the monotone chains * in a sequence of points. */class MonotoneChainBuilder {public://	static int[] toIntArray(List list); //Not needed	MonotoneChainBuilder(){}	static vector<indexMonotoneChain*>* getChains(CoordinateSequence *pts);	/**	* Return a list of the {@link MonotoneChain}s	* for the given list of coordinates.	*/	static vector<indexMonotoneChain*>* getChains(CoordinateSequence *pts,void* context);	/**	* Return an array containing lists of start/end indexes of the monotone chains	* for the given list of coordinates.	* The last entry in the array points to the end point of the point array,	* for use as a sentinel.	*/	static vector<int>* getChainStartIndices(CoordinateSequence *pts);	/**	* @return the index of the last point in the monotone chain starting at <code>start</code>.	*/	static int findChainEnd(CoordinateSequence *pts,int start);};}#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级欧美三级在线观看| 色94色欧美sute亚洲线路一久| 一区二区三区精品在线| 欧美精品一区二区三区一线天视频 | 亚洲成人高清在线| 一区二区三区资源| 亚洲欧美二区三区| 亚洲狼人国产精品| 亚洲日本护士毛茸茸| 亚洲精品v日韩精品| 一区二区日韩av| 亚洲影院在线观看| 9l国产精品久久久久麻豆| 国产精品午夜免费| 精油按摩中文字幕久久| 琪琪一区二区三区| 裸体一区二区三区| 久久国产精品色婷婷| 激情欧美一区二区三区在线观看| 蜜桃视频一区二区三区在线观看| 久久99精品久久久| 国产精华液一区二区三区| 高潮精品一区videoshd| a美女胸又www黄视频久久| 99视频一区二区| 欧美日韩午夜精品| 在线综合视频播放| 精品裸体舞一区二区三区| 久久精品一区蜜桃臀影院| 国产精品婷婷午夜在线观看| 亚洲色图20p| 亚洲成人tv网| 欧美aⅴ一区二区三区视频| 久久福利视频一区二区| 狠狠色丁香久久婷婷综合_中| 另类调教123区| 成人午夜av影视| 北条麻妃国产九九精品视频| 成人国产精品免费观看视频| 91色porny| 91精品国产综合久久精品| 久久午夜电影网| 亚洲精品视频在线观看免费 | 久久精品二区亚洲w码| 国产精品一区一区| 色欧美88888久久久久久影院| 欧美另类一区二区三区| 国产日产精品一区| 亚洲一二三四在线| 国产综合色在线| 91福利精品视频| 欧美www视频| 中文字幕一区二区三区乱码在线| 天天av天天翘天天综合网色鬼国产 | 国产精品久久久久久久久动漫| 亚洲自拍偷拍网站| 国产精品一二三四| 欧美日韩亚洲另类| 中文字幕av免费专区久久| 亚洲成人免费视频| 成人av先锋影音| 91精品国产全国免费观看 | 一区二区三区蜜桃网| 激情综合亚洲精品| 欧美系列亚洲系列| 国产精品入口麻豆原神| 日韩1区2区日韩1区2区| 99在线精品一区二区三区| 欧美电影免费观看高清完整版 | 日韩成人dvd| 91免费版pro下载短视频| 精品福利av导航| 午夜久久久久久久久| av影院午夜一区| 久久综合色天天久久综合图片| 一区二区三区在线视频免费观看| 国产成人亚洲综合a∨婷婷| 911精品国产一区二区在线| 亚洲女性喷水在线观看一区| 国产福利一区二区三区视频在线| 欧美福利视频一区| 亚洲综合丝袜美腿| 波波电影院一区二区三区| 久久久精品人体av艺术| 日韩二区三区四区| 欧美视频一区二区三区在线观看| 国产精品久久久久影院老司| 精品一区二区三区欧美| 91精品国产综合久久久久久久| 亚洲欧美偷拍另类a∨色屁股| 国产aⅴ精品一区二区三区色成熟| 日韩一区二区三区免费观看| 丝袜诱惑制服诱惑色一区在线观看 | 91麻豆swag| 中文字幕一区二区视频| 国产精品伊人色| 久久日一线二线三线suv| 久久精品国产第一区二区三区| 在线不卡一区二区| 视频一区二区三区中文字幕| 欧美中文字幕不卡| 亚洲国产精品嫩草影院| 欧美性感一区二区三区| 亚洲国产精品自拍| 欧美视频中文字幕| 亚洲国产wwwccc36天堂| 在线观看日韩高清av| 亚洲精品中文字幕乱码三区| 99re8在线精品视频免费播放| 欧美高清在线一区二区| 成人免费视频caoporn| 国产三级精品视频| 成人小视频免费观看| 国产精品对白交换视频| eeuss鲁片一区二区三区在线观看| 欧美韩国一区二区| eeuss鲁一区二区三区| 亚洲视频一二三区| 在线中文字幕一区二区| 午夜亚洲福利老司机| 欧美一区在线视频| 精品亚洲欧美一区| 国产视频一区不卡| 99精品视频在线免费观看| 亚洲毛片av在线| 欧美日韩色一区| 老色鬼精品视频在线观看播放| 337p粉嫩大胆噜噜噜噜噜91av| 国产河南妇女毛片精品久久久| 日本一区二区久久| 色天天综合久久久久综合片| 亚洲第一成人在线| 精品少妇一区二区三区在线播放 | 不卡一区中文字幕| 久久精品一区二区三区不卡 | 色狠狠桃花综合| 视频一区中文字幕| 欧美大片拔萝卜| 成人午夜电影小说| 夜夜嗨av一区二区三区| 91精品国产一区二区三区 | 欧美日韩在线亚洲一区蜜芽| 日韩av一级片| 国产夜色精品一区二区av| 91在线免费看| 日本女优在线视频一区二区| 精品久久久久久久久久久院品网| 成人黄色片在线观看| 性感美女久久精品| 久久久精品tv| 91搞黄在线观看| 久久精品噜噜噜成人av农村| 国产精品久久久久一区| 亚洲欧美区自拍先锋| 777色狠狠一区二区三区| 懂色av噜噜一区二区三区av| 亚洲成人自拍偷拍| 国产午夜亚洲精品羞羞网站| 午夜精品福利一区二区三区蜜桃| www.爱久久.com| 午夜精品久久久久久久99水蜜桃| 日韩免费高清电影| 91毛片在线观看| 国产尤物一区二区| 亚洲国产日韩一区二区| 欧美极品另类videosde| 欧美日韩一级二级三级| 成人综合在线观看| 日本午夜一区二区| 亚洲免费高清视频在线| www国产成人| 欧美日本精品一区二区三区| 成人晚上爱看视频| 久久成人麻豆午夜电影| 亚洲线精品一区二区三区| 欧美国产精品久久| 精品美女一区二区三区| 欧美日韩精品一区二区三区四区| 不卡的av中国片| 国产一区二区三区免费看| 亚洲大片精品永久免费| 亚洲视频狠狠干| 久久精品男人的天堂| 日韩欧美一区二区在线视频| 日本道免费精品一区二区三区| 国产91精品在线观看| 老司机一区二区| 天天色 色综合| 亚洲永久精品国产| 一区视频在线播放| 国产亚洲精品精华液| 色综合久久久久综合体桃花网| 午夜电影一区二区| 一区二区三区四区亚洲| 国产精品三级电影| 中文字幕第一页久久| 精品久久一二三区| 日韩视频免费观看高清完整版 | 欧美日韩视频第一区| 色综合婷婷久久|