View Javadoc
1   /*
2    * Copyright (C) 2018 Alberto Irurueta Carro (alberto@irurueta.com)
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *         http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package com.irurueta.navigation.indoor;
17  
18  import com.irurueta.algebra.Matrix;
19  import com.irurueta.geometry.Point3D;
20  
21  /**
22   * Data related to a Wi-Fi access point with estimated transmitted power and
23   * known 3D location.
24   */
25  public class WifiAccessPointWithPowerAndLocated3D extends WifiAccessPointWithPowerAndLocated<Point3D> {
26  
27      /**
28       * Constructor.
29       *
30       * @param bssid            basic service set identifier of this access point in the form of a six-byte MAC address:
31       *                         xx:xx:xx:xx:xx:xx.
32       * @param frequency        frequency used by this Access Point (expressed in Hz).
33       * @param transmittedPower transmitted power by this access point (expressed in dBm's).
34       * @param position         position where access point is located.
35       * @throws IllegalArgumentException if BSSID is null or frequency is negative.
36       */
37      public WifiAccessPointWithPowerAndLocated3D(
38              final String bssid, final double frequency, final double transmittedPower, final Point3D position) {
39          super(bssid, frequency, transmittedPower, position);
40      }
41  
42      /**
43       * Constructor.
44       *
45       * @param bssid            basic service set identifier of this access point in the form of a six-byte MAC address:
46       *                         xx:xx:xx:xx:xx:xx.
47       * @param frequency        frequency used by this Access Point (expressed in Hz).
48       * @param ssid             service set identifier (SSID) of this 802.11 network.
49       * @param transmittedPower transmitted power by this access point (expressed in dBM's).
50       * @param position         position where access point is located.
51       * @throws IllegalArgumentException if BSSID is null or frequency is negative.
52       */
53      public WifiAccessPointWithPowerAndLocated3D(
54              final String bssid, final double frequency, final String ssid, final double transmittedPower,
55              final Point3D position) {
56          super(bssid, frequency, ssid, transmittedPower, position);
57      }
58  
59      /**
60       * Constructor.
61       *
62       * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
63       *                                          xx:xx:xx:xx:xx:xx.
64       * @param frequency                         frequency used by this Access Point (expressed in Hz).
65       * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
66       * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
67       * @param position                          position where access point is located.
68       * @throws IllegalArgumentException if either BSSID is null, frequency is negative
69       *                                  or transmitted power standard deviation is negative.
70       */
71      public WifiAccessPointWithPowerAndLocated3D(
72              final String bssid, final double frequency, final double transmittedPower,
73              final Double transmittedPowerStandardDeviation, final Point3D position) {
74          super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, position);
75      }
76  
77      /**
78       * Constructor.
79       *
80       * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
81       *                                          xx:xx:xx:xx:xx:xx.
82       * @param frequency                         frequency used by this Access Point (expressed in Hz).
83       * @param ssid                              service set identifier (SSID) of this 802.11 network.
84       * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
85       * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
86       * @param position                          position where access point is located.
87       * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
88       *                                  or transmitted power standard deviation is negative.
89       */
90      public WifiAccessPointWithPowerAndLocated3D(
91              final String bssid, final double frequency, final String ssid, final double transmittedPower,
92              final Double transmittedPowerStandardDeviation, final Point3D position) {
93          super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, position);
94      }
95  
96      /**
97       * Constructor.
98       *
99       * @param bssid              basic service set identifier of this access point in the form of a six-byte MAC address:
100      *                           xx:xx:xx:xx:xx:xx.
101      * @param frequency          frequency used by this Access Point (expressed in Hz).
102      * @param transmittedPower   transmitted power by this access point (expressed in dBm's).
103      * @param position           position where access point is located.
104      * @param positionCovariance covariance of inhomogeneous coordinates of current
105      *                           position (if available).
106      * @throws IllegalArgumentException if BSSID is null or frequency is negative.
107      */
108     public WifiAccessPointWithPowerAndLocated3D(
109             final String bssid, final double frequency, final double transmittedPower, final Point3D position,
110             final Matrix positionCovariance) {
111         super(bssid, frequency, transmittedPower, position, positionCovariance);
112     }
113 
114     /**
115      * Constructor.
116      *
117      * @param bssid              basic service set identifier of this access point in the form of a six-byte MAC address:
118      *                           xx:xx:xx:xx:xx:xx.
119      * @param frequency          frequency used by this Access Point (expressed in Hz).
120      * @param ssid               service set identifier (SSID) of this 802.11 network.
121      * @param transmittedPower   transmitted power by this access point (expressed in dBM's).
122      * @param position           position where access point is located.
123      * @param positionCovariance covariance of inhomogeneous coordinates of current
124      *                           position (if available).
125      * @throws IllegalArgumentException if BSSID is null or frequency is negative.
126      */
127     public WifiAccessPointWithPowerAndLocated3D(
128             final String bssid, final double frequency, final String ssid, final double transmittedPower,
129             final Point3D position, final Matrix positionCovariance) {
130         super(bssid, frequency, ssid, transmittedPower, position, positionCovariance);
131     }
132 
133     /**
134      * Constructor.
135      *
136      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
137      *                                          xx:xx:xx:xx:xx:xx.
138      * @param frequency                         frequency used by this Access Point (expressed in Hz).
139      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
140      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
141      * @param position                          position where access point is located.
142      * @param positionCovariance                covariance of inhomogeneous coordinates of current
143      *                                          position (if available).
144      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
145      *                                  or transmitted power standard deviation is negative.
146      */
147     public WifiAccessPointWithPowerAndLocated3D(
148             final String bssid, final double frequency, final double transmittedPower,
149             final Double transmittedPowerStandardDeviation, final Point3D position, final Matrix positionCovariance) {
150         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, position, positionCovariance);
151     }
152 
153     /**
154      * Constructor.
155      *
156      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
157      *                                          xx:xx:xx:xx:xx:xx.
158      * @param frequency                         frequency used by this Access Point (expressed in Hz).
159      * @param ssid                              service set identifier (SSID) of this 802.11 network.
160      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
161      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
162      * @param position                          position where access point is located.
163      * @param positionCovariance                covariance of inhomogeneous coordinates of current
164      *                                          position (if available).
165      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
166      *                                  or transmitted power standard deviation is negative.
167      */
168     public WifiAccessPointWithPowerAndLocated3D(
169             final String bssid, final double frequency, final String ssid, final double transmittedPower,
170             final Double transmittedPowerStandardDeviation, final Point3D position, final Matrix positionCovariance) {
171         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, position,
172                 positionCovariance);
173     }
174 
175     /**
176      * Constructor.
177      *
178      * @param bssid            basic service set identifier of this access point in the form of a six-byte MAC address:
179      *                         xx:xx:xx:xx:xx:xx.
180      * @param frequency        frequency used by this Access Point (expressed in Hz).
181      * @param transmittedPower transmitted power by this access point (expressed in dBm's).
182      * @param pathLossExponent path loss exponent. By default, this is 2.0.
183      * @param position         position where access point is located.
184      * @throws IllegalArgumentException if either BSSID is null or frequency is negative
185      */
186     public WifiAccessPointWithPowerAndLocated3D(
187             final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
188             final Point3D position) {
189         super(bssid, frequency, transmittedPower, pathLossExponent, position);
190     }
191 
192     /**
193      * Constructor.
194      *
195      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
196      *                                          xx:xx:xx:xx:xx:xx.
197      * @param frequency                         frequency used by this Access Point (expressed in Hz).
198      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
199      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
200      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
201      * @param position                          position where access point is located.
202      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
203      *                                  or transmitted power standard deviation is negative.
204      */
205     public WifiAccessPointWithPowerAndLocated3D(
206             final String bssid, final double frequency, final double transmittedPower,
207             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
208             final Point3D position) {
209         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position);
210     }
211 
212     /**
213      * Constructor.
214      *
215      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
216      *                                          xx:xx:xx:xx:xx:xx.
217      * @param frequency                         frequency used by this Access Point (expressed in Hz).
218      * @param ssid                              service set identifier (SSID) of this 802.11 network.
219      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
220      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
221      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
222      * @param position                          position where access point is located.
223      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
224      *                                  or transmitted power standard deviation is negative.
225      */
226     public WifiAccessPointWithPowerAndLocated3D(
227             final String bssid, final double frequency, final String ssid, final double transmittedPower,
228             final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point3D position) {
229         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
230                 position);
231     }
232 
233     /**
234      * Constructor.
235      *
236      * @param bssid              basic service set identifier of this access point in the form of a six-byte MAC address:
237      *                           xx:xx:xx:xx:xx:xx.
238      * @param frequency          frequency used by this Access Point (expressed in Hz).
239      * @param transmittedPower   transmitted power by this access point (expressed in dBm's).
240      * @param pathLossExponent   path loss exponent. By default, this is 2.0.
241      * @param position           position where access point is located.
242      * @param positionCovariance covariance of inhomogeneous coordinates of current
243      *                           position (if available).
244      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
245      *                                  or covariance has invalid size.
246      */
247     public WifiAccessPointWithPowerAndLocated3D(
248             final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
249             final Point3D position, final Matrix positionCovariance) {
250         super(bssid, frequency, transmittedPower, pathLossExponent, position, positionCovariance);
251     }
252 
253     /**
254      * Constructor.
255      *
256      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
257      *                                          xx:xx:xx:xx:xx:xx.
258      * @param frequency                         frequency used by this Access Point (expressed in Hz).
259      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
260      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
261      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
262      * @param position                          position where access point is located.
263      * @param positionCovariance                covariance of inhomogeneous coordinates of current
264      *                                          position (if available).
265      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
266      *                                  or transmitted power standard deviation is negative.
267      */
268     public WifiAccessPointWithPowerAndLocated3D(
269             final String bssid, final double frequency, final double transmittedPower,
270             final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point3D position,
271             final Matrix positionCovariance) {
272         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
273                 positionCovariance);
274     }
275 
276     /**
277      * Constructor.
278      *
279      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
280      *                                          xx:xx:xx:xx:xx:xx.
281      * @param frequency                         frequency used by this Access Point (expressed in Hz).
282      * @param ssid                              service set identifier (SSID) of this 802.11 network.
283      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
284      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
285      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
286      * @param position                          position where access point is located.
287      * @param positionCovariance                covariance of inhomogeneous coordinates of current
288      *                                          position (if available).
289      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
290      *                                  or transmitted power standard deviation is negative.
291      */
292     public WifiAccessPointWithPowerAndLocated3D(
293             final String bssid, final double frequency, final String ssid, final double transmittedPower,
294             final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point3D position,
295             final Matrix positionCovariance) {
296         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
297                 positionCovariance);
298     }
299 
300     /**
301      * Constructor.
302      *
303      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
304      *                                          xx:xx:xx:xx:xx:xx.
305      * @param frequency                         frequency used by this Access Point (expressed in Hz).
306      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
307      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
308      *                                          if unknown.
309      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
310      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
311      *                                          unknown.
312      * @param position                          position where access point is located.
313      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
314      *                                  or any standard deviation is negative.
315      */
316     public WifiAccessPointWithPowerAndLocated3D(
317             final String bssid, final double frequency, final double transmittedPower,
318             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
319             final Double pathLossExponentStandardDeviation, final Point3D position) {
320         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
321                 pathLossExponentStandardDeviation, position);
322     }
323 
324     /**
325      * Constructor.
326      *
327      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
328      *                                          xx:xx:xx:xx:xx:xx.
329      * @param frequency                         frequency used by this Access Point (expressed in Hz).
330      * @param ssid                              service set identifier (SSID) of this 802.11 network.
331      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
332      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
333      *                                          if unknown.
334      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
335      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
336      *                                          unknown.
337      * @param position                          position where access point is located.
338      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
339      *                                  or any standard deviation is negative.
340      */
341     public WifiAccessPointWithPowerAndLocated3D(
342             final String bssid, final double frequency, final String ssid, final double transmittedPower,
343             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
344             final Double pathLossExponentStandardDeviation, final Point3D position) {
345         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
346                 pathLossExponentStandardDeviation, position);
347     }
348 
349     /**
350      * Constructor.
351      *
352      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
353      *                                          xx:xx:xx:xx:xx:xx.
354      * @param frequency                         frequency used by this Access Point (expressed in Hz).
355      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
356      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
357      *                                          if unknown.
358      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
359      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
360      *                                          unknown.
361      * @param position                          position where access point is located.
362      * @param positionCovariance                covariance of inhomogeneous coordinates of current
363      *                                          position (if available).
364      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
365      *                                  any standard deviation is negative or covariance has invalid size.
366      */
367     public WifiAccessPointWithPowerAndLocated3D(
368             final String bssid, final double frequency, final double transmittedPower,
369             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
370             final Double pathLossExponentStandardDeviation, final Point3D position, final Matrix positionCovariance) {
371         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
372                 pathLossExponentStandardDeviation, position, positionCovariance);
373     }
374 
375     /**
376      * Constructor.
377      *
378      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
379      *                                          xx:xx:xx:xx:xx:xx.
380      * @param frequency                         frequency used by this Access Point (expressed in Hz).
381      * @param ssid                              service set identifier (SSID) of this 802.11 network.
382      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
383      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
384      *                                          if unknown.
385      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
386      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
387      *                                          unknown.
388      * @param position                          position where access point is located.
389      * @param positionCovariance                covariance of inhomogeneous coordinates of current
390      *                                          position (if available).
391      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
392      *                                  any standard deviation is negative or covariance has invalid size.
393      */
394     public WifiAccessPointWithPowerAndLocated3D(
395             final String bssid, final double frequency, final String ssid, final double transmittedPower,
396             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
397             final Double pathLossExponentStandardDeviation, final Point3D position, final Matrix positionCovariance) {
398         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
399                 pathLossExponentStandardDeviation, position, positionCovariance);
400     }
401 
402     /**
403      * Empty constructor.
404      */
405     protected WifiAccessPointWithPowerAndLocated3D() {
406         super();
407     }
408 }