VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainDatabaseTool.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: terrainDatabaseTool.h,v $ $Revision: 1.5 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef terrainDbTool_H_
9 #define terrainDbTool_H_
10 
11 //
12 // \file terrainDbTool.h
13 // \brief Contains the DtTerrainDatabaseTool class declaration.
14 //
15 
16 #include "gdb/gdbDefines.h"
17 
18 class DtTerrainDatabase;
20 class Coordinate_System;
21 class DtPoint;
22 
23 //
24 // The DtTerrainDatabaseTool is a tool for manipulating a specified terrain
25 // database. It provides capabilities such as clipping/planarizing the vector
26 // data, eliminating duplicate vertices, and other common terrain modifications.
28 {
29 public:
30 
32 
33  // Copy constructor and Assignment operator are left
34  // to default, compiler generated versions.
35  // @note The DtTerrainDatabaseTool @b is copyable and assignable.
36  //
37  // DtTerrainDatabaseTool(const DtTerrainDatabaseTool& original);
38  // DtTerrainDatabaseTool& operator=(const DtTerrainDatabaseTool& original);
39 
40  virtual ~DtTerrainDatabaseTool();
41 
42  // Eliminate duplicate vertices with tolerance
43  void eliminateDuplicateVertices(double tolerance, DtTerrainDatabase& terrainDb) const;
44 
45  // Eliminate duplicate surfaces
46  void eliminateDuplicateSurfaces(DtTerrainDatabase& terrainDb) const;
47 
48  // Turn 3-sided polygons into triangles, if any.
49  void convert3SidedPolygonsToTriangles(DtTerrainDatabase& terrainDb) const;
50 
51  // Apply all transformation nodes
52  void collapseNodeTree(DtTerrainDatabase& terrainDb) const;
53 
54  // Transform the existing coordinate system to another coordinate system.
55  void transformCoordinateSystem(Coordinate_System& toCs,
56  bool allowReflect, DtTerrainDatabase& terrainDb) const;
57 
58  void setOrigin(double radiansLatitude, double radiansLongitude,
59  unsigned int zone, DtTerrainDatabase& terrainDb) const;
60 
61  // Clip vector data
62  void clipVectorData(DtTerrainDatabase& terrainDb) const;
63 
64  void clipVectorData(const DtPoint& swPoint, const DtPoint& nePoint,
65  DtTerrainDatabase& terrainDb) const;
66 
67  // Planarize vector data
68  void planarizeVectorData(double tolerance, unsigned int excessiveEdgeCount,
69  DtTerrainDatabase& terrainDb) const;
70 
71  // Eliminate duplicate specifications
72  void eliminateDuplicateSpecifications(DtTerrainDatabase& terrainDb) const;
73 
74  // Re-balance the node tree - is this exposed or not?
75  void rebalanceTerrain(unsigned int branching, unsigned int leafing,
76  DtTerrainDatabase& terrainDb) const;
77 
78  bool processDatabase(DtTerrainDatabase& terrainDatabase,
80 
81 
82 private:
83 
84 
85 
86 };
87 
88 #endif
89 
90 
91 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)