Table of Contents
LibHFZ examplesLoading a file#include "libhfz.h" // declare some variables float* pMyMap; // a handle to a float array, to be initialised by LibHFZ hfzHeader fh; // a LibHFZ header struct // load the file long rval = hfzLoadEx("myMapFile.hfz", fh, &pMyMap); if(HFZ_STATUS_OK != rval) { // report error (using MFC; sorry!) CStringA TempStr; TempStr.Format("Error when loading: LibHFZ returned '%s' (code = %d)", hfzGetErrorStr(rval), rval); AfxMessageBox(TempStr); } // get width/height/scale long width = fh.nx; // in pixels long height = fh.ny; // in pixels float HorizScale = fh.HorizScale; // in metres per pixel // get value from a pixel (e.g. x,y = 50,12) int x = 50; int y = 12; int k = x+y*width; // linearised index float value = pMyMap[k]; // note: careful dev's should do a bounds check here! // now clean-up once we're done hfzHeader_Reset(fh); // deallocate header info hfzFree(pMyMap); // release map data allocated by hfzLoadEx A complete exampleFor a complete example of LibHFZ usage, please refer to the source code for the L3DTio_HFZ plugin for L3DT. Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
|