VR-Forces 4.0.4 Class Documentation
include/dted/dfad_header.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: dfad_header.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 #ifndef DfadHeader_h
00010 #define DfadHeader_h
00011 
00012 #include "dted/dtedDefines.h"
00013 #include <stdio.h>
00014 #include <vlutil/vlMachineTypes.h>
00015 
00016 
00017 class DT_DLL_dted DtDfadHeader 
00018 {
00019 
00020 public:
00021    DtDfadHeader();
00022    
00023    virtual bool read(FILE* f);
00024 
00025    inline float lon() { return myLon;}
00026    inline float lat() { return myLat;}
00027 
00028 protected:
00029 
00030    virtual void parse();
00031 
00032    float cvDmaLat(char dmaLat[]);
00033    float cvDmaLon(char dmaLon[]);
00034 
00035    struct DtDfadHeaderRecord
00036    {
00037       char Reserved1[27];
00038    };
00039 
00040    struct DtDfadDsiRecord
00041    {
00042    public:
00043       char Id[3];
00044       char SecurityCode[1];
00045       char SecurityControl[2];
00046       char SecurityHandling[27];
00047       char Reserved1[26];
00048       char DMASeries[5];
00049       char UniqueRef[15];
00050       char Reserved2[8];
00051       char DataEditionNumber[2];
00052       char MatchMergeVersion[1];
00053       char MaintenanceDate[4];
00054       char MatchMergeDate[4];
00055       char MaintenanceDesc[4];
00056       char ProducerCode[8];
00057       char Reserved3[16];
00058       char ProductSpecification[9];
00059       char ProductSpecificationAmendment[2];
00060       char ProductSpecificationDate[4];
00061       char VerticalDatum[3];
00062       char HorizontalDatum[5];
00063       char FreeText[10];
00064       char CompilationDate[4];
00065       char Reserved4[22];
00066       char LatDataOrigin[9];
00067       char LonDataOrigin[10];
00068       char LatSWCorner[9];
00069       char LonSWCorner[10];
00070       char LatNECorner[9];
00071       char LonNECorner[10];
00072       char ReservedDMA[100];
00073       char Reserved5[100];
00074       char Reserved6[206];
00075    };
00076 
00077    struct DtDfadAccRecord
00078    {
00079    public:
00080       char Id[3];
00081       char AbsHorzAcc[4];
00082       char Reserved1[4];
00083       char RelHorzAcc[4];
00084       char Reserved2[4];
00085       char AbsVertAcc[4];
00086       char Reserved3[32];
00087       char MultipleAccOutline[2];
00088       char Reserved4[2643]; // 9 times subregion (18 + 14 times coordinate part description)
00089    };
00090 
00091 
00092    DtDfadHeaderRecord myHeader;
00093    DtDfadDsiRecord    myDsi;
00094    DtDfadAccRecord    myAcc;
00095 
00096    float myLat;
00097    float myLon;
00098 };
00099 #endif
00100 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)