VR-Vantage 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 #include "SigSimStructs.h"
22 #ifdef WIN32
23 # include "ssdllexport.h"
24 #else
25 # include "ssdllexport.h"
26 
27 #endif
28 
30 // class: ssPlacement
36 {
37 
38 public:
39 
41  // ssPlacement
45  ssPlacement();
46 
48  //~ssPlacement
53  virtual ~ssPlacement();
54 
56  //geocentricToGeodeticOrientation
69  void geocentricToGeodeticOrientation(
70  double geocX, double geocY, double geocZ,
71  double geocH, double geocP, double geocR,
72  double &geodH, double &geodP, double &geodR);
73 
75  //geodeticToGeocentricOrientation
88  void geodeticToGeocentricOrientation(
89  double geocX, double geocY, double geocZ,
90  double geodH, double geodP, double geodR,
91  double &geocH, double &geocP, double &geocR);
92 
93 
95  //*getEllipsoid
105  ::ellipsoid *getEllipsoid();
106 
108  //GetRelativeLOS
117  void GetRelativeLOS(double geoCentricPos1[3],double geoCentricOrient1[3],
118  double geoCentricPos2[3], double geoCentricOrient2[3],
119  double *relativeLOS);
120 
121 
122  // trackfile methods
123 
124 
126  //loadSigSimTrackfile
133  bool loadSigSimTrackfile(const char *dataDirectory, const char *trackFilename);
134 
136  //*getTrack
141  ::TRACK *getTrack();
142 
144  //getNumTracks
149  unsigned int getNumTracks();
150 
152  //setTrackGeodeticPos
159  void setTrackGeodeticPos(double lat, double lon, double alt);
160 
162  //getTrackGeodeticPos
169  void getTrackGeodeticPos(double &lat, double &lon, double &alt);
170 
172  //setTrackGeodeticRot
179  void setTrackGeodeticRot(double h, double p, double r);
180 
182  //setTrackGeodeticRot
187  double *setTrackGeodeticRot();
188 
189 protected:
190 
192  // double a = distance [m] of ellipsoid surface from ellipsoid center along direction to prime meridian at equator
193  // double b = distance [m] of ellipsoid surface from ellipsoid center along direction to east longitudinal meridian at equator
194  // double c = distance [m] of ellipsoid surface from ellipsoid center along direction to North geodetic pole
195  // 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).
196 
198 
199  unsigned int m_numTracks;
200 
201  double m_trackGeodeticRot[3];
202 
204 
206 
208 };
209 
210 #endif //__ssPlacement_h__
211 


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