![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: mtFltGridStructure.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef mtFltGridStructure_H_ 00010 #define mtFltGridStructure_H_ 00011 00012 // 00013 // \file mtFltGridStructure.h 00014 // \brief Represents a GridStructure node inside the MetaFlight file 00015 // 00016 00017 #include "mtflt/mtfltDefines.h" 00018 #include "mtflt/mtFltNode.h" 00019 #include <vlutil/vlConfig.h> 00020 #include <vector> 00021 00022 class DtMfGridLevel; 00023 00024 // \brief Represents a GridStructure node inside the MetaFlight file 00025 // This class represents a Grid Structure, which defines a system of spatial 00026 // subdivisions independent of location, coverage, or dataset type. This is 00027 // one of the types of information conveyed by MetaFlight. 00028 class DT_DLL_mtflt DtMtFltGridStructure : public DtMtFltNode 00029 { 00030 public: 00031 00032 // Default constructor. 00033 DtMtFltGridStructure(); 00034 00035 // Destructor 00036 virtual ~DtMtFltGridStructure(); 00037 00038 // Copy constructor 00039 DtMtFltGridStructure(const DtMtFltGridStructure& node); 00040 00041 // Assignment operator 00042 DtMtFltGridStructure& operator=(const DtMtFltGridStructure& orig); 00043 00044 // Overrides the \p DtMtFltNode::readNode method to read the 00045 // node information from a Metaflight GridStructure node. 00046 // \param root pointer to the root node of the document 00047 // \param node pointer to the xml node that will be read 00048 // \return \b true if success reading the node. \b false otherwise. 00049 virtual bool readNode(const xmlNodePtr root, xmlNodePtr node); 00050 00051 // Returns the number of levels in the grid structure 00052 virtual unsigned int numLevels() const; 00053 00054 // Returns the starting level in the grid structure 00055 virtual unsigned int startingLevel() const; 00056 00057 // Returns the ith GridLevel of the grid structure. ithLevel must be 00058 // between 0 and the total number of levels. Returns 0 if not found or 00059 // if it is out of bounds. 00060 virtual DtMfGridLevel* level(size_t ithLevel) const; 00061 00062 protected: 00063 00064 int myNumLevels; 00065 int myStartingLevel; 00066 std::vector< DtMfGridLevel* > myGridLevels; 00067 00068 }; 00069 00070 #endif 00071