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