VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ssPlacement.h
Go to the documentation of this file.
1 
2 // ssPlacement.h
3 //
4 // Copyright JRM Enterprises, Inc. 2004
5 // All rights reserved.
6 //
7 // This code is the intellectual property of JRM Enterprises, Inc.
8 // It may not be used or released as source or compiled binary form
9 // without the prior written consent of JRM Enterprises, Inc.
10 //
11 // Original Author: Jeff Biggs (jbigz@hiwaay.net)
12 //
13 // Description: declaration of ssPlacement
14 //
15 //
17 
18 #ifndef __ssPlacement_h__
19 #define __ssPlacement_h__
20 
21 #ifdef WIN32
22 # include "ssdllexport.h"
23 #else
24 # include "ssdllexport.h"
25 #endif
26 #include "ssIncAll.h"
27 
29 // class: ssPlacement
35 {
36 
37 public:
38 
40  // ssPlacement
44  ssPlacement();
45 
47  //~ssPlacement
52  virtual ~ssPlacement();
53 
55  //geocentricToGeodeticOrientation
68  void geocentricToGeodeticOrientation(
69  double geocX, double geocY, double geocZ,
70  double geocH, double geocP, double geocR,
71  double &geodH, double &geodP, double &geodR);
72 
74  //geodeticToGeocentricOrientation
87  void geodeticToGeocentricOrientation(
88  double geocX, double geocY, double geocZ,
89  double geodH, double geodP, double geodR,
90  double &geocH, double &geocP, double &geocR);
91 
92 
94  //*getEllipsoid
104  ::ellipsoid *getEllipsoid();
105 
107  //*setEllipsoid
112  void setEllipsoid(::ellipsoid E);
113 
114 
116  //GetRelativeLOS
125  void GetRelativeLOS(double geoCentricPos1[3],double geoCentricOrient1[3],
126  double geoCentricPos2[3], double geoCentricOrient2[3],
127  double *relativeLOS);
128 
129 
130  // trackfile methods
131 
132 
134  //loadSigSimTrackfile
141  bool loadSigSimTrackfile(const char *dataDirectory, const char *trackFilename);
142 
144  //*getTrack
149  ::TRACK *getTrack();
150 
152  //getNumTracks
157  unsigned int getNumTracks();
158 
160  //setTrackGeodeticPos
167  void setTrackGeodeticPos(double lat, double lon, double alt);
168 
170  //getTrackGeodeticPos
177  void getTrackGeodeticPos(double &lat, double &lon, double &alt);
178 
180  //setTrackGeodeticRot
187  void setTrackGeodeticRot(double h, double p, double r);
188 
190  //setTrackGeodeticRot
195  double *setTrackGeodeticRot();
196 
197 protected:
198 
200  // double a = distance [m] of ellipsoid surface from ellipsoid center along direction to prime meridian at equator
201  // double b = distance [m] of ellipsoid surface from ellipsoid center along direction to east longitudinal meridian at equator
202  // double c = distance [m] of ellipsoid surface from ellipsoid center along direction to North geodetic pole
203  // int naxes = Number of axes actually used: 1=sphere (a=b=c, fill c at least); 2=biaxial ellipsoid ((a=b)!=c, fill b and c at least; 3=triaxial ellipsoid (a!=b!=c, fill all).
204 
206 
207  unsigned int m_numTracks;
208 
209  double m_trackGeodeticRot[3];
210 
212 
214 
216 };
217 
218 #endif //__ssPlacement_h__
219 


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)