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 }