Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Simonstrator
API
Commits
5695b105
Commit
5695b105
authored
Sep 19, 2017
by
Björn Richerzhagen
Browse files
Merge branch 'master' into tm/sumo-integration
parents
8a0512cf
054826be
Changes
17
Hide whitespace changes
Inline
Side-by-side
src/de/tudarmstadt/maki/simonstrator/api/NodeDebugMonitor.java
0 → 100644
View file @
5695b105
package
de.tudarmstadt.maki.simonstrator.api
;
import
de.tudarmstadt.maki.simonstrator.api.common.graph.INodeID
;
import
de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException
;
import
de.tudarmstadt.maki.simonstrator.api.component.core.NodeDebugMonitorComponent
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* Bridge to local node debug monitoring. Provides logging capabilities and
* data access for per node information.
*/
public
class
NodeDebugMonitor
{
private
static
NodeDebugMonitorComponent
monitor
=
null
;
private
static
NodeDebugMonitorComponent
getDebugMonitor
()
{
if
(
monitor
!=
null
)
return
monitor
;
try
{
return
Binder
.
getComponent
(
NodeDebugMonitorComponent
.
class
);
}
catch
(
ComponentNotAvailableException
e
)
{
throw
new
AssertionError
(
"NodeDebugMonitorComponent is not available! Did you set in in your config?"
);
}
}
/**
* Update the info for a node.
* @param nodeId id of the node the info belongs to.
* @param entry The description/key of the entry
* @param value The value of the entry.
*/
public
static
void
update
(
Class
<?>
subject
,
INodeID
nodeId
,
String
entry
,
Object
value
)
{
try
{
getDebugMonitor
().
update
(
subject
,
nodeId
,
entry
,
value
);
}
catch
(
AssertionError
e
)
{
//Fail silently
}
}
/**
* Gets the data of a node separated by the classes the information came from.
* @param nodeID The node of which the information should be collected.
* @return A hashmap of hashmaps with each inner hashmap holding the information provided by one
* specific class.
*/
public
static
Map
<
Class
,
HashMap
<
String
,
Object
>>
getNodeData
(
INodeID
nodeID
)
{
return
getDebugMonitor
().
getNodeData
(
nodeID
);
}
/**
* Add a listener which will be informed about data updates.
* @param listener The listener to add.
*/
public
static
void
addUpdateListener
(
NodeDebugMonitorComponent
.
NodeDebugUpdateListener
listener
)
{
getDebugMonitor
().
addUpdateListener
(
listener
);
}
}
src/de/tudarmstadt/maki/simonstrator/api/common/metric/AbstractMetric.java
View file @
5695b105
...
@@ -104,7 +104,7 @@ public abstract class AbstractMetric<M extends MetricValue<?>> implements
...
@@ -104,7 +104,7 @@ public abstract class AbstractMetric<M extends MetricValue<?>> implements
@Override
@Override
public
boolean
isOverallMetric
()
{
public
boolean
isOverallMetric
()
{
assert
(
perHost
==
null
&&
overallMetric
!=
null
)
assert
(
perHost
==
null
&&
overallMetric
!=
null
)
||
(
perHost
!=
null
&&
overallMetric
==
null
);
||
(
perHost
!=
null
&&
overallMetric
==
null
)
:
name
;
return
perHost
==
null
;
return
perHost
==
null
;
}
}
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/core/NodeDebugMonitorComponent.java
0 → 100644
View file @
5695b105
package
de.tudarmstadt.maki.simonstrator.api.component.core
;
import
de.tudarmstadt.maki.simonstrator.api.common.graph.INodeID
;
import
de.tudarmstadt.maki.simonstrator.api.component.GlobalComponent
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* The actual node debug monitoring component. As opposed to the {@link de.tudarmstadt.maki.simonstrator.api.NodeDebugMonitor}
* which only serves as a bridge, a class implementing this interface provides the actual functionality.
*/
public
interface
NodeDebugMonitorComponent
extends
GlobalComponent
{
/**
* Update an entry for a node.
* @param subject The class which provided the info
* @param nodeID The node the info is about
* @param entry The string entry/key of the information
* @param value The value of the information
*/
void
update
(
Class
<?>
subject
,
INodeID
nodeID
,
String
entry
,
Object
value
);
/**
* Gets the data of a node separated by the classes the information came from.
* @param nodeID The node of which the information should be collected.
* @return A hashmap of hashmaps with each inner hashmap holding the information provided by one
* specific class.
*/
Map
<
Class
,
HashMap
<
String
,
Object
>>
getNodeData
(
INodeID
nodeID
);
/**
* Add a listener which will be informed about data updates.
* @param listener The listener to add.
*/
void
addUpdateListener
(
NodeDebugUpdateListener
listener
);
/**
* Removes a listener so that it won't be notified anymore.
* @param listener the listener to remove
*/
void
removeUpdateListener
(
NodeDebugUpdateListener
listener
);
/**
* When set to true this method needs to create the
* appropriate visualisation component.
* @param enabled wether to enable the visualisation or not
*/
void
setEnableVis
(
boolean
enabled
);
/**
* Listener for updates of the per node information.
*/
interface
NodeDebugUpdateListener
{
/**
* Called upon an update of the data of a node.
* @param subject The class that provided the info
* @param nodeId the node the info is about
* @param entry the actual entry/key of the info
* @param value the value of the info.
*/
void
onNodeDebugUpdate
(
Class
subject
,
INodeID
nodeId
,
String
entry
,
Object
value
);
}
}
src/de/tudarmstadt/maki/simonstrator/api/component/pubsub/LocationPubSubComponent.java
View file @
5695b105
...
@@ -79,4 +79,18 @@ public interface LocationPubSubComponent extends PubSubComponent {
...
@@ -79,4 +79,18 @@ public interface LocationPubSubComponent extends PubSubComponent {
List
<
Attribute
<?>>
attributes
,
Location
location
,
List
<
Attribute
<?>>
attributes
,
Location
location
,
double
radiusOfInterest
,
byte
[]
payload
);
double
radiusOfInterest
,
byte
[]
payload
);
/**
* Creates a notification that is valid at the current location of the
* client (as known by the filter scheme)
*
* @param topic
* @param attributes
* @param radiusOfInterest
* @param payload
* optional, can be null
* @return
*/
public
Notification
createLocalNotification
(
Topic
topic
,
List
<
Attribute
<?>>
attributes
,
double
radiusOfInterest
,
byte
[]
payload
);
}
}
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/future_location/FutureLocationSensor.java
View file @
5695b105
...
@@ -24,20 +24,17 @@ import de.tudarmstadt.maki.simonstrator.api.Host;
...
@@ -24,20 +24,17 @@ import de.tudarmstadt.maki.simonstrator.api.Host;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
/**
/**
* Based on the Google Location Service (LocationClient) provided for the
* TODO documentation
* Android Platform. Provides access to the last known location (energy
* efficient) or QoS-Specifications for regular location updates.
*
*
* @see http
* @deprecated Should this really be part of the API? Currently, I do not get
* ://developer.android.com/reference/com/google/android/gms/location/package
* its intention. (BR)
* -summary.html
* @author Bjoern Richerzhagen
*
*
*/
*/
@Deprecated
public
interface
FutureLocationSensor
{
public
interface
FutureLocationSensor
{
/**
/**
*
Retrieve the last known loc
ation
*
TODO document
ation
*
*
* @return
* @return
*/
*/
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/location/Location.java
View file @
5695b105
...
@@ -23,8 +23,10 @@ package de.tudarmstadt.maki.simonstrator.api.component.sensor.location;
...
@@ -23,8 +23,10 @@ package de.tudarmstadt.maki.simonstrator.api.component.sensor.location;
import
de.tudarmstadt.maki.simonstrator.api.common.Transmitable
;
import
de.tudarmstadt.maki.simonstrator.api.common.Transmitable
;
/**
/**
* Again, based on Android.Location. Does not support direction and speed at the
* Again, based on Android.Location.
* moment.
*
* Updated August 2017 (Bjoern Richerzhagen): added optional methods for bearing
* and speed. This should at some time deprecate the SpeedSensor.
*
*
* @see http://developer.android.com/reference/android/location/Location.html
* @see http://developer.android.com/reference/android/location/Location.html
*
*
...
@@ -65,7 +67,7 @@ public interface Location extends Transmitable, Cloneable {
...
@@ -65,7 +67,7 @@ public interface Location extends Transmitable, Cloneable {
*
*
* In most simulation setups, instead of geographic coordinates, we simply
* In most simulation setups, instead of geographic coordinates, we simply
* rely on x and y (therefore, please use distanceTo and bearingTo for
* rely on x and y (therefore, please use distanceTo and bearingTo for
* calculations)! In such circumstances, the L
at
itude corresponds to
* calculations)! In such circumstances, the L
ong
itude corresponds to
* <strong>x</strong>.
* <strong>x</strong>.
*
*
* @return longitude (or x)
* @return longitude (or x)
...
@@ -101,6 +103,36 @@ public interface Location extends Transmitable, Cloneable {
...
@@ -101,6 +103,36 @@ public interface Location extends Transmitable, Cloneable {
*/
*/
public
long
getAgeOfLocation
();
public
long
getAgeOfLocation
();
/**
* Bearing (or heading) of the current movement vector in degrees between 0
* (exclusive) and 360 (inclusive). If the location does not have a bearing,
* 0 is returned.
*
* @return
*/
default
public
double
getBearing
()
{
return
0
;
}
/**
* Current movement speed. This value is only meaningful, if hasSpeed()
* returns true.
*
* @return
*/
default
public
double
getSpeed
()
{
return
0
;
}
/**
* True, if the location object has associated speed information.
*
* @return
*/
default
public
boolean
hasSpeed
()
{
return
false
;
}
/**
/**
* Accuracy of this location estimate in meters (0 meaning perfect
* Accuracy of this location estimate in meters (0 meaning perfect
* accuracy).
* accuracy).
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/location/LocationActuator.java
View file @
5695b105
...
@@ -43,13 +43,6 @@ public interface LocationActuator extends LocationSensor {
...
@@ -43,13 +43,6 @@ public interface LocationActuator extends LocationSensor {
*/
*/
public
void
updateCurrentLocation
(
Location
newLocation
);
public
void
updateCurrentLocation
(
Location
newLocation
);
/**
* Returns the current target {@link AttractionPoint} a node is approaching.
*
* @return
*/
public
AttractionPoint
getCurrentTargetAttractionPoint
();
/**
/**
* A way to interact with node movement from within applications and the
* A way to interact with node movement from within applications and the
* like. This is an optional operation - it is expected to throw an
* like. This is an optional operation - it is expected to throw an
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/location/LocationSensor.java
View file @
5695b105
...
@@ -27,10 +27,13 @@ import de.tudarmstadt.maki.simonstrator.api.component.sensor.SensorComponent;
...
@@ -27,10 +27,13 @@ import de.tudarmstadt.maki.simonstrator.api.component.sensor.SensorComponent;
* Android Platform. Provides access to the last known location (energy
* Android Platform. Provides access to the last known location (energy
* efficient) or QoS-Specifications for regular location updates.
* efficient) or QoS-Specifications for regular location updates.
*
*
* @see http
* Also offers access to the target attraction point
*
* @see http
* ://developer.android.com/reference/com/google/android/gms/location/package
* ://developer.android.com/reference/com/google/android/gms/location/package
* -summary.html
* -summary.html
* @author Bjoern Richerzhagen
* @author Bjoern Richerzhagen
* @author Julian Zobel
*
*
*/
*/
public
interface
LocationSensor
extends
SensorComponent
{
public
interface
LocationSensor
extends
SensorComponent
{
...
@@ -74,4 +77,12 @@ public interface LocationSensor extends SensorComponent {
...
@@ -74,4 +77,12 @@ public interface LocationSensor extends SensorComponent {
*/
*/
public
LocationRequest
getLocationRequest
();
public
LocationRequest
getLocationRequest
();
/**
* Retrieve the targeted {@link AttractionPoint}, representing the location
* the node is currently approaching.
*
* @return
*/
public
AttractionPoint
getCurrentTargetAttractionPoint
();
}
}
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/route/Route.java
0 → 100644
View file @
5695b105
/*
* Copyright (c) 2005-2010 KOM – Multimedia Communications Lab
*
* This file is part of Simonstrator.KOM.
*
* Simonstrator.KOM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* PeerfactSim.KOM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PeerfactSim.KOM. If not, see <http://www.gnu.org/licenses/>.
*
*/
package
de.tudarmstadt.maki.simonstrator.api.component.sensor.route
;
import
java.util.List
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
/**
* Basic interface for a route object (unifying SUMO and OSM-based models).
*
* @author Bjoern Richerzhagen
*
*/
public
interface
Route
{
/**
* Target location of this route.
*
* @return
*/
public
Location
getTargetLocation
();
/**
* True, if the Route contains segment information.
*
* @return
*/
public
boolean
hasSegmentInformation
();
/**
* Segment we are currently on.
*
* @return
*/
public
RouteSegment
getCurrentSegment
();
/**
* List of segments that are still ahead of us (this list INCLUDES the
* current segment!)
*
* @return segments ahead, in order (the next segment is the first entry in
* the list).
*/
public
List
<
RouteSegment
>
getSegmentsAhead
();
/**
* List of segments we already left behind (this list does NOT include the
* current segment).
*
* @return segments left behind, in order (the segment we just left behind
* is the LAST entry in the list).
*/
public
List
<
RouteSegment
>
getSegmentsBehind
();
/**
* A route segment (path segment), basically (part of) a road. This is
* assumed to have a unique string ID.
*
* @author Bjoern Richerzhagen
*
*/
public
interface
RouteSegment
{
/**
* Unique ID of this route segment
*
* @return
*/
public
String
getSegmentId
();
/**
* Route points of this segment (at least the START and END location,
* but may provide additional intermediate points).
*
* @return
*/
public
List
<
Location
>
getSegmentLocations
();
}
}
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/route/RouteSensor.java
View file @
5695b105
...
@@ -21,15 +21,106 @@
...
@@ -21,15 +21,106 @@
package
de.tudarmstadt.maki.simonstrator.api.component.sensor.route
;
package
de.tudarmstadt.maki.simonstrator.api.component.sensor.route
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.SensorComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.SensorComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.
vehicular.roadnetwork.RoadNetworkRoute
;
import
de.tudarmstadt.maki.simonstrator.api.component.
sensor.route.Route.RouteSegment
;
/**
/**
* A sensor that provides access to the chosen route of a component. This is
* only useful within mobility models that define routing to some extend (e.g.,
* SUMO or OSM-based mobility models).
*
*
* @author Tobias Meuser
*
* @author Tobias Meuser, Bjoern Richerzhagen
*
*
*/
*/
public
interface
RouteSensor
extends
SensorComponent
{
public
interface
RouteSensor
extends
SensorComponent
{
public
RoadNetworkRoute
getCurrentRoute
();
/**
* Returns the current route of the component.
*
* @return
*/
public
Route
getRoute
();
/**
* Adds a listener for route updates
*
* @param listener
*/
public
void
addRouteListener
(
RouteListener
listener
);
/**
* Removes a listener for route updates
*
* @param listener
*/
public
void
removeRouteListener
(
RouteListener
listener
);
/**
* Adds a listener for segment updates along routes
*
* @param listener
*/
public
void
addRouteSegmentListener
(
RouteSegmentListener
listener
);
/**
* Removes a listener for segment updates along routes
*
* @param listener
*/
public
void
removeRouteSegmentListener
(
RouteSegmentListener
listener
);
/**
* A listener to be informed of each segment change along a route. This is
* realized as a separate listener, as the required computations should only
* be performed in case anyone is interested at all :)
*
* @author Bjoern Richerzhagen
*
*/
public
interface
RouteSegmentListener
{
/**
* A route consists of several segments (basically street segments)
* along which the component moves towards the target. Whenever a
* component updates its current segment, this method is invoked.
*
* @param route
* @param leftSegment
* @param enteredSegment
*/
public
void
onChangedRouteSegment
(
RouteSensor
sensor
,
Route
route
,
RouteSegment
leftSegment
,
RouteSegment
enteredSegment
);
}
/**
* A listener for route updates and movement along the route.
*
* @author Bjoern Richerzhagen
*
*/
public
interface
RouteListener
{
/**
* Triggered whenever the component reached the end of the current
* route.
*
* @param sensor
* @param route
*/
public
void
onReachedDestination
(
RouteSensor
sensor
,
Route
route
);
/**
* Triggered whenever the route of the current component changes (either
* due to a new target being chosen or due to updates along the route).
*
* @param sensor
* @param oldRoute
* (may be null!)
* @param newRoute
*/
public
void
onChangedRoute
(
RouteSensor
sensor
,
Route
oldRoute
,
Route
newRoute
);
}
}
}
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/route/VehicularRouteSensor.java
0 → 100644
View file @
5695b105
/*
* Copyright (c) 2005-2010 KOM – Multimedia Communications Lab
*
* This file is part of Simonstrator.KOM.
*
* Simonstrator.KOM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* PeerfactSim.KOM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PeerfactSim.KOM. If not, see <http://www.gnu.org/licenses/>.
*
*/
package
de.tudarmstadt.maki.simonstrator.api.component.sensor.route
;
import
de.tudarmstadt.maki.simonstrator.api.component.vehicular.roadnetwork.RoadNetworkRoute
;
/**
* Masks the dependency on the RoadNetwork behind another sensor class.
*
* @author Bjoern Richerzhagen, based on Tobias Meuser
*
*/
public
interface
VehicularRouteSensor
extends
RouteSensor
{
/**
* Representation of the current route as a road network.
*
* @return
*/
public
RoadNetworkRoute
getCurrentRoute
();
}
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/speed/SpeedSensor.java
View file @
5695b105
...
@@ -21,12 +21,19 @@
...
@@ -21,12 +21,19 @@
package
de.tudarmstadt.maki.simonstrator.api.component.sensor.speed
;
package
de.tudarmstadt.maki.simonstrator.api.component.sensor.speed
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.SensorComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.SensorComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.LocationSensor
;
/**
/**
*
*
* @author Tobias Meuser
* @author Tobias Meuser
*
*
* @deprecated this should (at some time) be replaced by the respective
* information in {@link Location}, available via the
* {@link LocationSensor} (BR)
*
*/
*/
@Deprecated
public
interface
SpeedSensor
extends
SensorComponent
{
public
interface
SpeedSensor
extends
SensorComponent
{
double
getCurrentSpeed
();
double
getCurrentSpeed
();
}
}
src/de/tudarmstadt/maki/simonstrator/api/component/sis/type/SiSTypes.java
View file @
5695b105
...
@@ -103,6 +103,11 @@ public final class SiSTypes {
...
@@ -103,6 +103,11 @@ public final class SiSTypes {
public
static
final
SiSType
<
Double
>
LATENCY_CELL
=
create
(
"LATENCY_CELL"
,
public
static
final
SiSType
<
Double
>
LATENCY_CELL
=
create
(
"LATENCY_CELL"
,
Double
.
class
,
new
AggregationDouble
());
Double
.
class
,
new
AggregationDouble
());
/**
* Current estimated node speed in m/s in the physical world.
*/
public
static
final
SiSType
<
Double
>
PHY_SPEED
=
create
(
"PHY_SPEED"
,
Double
.
class
,
new
AggregationDouble
());
/**
/**
* [none] Just a dummy Test attribute of type double. Do not use in
* [none] Just a dummy Test attribute of type double. Do not use in
* production code.
* production code.
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/vehicular/VehicleInformationComponent.java
View file @
5695b105
...
@@ -22,12 +22,12 @@ package de.tudarmstadt.maki.simonstrator.api.component.vehicular;
...
@@ -22,12 +22,12 @@ package de.tudarmstadt.maki.simonstrator.api.component.vehicular;
import
de.tudarmstadt.maki.simonstrator.api.component.HostComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.HostComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.route.RouteActuator
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.route.RouteActuator
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.route.RouteSensor
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.route.
Vehicular
RouteSensor
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.speed.SpeedActuator
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.speed.SpeedActuator
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.speed.SpeedSensor
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.speed.SpeedSensor
;
public
interface
VehicleInformationComponent
public
interface
VehicleInformationComponent
extends
HostComponent
,
RouteSensor
,
RouteActuator
,
SpeedSensor
,
SpeedActuator
{
extends
HostComponent
,
Vehicular
RouteSensor
,
RouteActuator
,
SpeedSensor
,
SpeedActuator
{
void
setVehicleID
(
String
vehicleID
);
void
setVehicleID
(
String
vehicleID
);
void
resetVehicleID
();
void
resetVehicleID
();
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/vehicular/api/information/Position.java
View file @
5695b105
...
@@ -2,6 +2,12 @@ package de.tudarmstadt.maki.simonstrator.api.component.vehicular.api.information
...
@@ -2,6 +2,12 @@ package de.tudarmstadt.maki.simonstrator.api.component.vehicular.api.information
import
java.io.Serializable
;
import
java.io.Serializable
;
/**
* @deprecated We should not have a second representation of locations within
* the API. Try to mask the functionality behind Location (which now
* provides speed and heading)
*/
@Deprecated
public
class
Position
implements
Serializable
,
Comparable
<
Position
>
{
public
class
Position
implements
Serializable
,
Comparable
<
Position
>
{
/**
/**
*
*
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/vehicular/api/information/Route.java
View file @
5695b105
...
@@ -3,6 +3,10 @@ package de.tudarmstadt.maki.simonstrator.api.component.vehicular.api.information
...
@@ -3,6 +3,10 @@ package de.tudarmstadt.maki.simonstrator.api.component.vehicular.api.information
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
* @deprecated unused?
*/
@Deprecated
public
class
Route
{
public
class
Route
{
private
List
<
Street
>
_waypoints
;
private
List
<
Street
>
_waypoints
;
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/vehicular/api/information/Street.java
View file @
5695b105
package
de.tudarmstadt.maki.simonstrator.api.component.vehicular.api.information
;
package
de.tudarmstadt.maki.simonstrator.api.component.vehicular.api.information
;
/**
* @deprecated unused?
*/
@Deprecated
public
class
Street
{
public
class
Street
{
private
String
_edgeID
;
private
String
_edgeID
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment