13 #include "LocalConversion.h"
14 #include "HeightField.h"
23 EGE_UNSUPPORTED_VERSION,
57 bool Create(
const DRECT &area,
int iColumns,
int iRows,
bool bFloat,
64 float bUpgradeToFloat,
bool progress_callback(
int) = NULL);
66 void Scale(
float fScale,
bool bDirect,
bool bRecomputeExtents =
true);
71 bool FillGaps(
DRECT *area = NULL,
bool progress_callback(
int) = NULL);
78 bool LoadFromFile(
const char *szFileName,
bool progress_callback(
int) = NULL);
81 bool LoadFrom3TX(
const char *szFileName,
bool progress_callback(
int) = NULL);
82 bool LoadFromASC(
const char *szFileName,
bool progress_callback(
int) = NULL);
83 bool LoadFromDEM(
const char *szFileName,
bool progress_callback(
int) = NULL);
84 bool LoadFromTerragen(
const char *szFileName,
bool progress_callback(
int) = NULL);
85 bool LoadFromCDF(
const char *szFileName,
bool progress_callback(
int) = NULL);
86 bool LoadFromDTED(
const char *szFileName,
bool progress_callback(
int) = NULL);
87 bool LoadFromGTOPO30(
const char *szFileName,
bool progress_callback(
int) = NULL);
88 bool LoadFromGLOBE(
const char *szFileName,
bool progress_callback(
int) = NULL);
89 bool LoadFromGRD(
const char *szFileName,
bool progress_callback(
int) = NULL);
90 bool LoadFromDSAA(
const char* szFileName,
bool progress_callback(
int) = NULL);
91 bool LoadFromPGM(
const char *szFileName,
bool progress_callback(
int) = NULL);
92 bool LoadFromRAW(
const char *szFileName,
int width,
int height,
93 int bytes_per_element,
float vertical_units,
bool bBigEndian,
94 bool progress_callback(
int));
95 bool LoadFromMicroDEM(
const char *szFileName,
bool progress_callback(
int) = NULL);
96 bool LoadFromXYZ(
const char *szFileName,
bool progress_callback(
int) = NULL);
97 bool LoadFromXYZ(FILE *fp,
const char *format,
bool progress_callback(
int) = NULL);
98 bool LoadFromHGT(
const char *szFileName,
bool progress_callback(
int) = NULL);
99 bool LoadFromBT(
const char *szFileName,
bool progress_callback(
int) = NULL,
100 vtElevError *err = NULL);
101 bool LoadBTHeader(
const char *szFileName, vtElevError *err = NULL);
102 bool LoadBTData(
const char *szFileName,
bool progress_callback(
int) = NULL,
103 vtElevError *err = NULL);
106 bool LoadWithGDAL(
const char *szFileName,
bool progress_callback(
int) = NULL);
109 bool LoadFromNTF5(
const char *szFileName,
bool progress_callback(
int) = NULL);
112 vtString GetErrorMsg() {
return m_strError; }
115 bool SaveTo3TX(
const char *szFileName,
bool progress_callback(
int) = NULL);
117 bool SaveToBMP(
const char *szFileName)
const;
119 bool SaveToBT(
const char *szFileName,
bool progress_callback(
int) = NULL,
bool bGZip =
false);
120 bool SaveToSTM(
const char *szFileName,
bool progress_callback(
int) = NULL);
121 bool SaveToPlanet(
const char *szDirName,
bool progress_callback(
int) = NULL);
122 bool SaveToASC(
const char *szFileName,
bool progress_callback(
int) = NULL)
const;
123 bool SaveToVRML(
const char *szFileName,
bool progress_callback(
int) = NULL)
const;
124 bool SaveToXYZ(
const char *szFileName,
bool progress_callback(
int) = NULL)
const;
125 bool SaveToRAWINF(
const char *szFileName,
bool progress_callback(
int) = NULL)
const;
129 void SetFValue(
int i,
int j,
float value);
130 void SetValue(
int i,
int j,
short value);
133 float GetFValueSafe(
int i,
int j)
const;
150 void FillWithSingleValue(
float fValue);
151 void GetEarthPoint(
int i,
int j,
DPoint2 &p)
const;
152 void GetEarthLocation(
int i,
int j,
DPoint3 &loc)
const;
155 const vtProjection &GetProjection()
const {
return m_proj; }
158 bool GetCorners(
DLine2 &line,
bool bGeo)
const;
159 void SetCorners(
const DLine2 &line);
161 short *GetData() {
return m_pData; }
162 float *GetFloatData() {
return m_pFData; }
164 const short *GetData()
const {
return m_pData; }
165 const float *GetFloatData()
const {
return m_pFData; }
167 void SetScale(
float sc) { m_fVMeters = sc; }
168 float GetScale()
const {
return m_fVMeters; }
170 bool HasData()
const {
return (m_pData != NULL || m_pFData != NULL); }
171 int MemoryNeededToLoad()
const {
return m_iColumns * m_iRows * (m_bFloatMode ? 4 : 2); }
172 int MemoryUsed()
const {
if (m_pData)
return m_iColumns * m_iRows * 2;
173 else if (m_pFData)
return m_iColumns * m_iRows * 4;
180 virtual float GetElevation(
int iX,
int iZ,
bool bTrue =
false)
const;
181 virtual void GetWorldLocation(
int i,
int j,
FPoint3 &loc,
bool bTrue =
false)
const;
185 float GetWorldValue(
int i,
int j,
bool bTrue =
false)
const;
187 bool bTrue =
false,
int iCultureFlags = 0,
188 FPoint3 *vNormal = NULL)
const;
195 float m_fVerticalScale;
200 bool ParseNTF5(OGRDataSource *pDatasource,
vtString &msg,
bool progress_callback(
int));
201 bool GetXYZLine(
const char *buf,
const char *pattern,
const char *format,
202 int components,
double *x,
double *y,
double *z);
207 bool _AllocateArray();
212 #endif // ELEVATIONGRIDH