VR-Vantage 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ssRadar.h
Go to the documentation of this file.
1 
2 // Copyright JRM Enterprises, Inc. 2004 - 2011
3 // All rights reserved.
4 //
5 // This code is the intellectual property of JRM Enterprises, Inc.
6 // It may not be used or released as source or compiled binary form
7 // without the prior written consent of JRM Enterprises, Inc.
8 //
10 
11 #ifndef _ssRadar_
12 #define _ssRadar_
13 
14 #include "ssEnvironment.h"
15 #include "ssObject.h"
16 #include "ssdllexport.h"
17 #include <map>
18 
19 #ifdef WIN32
20 #pragma warning (disable : 4251) // needs to have dll-interface to be used by clients
21 #endif // WIN32
22 
24 // class: ssRadar
25 //
26 // description: radar methods for generation of SAR map - this is still preliminary.
27 //
29 {
30 public:
32  typedef std::map<int, ssObject *> ObjectMap;
33 
35  //ssRadar
39  ssRadar();
40 
42  //~ssRadar
46  ~ssRadar();
47 
49  //ComputeOTWRadarView
62  bool ComputeOTWRadarView(ssSensor *sensor,
63  int *objectIDMap,
64  double *wpdataMap,
65  int *msIndexMap,
66  double *rangeMap,
67  double *normalMap,
68  double *angleMap,
69  double **powerdensity2D);
70 
72  // ComputeGMTIView
83  bool ComputeGMTIView(ssSensor *sensor,
84  int *objectIDMap,
85  int *msIndexMap,
86  double *rangeMap,
87  double *normalMap,
88  double *angleMap,
89  double **dopplerFactor);
90 
92  //getRFReceivedPowerDensity2D
104  bool getRFReceivedPowerDensity2D(ssSensor *sensor,
105  int *objectIDMap,
106  int *msIndexMap,
107  float *rangeMap,
108  double *normalMap,
109  double **power2D,
110  double **powerdensity2D);
111 
112 
114  //getRFReceivedPowerDensityKE
126  bool getRFReceivedPowerDensityKE(ssSensor *sensor,
127  int objectID,
128  int msIndex,
129  float range,
130  double *normal,
131  double **power,
132  double **powerdensity);
133 
134 
136  //get2DRadianceMap
152  bool get2DRadianceMap(ssSensor *sensor,
153  int *objectIDMap,
154  int *msIndexMap,
155  int *mixtureMap,
156  double *normalMap,
157  double *positionMap,
158  double **radiance2D,
159  bool atmEnable,
160  bool scatterEnable,
161  bool emissionEnable,
162  bool lightEnable);
163 
164 
165  static void osvSarModelGPU(float *f, float *c, unsigned int width, unsigned int height, unsigned int channels, bool *changed);
166 
168  //setFrequencyAttributes
175  void setFrequencyAttributes(ssSensor *sensor, double freqMin, double freqMax, int numBins);
176 
178  //getEmitterCenterFrequency
183  double getEmitterCenterFrequency(ssSensor *sensor);
184 
186  //getRCS
193  double getProjectedRCS(ssSensor *sensor, ssObject *object, ssEnvironment *env);
194 
196  //getSCRCS
204  double getSCRCS(ssSensor *sensor, ssObject *object, ssEnvironment *env);
205 
207  //getTerrainRCS
220  bool getTerrainRCS(ssSensor *sensor,
221  ssObject *object,
222  ssEnvironment *env,
223  int *objectIDMap,
224  int *msIndexMap,
225  double *rangeMap,
226  double *normalMap,
227  double **sigma0Mean,
228  double **sigma0StDev);
229 
230 
231  // helpers
232 
234  //setEnvironment
239  void setEnvironment(ssEnvironment *env);
240 
242  //*getEnvironment
247  ssEnvironment *getEnvironment();
248 
249 private:
250 
252  //setNumberObjects
257  void setNumberObjects(unsigned int num);
258 
260  //getNumberObjects
265  unsigned int getNumberObjects();
266 
268  //setObjectMap
273  void setObjectMap(ObjectMap map);
274 
276  //setTerrain
281  void setTerrain(ssObject *obj);
282 
284  unsigned int m_numberObjects;
285 
288 
291 
292  struct Implementation;
293  Implementation *m_impl;
294 
295  friend class SigSimRT;
296 
297 };
298 
299 
300 
301 #endif // _ssRadar_
302 


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