00001
00002
00004
00005 #if !defined(AFX_TGEOMETRYDATA_H__852D8CD3_216E_47F2_B595_22E3FE304DA4__INCLUDED_)
00006 #define AFX_TGEOMETRYDATA_H__852D8CD3_216E_47F2_B595_22E3FE304DA4__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #include <stdio.h>
00013 #include <qstring.h>
00014 #include "TKoo3d.h"
00015 #include "TQuadTree2D.h"
00016
00017 class TQuadTree2D;
00019
00024 class TGeometryData
00025 {
00026 private:
00027 TQuadTree2D* quadTree;
00028 int xRes;
00029 int yRes;
00030 int zRes;
00031 int timeSteps;
00032 int setCount;
00033 float timeStepSize;
00034 TKoo3d<float>* geomDat;
00035
00037
00046 int transToArrayOffset(int x, int y, int z)
00047 {
00048 return x+y*xRes+z*xRes*yRes;
00049 }
00050 public:
00052
00057 TKoo3d<float> getBottomRight();
00059
00064 TKoo3d<float> getTopLeft();
00065
00067
00077 TKoo3d< TKoo3d<int> > getContainingTriangle(TKoo3d<float>& pos, TKoo3d<float>* barCoo);
00078
00080
00089 TKoo3d<float> getBarCoordInTri(TKoo3d<float>& pos, TKoo3d< TKoo3d<int> >& tri);
00090
00092
00098 TQuadTree2D* getQuadTree()
00099 {
00100 return quadTree;
00101 }
00103
00108 TKoo3d<float> getSamplePos(int x, int y, int z)
00109 {
00110 return geomDat[transToArrayOffset(x,y,z)];
00111 }
00113
00118 int getSetCount()
00119 {
00120 return setCount;
00121 }
00123
00128 int getTimeStepCount()
00129 {
00130 return timeSteps;
00131 }
00133
00138 float getTimeStepSize()
00139 {
00140 return timeStepSize;
00141 }
00143
00148 int getResX()
00149 {
00150 return xRes;
00151 }
00153
00158 int getResY()
00159 {
00160 return yRes;
00161 }
00163
00168 int getResZ()
00169 {
00170 return zRes;
00171 }
00173
00176 TGeometryData(QString& fileName);
00177 virtual ~TGeometryData();
00178
00179 };
00180
00181 #endif // !defined(AFX_TGEOMETRYDATA_H__852D8CD3_216E_47F2_B595_22E3FE304DA4__INCLUDED_)