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
eeeb8d71
Commit
eeeb8d71
authored
Oct 01, 2018
by
Tobias Meuser
Browse files
First working version of Gateway Selection
parent
6c78240c
Changes
28
Hide whitespace changes
Inline
Side-by-side
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/environment/plugin/BumpEnvironmentSensorPlugin.java
View file @
eeeb8d71
...
...
@@ -28,9 +28,9 @@ import java.util.Random;
import
de.tudarmstadt.maki.simonstrator.api.Host
;
import
de.tudarmstadt.maki.simonstrator.api.Randoms
;
import
de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.BumpProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.EnvironmentProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.RoadProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.bump.BumpProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSRequest
;
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/environment/plugin/FogEnvironmentSensorPlugin.java
View file @
eeeb8d71
...
...
@@ -29,8 +29,8 @@ import de.tudarmstadt.maki.simonstrator.api.Host;
import
de.tudarmstadt.maki.simonstrator.api.Randoms
;
import
de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.EnvironmentProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.FogProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.RoadProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.fog.FogProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSRequest
;
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/environment/plugin/HazardEnvironmentSensorPlugin.java
View file @
eeeb8d71
...
...
@@ -29,8 +29,8 @@ import de.tudarmstadt.maki.simonstrator.api.Host;
import
de.tudarmstadt.maki.simonstrator.api.Randoms
;
import
de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.EnvironmentProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.HazardProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.RoadProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.hazard.HazardProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSRequest
;
...
...
@@ -90,6 +90,7 @@ public class HazardEnvironmentSensorPlugin implements EnvironmentSensorPlugin {
List
<
EnvironmentProperty
>
properties
=
new
ArrayList
<>();
EnvironmentProperty
property
=
new
HazardProperty
(
location
,
edge
,
hazard
);
properties
.
add
(
property
);
return
properties
;
}
catch
(
InformationNotAvailableException
e
)
{
throw
new
AssertionError
(
SiSTypes
.
ROAD_EDGE
+
" and "
+
SiSTypes
.
PHY_LOCATION
+
" are required!"
);
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/environment/plugin/RainEnvironmentSensorPlugin.java
View file @
eeeb8d71
...
...
@@ -29,8 +29,8 @@ import de.tudarmstadt.maki.simonstrator.api.Host;
import
de.tudarmstadt.maki.simonstrator.api.Randoms
;
import
de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.EnvironmentProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.RainProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.RoadProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.rain.RainProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSRequest
;
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/sensor/environment/plugin/TrafficSignEnvironmentSensorPlugin.java
View file @
eeeb8d71
...
...
@@ -30,7 +30,7 @@ import de.tudarmstadt.maki.simonstrator.api.Randoms;
import
de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.EnvironmentProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.RoadProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.TrafficSignProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.
trafficsign.
TrafficSignProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sis.SiSRequest
;
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/vehicular/VehicleInformationComponent.java
View file @
eeeb8d71
...
...
@@ -21,6 +21,7 @@
package
de.tudarmstadt.maki.simonstrator.api.component.vehicular
;
import
de.tudarmstadt.maki.simonstrator.api.component.HostComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.VehicleProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.LocationSensor
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.route.RouteActuator
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.route.VehicularRouteSensor
;
...
...
@@ -31,6 +32,8 @@ public interface VehicleInformationComponent
extends
HostComponent
,
VehicularRouteSensor
,
RouteActuator
,
SpeedSensor
,
SpeedActuator
,
LocationSensor
{
void
setVehicleID
(
String
vehicleID
);
VehicleProperty
getVehicleProperty
();
boolean
isValid
();
void
resetVehicleID
();
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/vehicular/roadnetwork/RoadNetwork.java
View file @
eeeb8d71
...
...
@@ -28,7 +28,6 @@ import java.util.Map;
import
java.util.Set
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.RoadProperty
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location
;
import
de.tudarmstadt.maki.simonstrator.api.component.vehicular.api.EdgeController
;
public
class
RoadNetwork
implements
RoadNetworkEdgeListener
{
...
...
@@ -80,7 +79,7 @@ public class RoadNetwork implements RoadNetworkEdgeListener {
return
new
ArrayList
<>(
_roadNetwork
.
values
());
}
public
List
<
RoadNetworkEdge
>
get
Avail
ableEdges
InObservedArea
()
{
public
List
<
RoadNetworkEdge
>
get
Us
ableEdges
()
{
if
(
_visibleEdges
==
null
)
{
if
(!
_edgeController
.
isObservedAreaSet
())
{
_visibleEdges
=
new
ArrayList
<>(
_roadNetwork
.
values
());
...
...
@@ -89,12 +88,7 @@ public class RoadNetwork implements RoadNetworkEdgeListener {
List
<
RoadNetworkEdge
>
result
=
new
ArrayList
<>();
for
(
RoadNetworkEdge
roadNetworkEdge
:
allEdges
)
{
Location
edgePosition
=
roadNetworkEdge
.
getEdgePosition
();
if
(
edgePosition
.
getLongitude
()
>=
_edgeController
.
getStartX
()
&&
edgePosition
.
getLongitude
()
<=
_edgeController
.
getEndX
()
&&
edgePosition
.
getLatitude
()
>=
_edgeController
.
getStartY
()
&&
edgePosition
.
getLatitude
()
<=
_edgeController
.
getEndY
())
{
if
(
_edgeController
.
isEdgeUsable
(
roadNetworkEdge
.
getEdgeID
()))
{
result
.
add
(
roadNetworkEdge
);
}
}
...
...
src/de/tudarmstadt/maki/simonstrator/api/component/vehicular/subscriptions/topic/CostBasedTopic.java
View file @
eeeb8d71
...
...
@@ -3,6 +3,8 @@ package de.tudarmstadt.maki.simonstrator.api.component.vehicular.subscriptions.t
import
de.tudarmstadt.maki.simonstrator.api.Host
;
import
de.tudarmstadt.maki.simonstrator.api.component.pubsub.PubSubComponent
;
import
de.tudarmstadt.maki.simonstrator.api.component.pubsub.attribute.Topic
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.costs.PropertyCostEstimator
;
import
de.tudarmstadt.maki.simonstrator.api.component.sensor.environment.data.costs.PropertyCostEstimatorFactory
;
import
de.tudarmstadt.maki.simonstrator.api.component.vehicular.information.PointInformation
;
import
de.tudarmstadt.maki.simonstrator.api.component.vehicular.information.RoadInformation
;
import
de.tudarmstadt.maki.simonstrator.api.component.vehicular.subscriptions.SubscriptionTopicType
;
...
...
@@ -35,7 +37,8 @@ public class CostBasedTopic implements ProcessedTopic, Comparable<CostBasedTopic
public
boolean
matchesInformationRequirements
(
PointInformation
<?>
pInformation
)
{
if
(
pInformation
instanceof
RoadInformation
)
{
RoadInformation
roadInfo
=
(
RoadInformation
)
pInformation
;
double
costsForMissingInformation
=
roadInfo
.
getValue
().
getCostsForMissingInformation
();
PropertyCostEstimator
costEstimator
=
PropertyCostEstimatorFactory
.
getPropertyCostEstimator
();
double
costsForMissingInformation
=
costEstimator
.
calculateCosts
(
roadInfo
.
getValue
());
if
(
costsForMissingInformation
>=
_costs
)
{
return
true
;
...
...
@@ -54,4 +57,9 @@ public class CostBasedTopic implements ProcessedTopic, Comparable<CostBasedTopic
return
Double
.
compare
(
_costs
,
pArg0
.
_costs
);
}
@Override
public
String
toString
()
{
return
"Costs: "
+
Double
.
toString
(
_costs
);
}
}
Prev
1
2
Next
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