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  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 }