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.Point2D;
20  
21  import java.util.List;
22  
23  /**
24   * Data related to a beacon whose 2D location is known.
25   */
26  public class BeaconLocated2D extends BeaconLocated<Point2D> {
27  
28      /**
29       * Constructor.
30       *
31       * @param identifiers      list of the multipart identifiers of the beacon.
32       * @param transmittedPower calibrated measured Tx power of the Beacon in RSSI
33       *                         (expressed in dBm's).
34       * @param position         position where beacon is located.
35       * @throws IllegalArgumentException if either identifiers or position are null.
36       */
37      public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
38                             final Point2D position) {
39          super(identifiers, transmittedPower, position);
40      }
41  
42      /**
43       * Constructor.
44       *
45       * @param identifiers      list of the multipart identifiers of the beacon.
46       * @param transmittedPower calibrated measured Tx power of the Beacon in RSSI (expressed in dBm's).
47       * @param bluetoothAddress the bluetooth mac address.
48       * @param beaconTypeCode   the two byte value indicating the type of beacon.
49       * @param manufacturer     a two byte code indicating the beacon manufacturer.
50       * @param serviceUuid      a 32 bit service uuid for the beacon.
51       * @param bluetoothName    the bluetooth device name.
52       * @param position         position where beacon is located.
53       * @throws IllegalArgumentException if either identifiers or position are null.
54       */
55      public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
56                             final String bluetoothAddress, final int beaconTypeCode, final int manufacturer,
57                             final int serviceUuid, final String bluetoothName, final Point2D position) {
58          super(identifiers, transmittedPower, bluetoothAddress, beaconTypeCode, manufacturer, serviceUuid, bluetoothName,
59                  position);
60      }
61  
62      /**
63       * Constructor.
64       *
65       * @param identifiers        list of the multipart identifiers of the beacon.
66       * @param transmittedPower   calibrated measured Tx power of the Beacon in RSSI
67       *                           (expressed in dBm's).
68       * @param position           position where beacon is located.
69       * @param positionCovariance covariance of inhomogeneous coordinates of current
70       *                           position (if available).
71       * @throws IllegalArgumentException if either identifiers or position are null or
72       *                                  covariance has invalid size.
73       */
74      public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
75                             final Point2D position, final Matrix positionCovariance) {
76          super(identifiers, transmittedPower, position, positionCovariance);
77      }
78  
79      /**
80       * Constructor.
81       *
82       * @param identifiers        list of the multipart identifiers of the beacon.
83       * @param transmittedPower   calibrated measured Tx power of the Beacon in RSSI (expressed in dBm's).
84       * @param bluetoothAddress   the bluetooth mac address.
85       * @param beaconTypeCode     the two byte value indicating the type of beacon.
86       * @param manufacturer       a two byte code indicating the beacon manufacturer.
87       * @param serviceUuid        a 32 bit service uuid for the beacon.
88       * @param bluetoothName      the bluetooth device name.
89       * @param position           position where beacon is located.
90       * @param positionCovariance covariance of inhomogeneous coordinates of current
91       *                           position (if available).
92       * @throws IllegalArgumentException if either identifiers or position are null
93       *                                  or covariance has invalid size.
94       */
95      public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
96                             final String bluetoothAddress, final int beaconTypeCode, final int manufacturer,
97                             final int serviceUuid, final String bluetoothName, final Point2D position,
98                             final Matrix positionCovariance) {
99          super(identifiers, transmittedPower, bluetoothAddress, beaconTypeCode, manufacturer, serviceUuid, bluetoothName,
100                 position, positionCovariance);
101     }
102 
103     /**
104      * Constructor.
105      *
106      * @param identifiers      list of the multipart identifiers of the beacon.
107      * @param transmittedPower calibrated measured Tx power of the beacon in RSSI (expressed in dBm's).
108      * @param frequency        frequency used by this Beacon.
109      * @param position         position where beacon is located.
110      * @throws IllegalArgumentException if either identifiers or position are null or
111      *                                  frequency is negative.
112      */
113     public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
114                            final double frequency, final Point2D position) {
115         super(identifiers, transmittedPower, frequency, position);
116     }
117 
118     /**
119      * Constructor.
120      *
121      * @param identifiers      list of the multipart identifiers of the beacon.
122      * @param transmittedPower calibrated measured Tx power of the Beacon in RSSI (expressed in dBm's).
123      * @param frequency        frequency used by this Beacon.
124      * @param bluetoothAddress the bluetooth mac address.
125      * @param beaconTypeCode   the two byte value indicating the type of beacon.
126      * @param manufacturer     a two byte code indicating the beacon manufacturer.
127      * @param serviceUuid      a 32 bit service uuid for the beacon.
128      * @param bluetoothName    the bluetooth device name.
129      * @param position         position where beacon is located.
130      * @throws IllegalArgumentException if either identifiers or position are null or
131      *                                  frequency is negative.
132      */
133     public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
134                            final double frequency, final String bluetoothAddress, final int beaconTypeCode,
135                            final int manufacturer, final int serviceUuid, final String bluetoothName,
136                            final Point2D position) {
137         super(identifiers, transmittedPower, frequency, bluetoothAddress, beaconTypeCode, manufacturer, serviceUuid,
138                 bluetoothName, position);
139     }
140 
141     /**
142      * Constructor.
143      *
144      * @param identifiers        list of the multipart identifiers of the beacon.
145      * @param transmittedPower   calibrated measured Tx power of the Beacon in RSSI
146      *                           (expressed in dBm's).
147      * @param frequency          frequency used by this Beacon.
148      * @param position           position where beacon is located.
149      * @param positionCovariance covariance of inhomogeneous coordinates of current
150      *                           position (if available).
151      * @throws IllegalArgumentException if either identifiers or position are null or
152      *                                  frequency is negative.
153      */
154     public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
155                            final double frequency, final Point2D position, final Matrix positionCovariance) {
156         super(identifiers, transmittedPower, frequency, position, positionCovariance);
157     }
158 
159     /**
160      * Constructor.
161      *
162      * @param identifiers        list of the multipart identifiers of the beacon.
163      * @param transmittedPower   calibrated measured Tx power of the Beacon in RSSI (expressed in dBm's).
164      * @param frequency          frequency used by this Beacon.
165      * @param bluetoothAddress   the bluetooth mac address.
166      * @param beaconTypeCode     the two byte value indicating the type of beacon.
167      * @param manufacturer       a two byte code indicating the beacon manufacturer.
168      * @param serviceUuid        a 32 bit service uuid for the beacon.
169      * @param bluetoothName      the bluetooth device name.
170      * @param position           position where beacon is located.
171      * @param positionCovariance covariance of inhomogeneous coordinates of current
172      *                           position (if available).
173      * @throws IllegalArgumentException if either identifiers or position are null or
174      *                                  frequency is negative.
175      */
176     public BeaconLocated2D(final List<BeaconIdentifier> identifiers, final double transmittedPower,
177                            final double frequency, final String bluetoothAddress, final int beaconTypeCode,
178                            final int manufacturer, final int serviceUuid, final String bluetoothName,
179                            final Point2D position, final Matrix positionCovariance) {
180         super(identifiers, transmittedPower, frequency, bluetoothAddress, beaconTypeCode, manufacturer, serviceUuid,
181                 bluetoothName, position, positionCovariance);
182     }
183 
184     /**
185      * Empty constructor.
186      */
187     protected BeaconLocated2D() {
188         super();
189     }
190 }