You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
2.7 KiB
C

1 month ago
#pragma once
struct SCATTEREDDATAINDEX//<2F><><EFBFBD>ڲ<EFBFBD>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
short int index;
double distance;//<2F><>ɢ<EFBFBD><EFBFBD><E3B5BD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
};
#include "PointSearcher.h"
#include "Interpolator.h"
#include "TriangleCreator.h"
#include "ScatteredTracer.h"
#include "FaciesTracer.h"
class CGDFMap;
class CScatteredPoint
{
public:
CScatteredPoint();
~CScatteredPoint();
public:
double x;
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ڴ<EFBFBD><DAB4>ڱ߽<DAB1><DFBD>ϵIJ<CFB5><C4B2><EFBFBD><EFBFBD><EFBFBD>*/
double y;
/*0x00--<2D><><EFBFBD>ڱ߽<DAB1><DFBD><EFBFBD>δʹ<CEB4>õ<EFBFBD><C3B5><EFBFBD>ɢ<EFBFBD><C9A2> 0x01--<2D><>ɢ<EFBFBD><C9A2> 0x02--<2D><><EFBFBD>ڱ߽<DAB1><DFBD><EFBFBD> 0x04--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0x08--<2D><><EFBFBD>⾮ //jxd 0x10--<2D><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ֵ*/
BYTE byteType;
/*<2A>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD>ʹ<EFBFBD><CAB9>*/
BYTE byteFlag;
//Operations
public:
BOOL IsOriginPoint();
BOOL IsBorderPoint();
BOOL IsValidPoint();
BOOL IsAppendedPoint();
};
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD><D7B7><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
class CScatteredTrace
{
public:
CScatteredTrace(void);
~CScatteredTrace(void);
public:
void SetWellArray(CObArray* pWellArray);
void SetFaciesTypeManager(CFaciesTypeMgr* pFaciesTypeManager);
CString GetStringData(int index,int iType);
double ConvertStringDataToData(int iType,LPCTSTR strValue);
CString ConvertDataToStringData(int iType,double dValue);
int GetStringDataEnumIndex(int iType,LPCTSTR pString);
void SetStringDataTypeArray(int iType,CStringArray& strarray);
CGDFMap* GetMap();
void SetMap(CGDFMap* pMap);
BOOL TraceFacies();
void Initialize(int iDataCount,int iTypeCount);
void SetData(int index,int iType,double dValue);
double GetData(int index,int iType);
void SetPoint(int index,double x,double y);
void SetStringData(int index,int iType,LPCTSTR str);
BOOL AddBorderToTracer(CFaciesRgnTracer* pTracer,BOOL &bUseBoundary,BOOL bUseFault);
CFaciesTracer* GetFaciesTracer();
CPointSearcher* GetPointSearcher();
CInterpolator* GetInterpolator();
BOOL IsStringData(int iType);
int AddCellNodePoint(double x,double y);
int AddBorderPoint(double x,double y);
int AddOriginPoint(double x,double y);
double* GetDataBuf();
int GetTypeCount();
int GetStringDataEnumCount(int iType);
void Clear();
void ClearPointFlag();
int GetDataCount();
CScatteredPoint* GetPointBuf();
void GetStringDataTypeArray(int iType,CStringArray& strarray);
CArray<CScatteredPoint,CScatteredPoint> m_PointArray;
CArray<double,double> m_DataArray;
CArray<int,int> m_FaciesArray;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CArray<BOOL,BOOL> m_StringValueArray;//<2F>Ƿ<EFBFBD><C7B7>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>
CTypedPtrArray<CPtrArray,CStringArray*> m_StringDataArrayArray;
CArray<double,double> m_MinValueArray;
CArray<double,double> m_MaxValueArray;
CPointSearcher m_PointSearcher;
CInterpolator m_Interpolator;
CFaciesTracer m_FaciesTracer;
CObArray* m_pWellArray;
CFaciesTypeMgr* m_pFaciesTypeManager;
//CYAMapFile* m_pMapFile;
CGDFMap* m_pMap;
CArray<FACIESPOINT,FACIESPOINT> BorderPointArray;
};