00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef INCLUDE_REGION_H
00024 #define INCLUDE_REGION_H
00025
00026 #include "trigo.h"
00027 #include <gl/gl.h>
00028 #include "myList.h"
00029
00030 typedef Point3D<double> Pt_3D_Double;
00031
00038 class Region
00039 {
00040 public:
00041 BOOL enable;
00042 BOOL computeMinMax;
00043 MyList<Pt_3D_Double> points;
00044 int xMin,xMax;
00045 int yMin,yMax;
00046 int zMin,zMax;
00047 int nbOr;
00048 HRGN hRgnBase;
00049
00050 public:
00051 Region();
00052 void Reset(int deltaXwin=0,int deltaYwin=0);
00053 BOOL Use(HWND hWnd);
00054 void NormalizeSens(POINT *tabPoints,int nbPt);
00055 void SetMinMax(POINT *tabPoints,int nbPt);
00056 BOOL AddElem(Point2D<GLdouble> pos,GLdouble *modelMatrix,GLdouble *projMatrix,GLint *viewPort);
00057 BOOL Compute(Point2D<GLdouble> pos,GLdouble *modelMatrix,GLdouble *projMatrix,GLint *viewPort,Point3D<double> *pt);
00058
00059 };
00060
00061 #endif