Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Быстрый алгоритм разделения и слияния при помощи мостиков / source / ConvexHull / TMergeHull
.h// 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