struct LASPoint { float nfX; float nfY; float nfZ; float nfIntensity; } class CLASReader { FILE *fp; u_int64_t nNextPt; public: CLASReader(char *pszFilename); ~CLASReader(); char *GetHeaderRecord(char *pszEntryName); /* assuming header has hash table-like entries */ LASPoint *GetPointRecord(u_int64_t nPointID); /* find a safer type :/ */ LASPoint *GetNextPoint(); void *Rewind(); }