Скачиваний:
16
Добавлен:
01.05.2014
Размер:
2.65 Кб
Скачать
// stdafx.h : include file for standard system include files,
//  or project specific include files that are used frequently, but
//      are changed infrequently
//

#if !defined(AFX_STDAFX_H__6F97A27C_4E8F_4C10_84EA_7523A7D6ED30__INCLUDED_)
#define AFX_STDAFX_H__6F97A27C_4E8F_4C10_84EA_7523A7D6ED30__INCLUDED_

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

#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers

#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include <afxdisp.h>        // MFC Automation classes
#include <afxdtctl.h>		// MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>			// MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

#pragma warning(disable:4786)
//#pragma warning(disable:4530)

#include "vector"
using namespace std;
#include "TGeometryObj.h"

typedef vector<TGeometryObj*> TGVector;
typedef vector<TGVector*> TGVectorCollect; 
#include "TPoint.h"

typedef TPoint TPicPoint;
typedef TPoint TScnPoint;

int leftToRightCmp(TPoint* a, TPoint* b);
int rightToLeftCmp(TPoint* a, TPoint* b);


//#define SIMPLIFICATION //Так сказал Ивановский, Ибо нефиг усложнять и так черезчур "навароченный" интерфейс

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.


enum {LEFT, RIGHT, BEYOND, BEHIND, BETWEEN, ORIGIN, DESTINATION};
enum TGeometryObjType {G_POINT=0, G_POLYGON = 1, G_VERTEX = 2, G_EDGE = 3};
enum {CLOCKWISE, COUNTER_CLOCKWISE};


enum {INP_POINTS = 0};
enum {INTERM_POLYGONS = 0, INTERM_UP_BRIGES = 1, INTERM_DOWN_BRIGES = 2};
enum {OUTP_POLYGONS = 0};

//Вектор для геометрических объектов


struct GenInfo{
	int count;
	int max_x;
	int max_y;
	int min_x;
	int min_y;
};


enum TRunMode { AT_ONCE, BY_STEP};
enum TStatus {NOT_READY, READY, WORKING, FINISHED};
enum {UPPER, LOWER};


class TPolygon;

template <class T>
struct Pointer{
  T* Item;
  Pointer* Next;
  Pointer* Prev;
  Pointer(T* item = NULL)
     {
       Next = NULL;
       Prev = NULL;
       Item = item;
     };
  Pointer(Pointer<T>* p)
     {
       Next = p->Next;
       Prev = p->Prev;
       Item = p->Item;
     };
  ~Pointer()
     {
       Next = NULL;
       Prev = NULL;
       Item = NULL;
     };
};

typedef Pointer<TPolygon> PolygonContainer;



#define ID_THREAD_PRIORITY  THREAD_PRIORITY_HIGHEST

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