VR-Forces 4.1 Class Documentation
terrainSymbolUpdater.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: terrainSymbolUpdater.h,v $ $Revision: 1.19 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef TERRAINSYMBOLUPDATER_H_
13 #define TERRAINSYMBOLUPDATER_H_
14 
16 #include "tmqt/tmSymbolUpdater.h"
18 
19 class DtTMDisplayOptions;
20 class DtTTSSymbol;
21 class Coordinate_System;
22 class DtVector;
23 class DtCircleSymbol;
24 class DtCompositeSymbol;
25 class DtBoxSymbol;
26 class DtSpecification;
27 class DtCompassModelData;
28 class DtTaitBryan;
29 class DtLineSymbol;
30 
33 {
34  Q_OBJECT
35 
36 public:
37 
39 
40  virtual ~DtTerrainSymbolUpdater();
41 
42 public:
43 
45  static DtTMSymbolUpdater* create();
46 
47 public:
48 
50  virtual void init(DtTMArea* area);
51 
53  virtual bool calculateHeading(const DtTaitBryan& geocentricOrientation, const DtVector& disLocation,
54  double& angle, DtVector& localHeading, DtTaitBryan& localOrientation, const Coordinate_System* cs) const;
55 
59  static QString convertFromSource(const DtPoint& pnt);
60 
63  static double elevationAngleTo(const DtVector& observerPosition,
64  const DtVector& targetPosition, const Coordinate_System& coordinateSystem);
65 
69  virtual double greatCircleDistance(const DtVector& origin, const DtVector& end) const;
70 
73  virtual double headingAngleTo(const DtVector& observerPosition,
74  const DtVector& targetPosition, const Coordinate_System& coordinateSystem) const;
75 
77  virtual double meterLengthOfDegreeOfLongitude(double lon) const;
78 
80  virtual double meterLengthOfDegreeOfLatitude(double lat) const;
81 
84  virtual double range(const QVector<DtPoint>* pnts, bool useGreatCircle = false) const;
85 
86 protected:
87 
88  virtual DtSymbol* createTerrainNodeChildSymbol(const DtSpecification& spec, const DtTerrainModelData& data, void *usr) const;
89 
90  virtual DtSymbol* createTerrainEdgeChildSymbol(const DtTerrainModelData& data, void *usr) const;
91 
94  virtual void updateCompassOrigin(DtSymbol& s) const;
95 
96  virtual bool updateNodeOptions(DtCompositeSymbol* comp, const DtTMDisplayOptions* opt,
97  const DtTerrainModelData& d, void* usr) const;
98 
99  virtual bool updateEdgeOptions(DtCompositeSymbol* comp, const DtTMDisplayOptions* opt,
100  const DtTerrainModelData& d, void* usr) const;
101 
102  virtual void updateNodeSymbol(DtSymbol& s, DtTerrainModelData&, void* usr) const;
103 
104  virtual void updateNodeSymbol(DtCompositeSymbol* comp, DtTerrainModelData&, void* usr) const;
105 
106  virtual void updateEdgeSymbol(DtSymbol& s, DtTerrainModelData&, void* usr) const;
107 
108  virtual void updateEdgeSymbol(DtCompositeSymbol* comp, DtTerrainModelData&, void* usr) const;
109 
112  virtual void updateSymbol(DtLineSymbol&, const DtSpecification&, DtSegmentList&, DtTerrainModelData&, void* usr) const;
113  virtual void updateSymbol(DtCircleSymbol&, const DtSpecification&, DtSegmentList&, DtTerrainModelData&, void* usr) const;
114  virtual void updateSymbol(DtBoxSymbol&, const DtSpecification&, DtSegmentList&, DtTerrainModelData&, void* usr) const;
115 
118  virtual void updateCompassData(DtSymbol& s, const DtCompassModelData& d, void* usr) const;
119 
122  virtual void updateTerrainData(DtSymbol& s, DtTerrainModelData& d, void* usr) const;
123 
124 public:
125 
128 
133  static void updateCompassDataCb(const DtTMSymbolUpdater* updater, DtSymbol& s,
134  const DtModelData& d, void* usr);
135 
140  static void updateTerrainDataCb(const DtTMSymbolUpdater* updater, DtSymbol& s,
141  const DtModelData& d, void* usr);
142 
143 };
144 
145 #endif //TERRAINSYMBOLUPDATER_H_
146 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)