pub mod appearance; pub mod control; pub mod movement; pub mod traffic; pub mod trailer; pub mod wrappers;
pub use movement::{
AbsoluteTargetLane,
AbsoluteTargetLaneOffset,
AcquirePositionAction,
AssignRouteAction,
DynamicConstraints,
FinalSpeed,
FollowRouteAction,
FollowTrajectoryAction,
LaneChangeAction,
LaneChangeTarget,
LaneChangeTargetChoice,
LaneOffsetAction,
LaneOffsetActionDynamics,
LaneOffsetTarget,
LaneOffsetTargetChoice,
LateralAction,
LateralActionChoice,
LateralDistanceAction,
LongitudinalAction,
LongitudinalDistanceAction,
RelativeTargetLane,
RelativeTargetLaneOffset,
RoutingAction,
SpeedAction,
SpeedProfileAction,
SynchronizeAction,
TeleportAction,
Trajectory,
TrajectoryFollowingMode,
};
pub use traffic::{
CentralSwarmObject,
ControllerDistribution,
Phase,
TrafficArea,
TrafficAreaAction,
TrafficAreaVertex,
TrafficDefinition,
TrafficSignalAction,
TrafficSignalController,
TrafficSignalControllerAction,
TrafficSignalGroupState,
TrafficSignalState,
TrafficSignalStateAction,
TrafficSinkAction,
TrafficSourceAction,
TrafficStopAction,
TrafficSwarmAction,
VehicleCategory,
VehicleCategoryDistribution,
};
pub use appearance::{
AnimationAction, AppearanceAction, LightStateAction, SensorReference, SensorReferenceSet,
VisibilityAction,
};
pub use trailer::{ConnectTrailerAction, DisconnectTrailerAction, TrailerAction};
pub use control::{
ActivateControllerAction,
AssignControllerAction,
AutomaticGear,
AutomaticGearType,
Brake,
BrakeInput,
ControllerAction,
Gear,
ManualGear,
OverrideBrakeAction,
OverrideClutchAction,
OverrideGearAction,
OverrideParkingBrakeAction,
OverrideSteeringWheelAction,
OverrideThrottleAction,
};
pub use wrappers::*;
use crate::types::ValidationContext;
pub trait ValidateAction {
fn validate(&self, ctx: &ValidationContext) -> crate::error::Result<()>;
}