VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gdbTerrainWriter.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: gdbTerrainWriter.h,v $ $Revision: 1.22 $ $State: Exp $
7 *******************************************************************************/
8 
9 #ifndef gdbTerrainWriter_H_
10 #define gdbTerrainWriter_H_
11 
12 #include "gdb/gdbDefines.h"
13 #include <stdio.h>
14 #include <vlutil/vlFilename.h>
15 #include "terrainCS/coordSystem.h"
17 #include "gdb/terrainWriter.h"
18 
19 #include "gdb/terrainDatabase.h"
21 
22 
23 //forward declarations
24 class DtExtent;
25 class DtChord;
26 class DtChordBundle;
29 class DtColor;
30 class DtGdbNode;
31 class DtAllTypesPolygon;
34 class DtNetworkNode;
35 class DtNetworkSegment;
36 class DtNetworkEdge;
38 class DtFeature;
39 class DtGroup;
40 class DtSurface;
42 class DtGdbTerrainWriter;
43 
45 
46 // class DtGdbTerrainWriter:
47 //
48 // DtGdbTerrainWriter represents an entire database in GDB
49 // format.
50 
52 {
53 public:
54 
55  // default constructor
57 
58  // initialization function
59  virtual bool writeTerrain(const DtFilename& filename, DtTerrainDatabase *terrain);
60 
61  // destructor
62  virtual ~DtGdbTerrainWriter();
63 
64  static DtTerrainWriter* create();
65 
66  // Returns the type of file this database was loaded from.
67  // This class returns "gdb". Override this function in derived
68  // terrain db classes.
69  virtual const DtString dataType() const;
70 
71 protected:
72 
73  // I/O calls.
74  virtual bool writeTo(FILE* fp, DtTerrainDatabase *terrain);
75 
76  // copy constructor
78 
79  // assignment operator
81 
82  virtual bool writeVersionNumber(FILE* fp);
83  virtual bool writeTerrainIntersectionModelType(FILE* fp);
84 
85  virtual bool writeOptionalFlags(FILE* fp, int optionalFlags);
86  virtual bool writeCoordinateSystem(FILE* fp);
87 
88  virtual bool writeNode(FILE *fp, DtGdbNode *node);
89 
90  virtual bool setWriteFcn(DtGdbNode::DtGdbNodeType type, DtGdbTerrainWriterNodeFcn fun);
91 
93  virtual bool writeSpheroidInformation(FILE* fp);
94 
95  static bool writeGroup(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
96  static bool writeLOD(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
97  static bool writeDynamicCoordSys(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
98  static bool writeStaticCoordSys(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
99  static bool writeTerrainFeature(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
100  static bool writeCulturalFeature(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
101  static bool writeBuilding(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
102  static bool writeTree(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
103  static bool writePolyInd(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
104  static bool writeTriangleInd(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
105  static bool writeFileNode(DtGdbNode *node, FILE *fp, DtGdbTerrainWriter *me);
106 
107  virtual bool writeVertexManager(FILE *fp);
108  virtual bool writeSurfaceManager(FILE *fp);
109  virtual bool writeSurface(FILE *fp, DtSurface &surface);
110  virtual bool writeCoordSys(FILE *fp, DtBaseCoordinateSystem*coordSys);
111 
112  virtual bool writeSpecificationManager(FILE *fp);
113  virtual bool writeVectorNetwork(FILE *fp);
114 
115  // functions to write vector networks
116  virtual bool writeNetworkNode(FILE *fp, DtNetworkNode *node);
117  virtual bool writeNetworkEdge(FILE *fp, DtNetworkEdge *edge);
118  virtual bool writeNetworkSpecElement(FILE *fp, DtNetworkSpecificationElement *elem);
119 
120  virtual bool writeFeature(FILE *fp, DtFeature *feature);
121 
122  // While writeing a GDB file, reports whether this database will contain
123  // optional data
124  bool fileHasOptionalData(DtTerrainFileOptionalData optData);
125 
126  // Save the spatial subdivision info from the descriptor into the file.
127  virtual bool writeSpatialSubdivision(FILE* fp,
129 
130 protected:
131  // This is used to denote whether the specification manager is holding the old style specifications
132  // or the new style (not yet implemented). Can be anything, but treat it as a sub-version number,
134 
136 };
137 
138 #endif

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)