VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
metafileRecord.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: mfRec.h,v $ $Revision: 1.21 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef metafileRecord_H_
9 #define metafileRecord_H_
10 
13 #include "geometry/color.h"
14 #include "geometry/point.h"
15 #include <vlutil/vlFilename.h>
16 #include <iosfwd>
17 #include <map>
18 
21 
22 typedef std::map<DtString, DtString> DtPropertyNamesMap;
23 typedef DtPropertyNamesMap::iterator DtPropertyNamesIterator;
24 typedef DtPropertyNamesMap::const_iterator DtPropertyNamesConstIterator;
25 
26 //
27 // This is the base class for all metafile records.
29 {
30 
31 public:
32 
35 
37  virtual ~DtMetafileRecord();
38 
41 
43  DtMetafileRecord& operator=(const DtMetafileRecord& orig);
44 
46  virtual bool init();
47 
51  virtual DtString recordTypeName() const = 0;
52 
56  virtual DtConfigCategoryType recordCategory() const = 0;
57 
60  virtual bool canImport();
61 
63  virtual bool put(std::ostream& stream) const;
64 
66  virtual bool get(std::istream& stream);
67 
69  virtual bool processToken(std::istream& stream, DtString& token);
70 
75  virtual bool getAttribute(const DtString attrName, DtString& value, DtString& type, unsigned index=0);
76 
80  virtual bool setAttribute(DtString attrName, DtString value);
81 
83  virtual const DtTerrainInitializer* initializer() const;
84  virtual DtTerrainInitializer* initializer();
85 
88  virtual void setInitializer(DtTerrainInitializer* init);
89 
90  virtual const int recordKey();
91  virtual void setRecordKey(const int key);
92 
94  virtual const DtPropertyNamesMap properties() const;
95 
97  virtual const DtString& recordString() const;
98 
100  virtual void resetFileLists();
101 
103  virtual void setPath(const DtFilename&);
104  virtual const DtFilename& path() const;
105 
106 protected:
107 
109  virtual bool writeAttributes(std::ostream& stream) const;
110 
113  virtual bool getAttribute(const DtString attrName, DtString& value, unsigned index=0);
114 
116  virtual bool setToken(const DtString& token, const DtString value);
117 
118 public:
119 
120  bool isInt(const DtString& valueIn);
121  bool isDouble(const DtString& valueIn);
122  bool isColor(const DtString& valueIn);
123  bool isPoint(const DtString& valueIn);
124  bool isBool(const DtString& valueIn);
125 
126  bool toInt(const DtString& valueIn, int& valueOut);
127  bool toDouble(const DtString& valueIn, double& valueOut);
128  bool toColor(const DtString& valueIn, DtColor& valueOut);
129  bool toPoint(const DtString& valueIn, DtPoint& valueOut);
130  bool toBool(const DtString& valueIn, bool& valueOut);
131 
132 protected:
133 
136  int myRecordKey; // Unique int indentifier for the record
137  DtPropertyNamesMap myAttributeNames; // The attributes that the record has
139  DtFilename myPath;
140 
141 protected:
142 
143  static const DtString theImport; // Used to determine whether the record is
144  // importable or not
145 
146 };
147 
148 DT_DLL_terrainDbFactory std::ostream& operator<<(std::ostream& str, const DtMetafileRecord& object);
149 DT_DLL_terrainDbFactory std::istream& operator>>(std::istream& str, DtMetafileRecord& object);
150 
151 #endif
152 
DtPropertyNamesMap::iterator DtPropertyNamesIterator
Definition: metafileRecord.h:23
DtPropertyNamesMap::const_iterator DtPropertyNamesConstIterator
Definition: metafileRecord.h:24
DtConfigCategoryType
Definition: terrainDefines.h:19
void put(DtAStarGraph::DynamicPropertyMap< T > &map, size_t index, const T &value)
template &lt;typename t&gt;=&quot;&quot;&gt; T get(const DtAStarGraph::DynamicPropertyMap&lt;T&gt;* map, size_t index) { retur...
Definition: aStarGraph.h:637
DtTerrainInitializer * mypInitializer
Definition: metafileRecord.h:134
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
static const DtString theImport
Definition: metafileRecord.h:143
Definition: color.h:25
DtFilename myPath
Definition: metafileRecord.h:139
int myRecordKey
Definition: metafileRecord.h:136
#define DT_DLL_terrainDbFactory
Definition: terrainDbFactoryDefines.h:23
voidpf stream
Definition: ioapi.h:39
Definition: metafileRecord.h:28
DtString myRecordString
Definition: metafileRecord.h:135
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: terrainInitializer.h:16
DT_DLL_features std::istream & operator>>(std::istream &, DtQuery &)
iostream input iteration
std::map< DtString, DtString > DtPropertyNamesMap
Definition: metafileRecord.h:20
Definition: specificationAttribute.h:23
Definition: point.h:34
DtPropertyNamesMap myAttributeNames
Definition: metafileRecord.h:137
bool myCanImport
Definition: metafileRecord.h:138

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)