-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy path_generic_state_bands_8h_source.html
188 lines (186 loc) · 20.9 KB
/
_generic_state_bands_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DAIDALUS: include/GenericStateBands.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">DAIDALUS
 <span id="projectnumber">v2.0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">GenericStateBands.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* </span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Bands interface</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Contact: Jeff Maddalon</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Organization: NASA/Langley Research Center</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Copyright (c) 2011-2021 United States Government as represented by</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the National Aeronautics and Space Administration. No copyright</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * is claimed in the United States under Title 17, U.S.Code. All Other</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * Rights Reserved.</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#ifndef GENERICSTATEBANDS_H_</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define GENERICSTATEBANDS_H_</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "Vect2.h"</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "Vect3.h"</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "BandsRegion.h"</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">//#include "BandsCore.h"</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "Interval.h"</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "IntervalSet.h"</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "GenericBands.h"</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "Position.h"</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "Velocity.h"</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <string></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">namespace </span><a class="code" href="namespacelarcfm.html">larcfm</a> {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classlarcfm_1_1_generic_state_bands.html"> 35</a></span> <span class="keyword">class </span><a class="code" href="classlarcfm_1_1_generic_state_bands.html">GenericStateBands</a> : <span class="keyword">public</span> <a class="code" href="classlarcfm_1_1_generic_bands.html">GenericBands</a> {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">virtual</span> ~<a class="code" href="classlarcfm_1_1_generic_state_bands.html">GenericStateBands</a>() {};</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlarcfm_1_1_generic_state_bands.html#ab0ecd5bfb6d33c517af0ca51ddf04c37">setOwnship</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classlarcfm_1_1_position.html">Position</a>& s, <span class="keyword">const</span> <a class="code" href="classlarcfm_1_1_velocity.html">Velocity</a>& v) = 0;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// /**</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// * Specify the ownship's position and velocity. Once the ownship</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// * is set, any existing 'band' information is cleared. This also</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">// * sets the bands object to the lat/lon coordinate frame.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">// *</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">// * @param lat north latitude [deg] of ownship</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// * @param lon east longitude [deg] of ownship</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// * @param alt altitude [feet] of ownship</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">// * @param trk track angle [degrees clockwise from true north] of ownship</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">// * @param gs ground speed [knot] of ownship</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">// * @param vs vertical speed [feet/min] of ownship</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">// */</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// virtual void setOwnshipLL(double lat, double lon, const std::string& hunit, double alt, const std::string& vunit, double trk, const std::string& trkunit, double gs, const std::string& gsunit, double vs, const std::string& vsunit) = 0;</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">//</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// /**</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// * Specify the ownship's position and velocity. Once the ownship</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// * is set, any existing 'band' information is cleared. This also</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// * sets the bands object to the Euclidean coordinate frame.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">// *</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// * @param sx x position [nmi] of ownship</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// * @param sy y position [nmi] of ownship</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// * @param sz z position [feet] of ownship</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// * @param vx x speed component [knot] of ownship</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// * @param vy y speed component [knot] of ownship</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// * @param vz z speed component [feet/min] of ownship</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// */</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// virtual void setOwnshipXYZ(double sx, double sy, const std::string& hpunit, double sz, const std::string& vpunit, double vx, double vy, const std::string& hvunit, double vz, const std::string& vvunit) = 0;</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlarcfm_1_1_generic_state_bands.html#a0135c52f05378183002f6f1db50fb3d6">addTraffic</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classlarcfm_1_1_position.html">Position</a>& si, <span class="keyword">const</span> <a class="code" href="classlarcfm_1_1_velocity.html">Velocity</a>& vi) = 0;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// /**</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">// * Add a traffic aircraft to this set of the conflict prevention</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">// * bands. No traffic aircraft can be added</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// * until the ownship is set (see setOwnship()), and traffic coordinates must be in the same frams as the ownship.</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// *</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">// * @param lat north latitude [deg] of the traffic</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">// * @param lon east longitude [deg] of the traffic</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">// * @param alt altitude [feet] of the traffic</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// * @param trk track angle [degrees clockwise from true north] of the traffic</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// * @param gs ground speed [knot] of the traffic</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// * @param vs vertical speed [feet/min] of the traffic</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// * @return false if no ownship has been set.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// */</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// virtual bool addTrafficLL(double lat, double lon, const std::string& hunit, double alt, const std::string& vunit, double trk, const std::string& trkunit, double gs, const std::string& gsunit, double vs, const std::string& vsunit) = 0;</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">//</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// /**</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">// * Add a traffic aircraft to this set of the conflict prevention</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// * bands. No traffic aircraft can be added</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">// * until the ownship is set (see setOwnship()), and traffic coordinates must be in the same frams as the ownship.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">// *</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">// * @param sx x position [nmi] of the traffic</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">// * @param sy y position [nmi] of the traffic</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">// * @param sz z position [feet] of the traffic</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// * @param vx x speed component [knot] of the traffic</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// * @param vy y speed component [knot] of the traffic</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// * @param vz z speed component [feet/min] of the traffic</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// * @return false if no ownship has been set.</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// */</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// virtual bool addTrafficXYZ(double sx, double sy, const std::string& hpunit, double sz, const std::string& vpunit, double vx, double vy, const std::string& hvunit, double vz, const std::string& vvunit) = 0;</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> };</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclasslarcfm_1_1_position_html"><div class="ttname"><a href="classlarcfm_1_1_position.html">larcfm::Position</a></div><div class="ttdef"><b>Definition:</b> Position.h:40</div></div>
<div class="ttc" id="aclasslarcfm_1_1_generic_state_bands_html_ab0ecd5bfb6d33c517af0ca51ddf04c37"><div class="ttname"><a href="classlarcfm_1_1_generic_state_bands.html#ab0ecd5bfb6d33c517af0ca51ddf04c37">larcfm::GenericStateBands::setOwnship</a></div><div class="ttdeci">virtual void setOwnship(const std::string &id, const Position &s, const Velocity &v)=0</div></div>
<div class="ttc" id="aclasslarcfm_1_1_generic_state_bands_html"><div class="ttname"><a href="classlarcfm_1_1_generic_state_bands.html">larcfm::GenericStateBands</a></div><div class="ttdef"><b>Definition:</b> GenericStateBands.h:35</div></div>
<div class="ttc" id="aclasslarcfm_1_1_generic_bands_html"><div class="ttname"><a href="classlarcfm_1_1_generic_bands.html">larcfm::GenericBands</a></div><div class="ttdef"><b>Definition:</b> GenericBands.h:32</div></div>
<div class="ttc" id="aclasslarcfm_1_1_velocity_html"><div class="ttname"><a href="classlarcfm_1_1_velocity.html">larcfm::Velocity</a></div><div class="ttdef"><b>Definition:</b> Velocity.h:36</div></div>
<div class="ttc" id="aclasslarcfm_1_1_generic_state_bands_html_a0135c52f05378183002f6f1db50fb3d6"><div class="ttname"><a href="classlarcfm_1_1_generic_state_bands.html#a0135c52f05378183002f6f1db50fb3d6">larcfm::GenericStateBands::addTraffic</a></div><div class="ttdeci">virtual void addTraffic(const std::string &id, const Position &si, const Velocity &vi)=0</div></div>
<div class="ttc" id="anamespacelarcfm_html"><div class="ttname"><a href="namespacelarcfm.html">larcfm</a></div><div class="ttdef"><b>Definition:</b> ACCoRDConfig.h:16</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>