Скачиваний:
17
Добавлен:
01.05.2014
Размер:
1.7 Кб
Скачать
// TMergeHull.h: interface for the TMergeHull class.
//
//////////////////////////////////////////////////////////////////////




#if !defined(AFX_TMERGEHULL_H__C9609948_C2F7_4C26_ACE2_CF6BF5DD0A97__INCLUDED_)
#define AFX_TMERGEHULL_H__C9609948_C2F7_4C26_ACE2_CF6BF5DD0A97__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "TPoint.h"
#include "Tpolygon.h"

class CConvexHullDoc;
class CConvexHullView;

#include <afxmt.h>

#include "ConvexHullView.h"

class TMergeHull  
{
private:
    TStatus FStatus;
    int MaxX;
    int MaxY;
    void StepDone(void);
    TStatus __fastcall GetStatus();
	TPolygon* temp;
	CConvexHullDoc* doc;
	CConvexHullView* view;
	PolygonContainer* First, *Last;
	UINT CountPoly;

protected:
    bool _Stay;
    TRunMode _RunMode;
    TPoint** InpData;
    int PointCount;
    TGVectorCollect* IntermedData;
    TPolygon* OutpData2;
	

public:
	void setRunMode(TRunMode mode);
	TMergeHull();
	void SetDocument(CConvexHullDoc* doc);
	void SetView(CConvexHullView* view);

	virtual ~TMergeHull();
	TPolygon* mHull( TPoint *p[], int n);
	void Run( TGVectorCollect* input_data, 
		  TGVectorCollect* intermed_data,
		  TGVectorCollect* output_data,
		  TRunMode run_mode
		);
	TPolygon* merge(TPolygon * L, TPolygon * R);
    void brige(TPolygon * L, TPolygon * R, Vertex* & vl, Vertex* & vr, int type);
	CEvent g_eventContinue;
	void NextStep(TRunMode run_mode);
	
	int Generate(TGVector* Vec, GenInfo gi);//int NumPoints, double X_Left, double X_Right, double Y_Top, double Y_Bottom);
};

#endif // !defined(AFX_TMERGEHULL_H__C9609948_C2F7_4C26_ACE2_CF6BF5DD0A97__INCLUDED_)
Соседние файлы в папке ConvexHull