VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMetaFlightParser.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvTerrain/vrvTerrain.h>
12 #include <libxml/tree.h>
13 #include <string>
14 
15 namespace makVrv
16 {
20  {
21  public:
22 
25 
27  bool openFile(const std::string& fileName,
28  const std::string& virtualTextureFilename, std::string& parseError);
29 
31  const std::string& fileName() const;
32 
36  const std::string& virtualTextureFileName() const;
37 
40  static bool publish( const std::string& fileName,
41  const std::string& virtualTextureFilename,
42  const std::string& outputFileName,
43  bool encryptingData, bool removeVT, std::string& parseError,
44  bool extendGridLevelZero, float extendGridLevelZeroTo);
45 
47  const char* currentElementType() const;
48 
50  const char* currentElementName() const;
51 
53  const char* currentElementReference() const;
54 
57  std::string currentElementNameOrGenerateUnique();
58 
60  const char* currentElementText() const;
61 
63  bool getCurrentElementValue(std::string& value) const;
64 
66  bool getCurrentElementValue(int& value) const;
67 
69  bool getCurrentElementValue(unsigned int& value) const;
70 
72  bool getCurrentElementValue(double& value) const;
73 
75  unsigned int numberOfChildElements() const;
76 
79  bool readFirstChildElement();
80 
82  bool readNextElement();
83 
85  bool readPreviousElement();
86 
88  bool readParentElement();
89 
90  protected:
91 
92  static xmlDocPtr createDocument( const std::string& file,
93  std::string& parseError );
94 
95  static int countChildrenWithName( xmlNodePtr node,
96  const std::string& nodeName );
97 
98  static xmlNodePtr findChildWithName( const xmlNodePtr node,
99  const std::string& nodeName, const int occurance = 0);
100 
101  static void replaceAll( std::string& result,
102  const std::string& replaceWhat, const std::string& replaceWithWhat );
103 
104  static xmlNodePtr findDatabaseNode( xmlDocPtr xmlDocument,
105  std::string& parseError );
106 
107  static xmlNodePtr findChildWithAttribute( xmlNodePtr node,
108  const std::string& nodeName, const std::string& attrName,
109  const std::string& attrValue );
110 
111  static const char* attribute( xmlNodePtr node,
112  const std::string& attrName );
113 
114  static const char* text(xmlNodePtr node);
115 
116  static bool setText( xmlNodePtr node,const std::string& text );
117 
118  protected:
119 
120  std::string myFileName;
122 
123  xmlDocPtr myDocument;
125  unsigned int myUniqueId;
126  };
127 }
128 
File responsible for parsing and traversing a metaflight xml file.
Definition: DtMetaFlightParser.h:19
std::string myVirtualTextureFileName
Definition: DtMetaFlightParser.h:121
unsigned int myUniqueId
Definition: DtMetaFlightParser.h:125
xmlDocPtr myDocument
Definition: DtMetaFlightParser.h:123
std::string myFileName
Definition: DtMetaFlightParser.h:120
xmlNodePtr myCurrentNode
Definition: DtMetaFlightParser.h:124
Contains DLL export macros.
xmlNode * xmlNodePtr
Definition: DtLightPointTable.h:20
#define DT_DLL_VRVTERRAIN
Definition: vrvTerrain.h:19

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)