public class VehicleSpec extends Object
Constructor and Description |
---|
VehicleSpec(String name,
double maxAcceleration,
double maxDeceleration,
double maxVelocity,
double minVelocity,
double length,
double width,
double frontAxleDisplacement,
double rearAxleDisplacement,
double wheelSpan,
double wheelRadius,
double wheelWidth,
double maxSteeringAngle,
double maxTurnPerSecond)
Class constructor that overrides most of the defaults and also allows the
user to specify the Vehicle's VIN instead of using the default generator.
|
Modifier and Type | Method and Description |
---|---|
void |
assign(VehicleSpec spec)
Update all values in this specification to the given specification.
|
Point2D |
getCenterPoint(Point2D pos,
double heading)
Get the location of the center of the Vehicle at this point in time.
|
Point2D[] |
getCornerPoints(double extra,
Point2D pos,
double heading)
Get the current global coordinates of the corners of the Vehicle,
assuming it is larger in each dimension by a fixed amount.
|
Point2D[] |
getCornerPoints(Point2D pos,
double heading)
Get the current global coordinates of the corners of this Vehicle.
|
double |
getFrontAxleDisplacement()
Get the front axle displacement.
|
double |
getHalfLength()
Get half of the length of the vehicle.
|
double |
getHalfWidth()
Get half of the width of the vehicle.
|
double |
getLength()
Get the length of the vehicle.
|
double |
getMaxAcceleration()
Get the maximum acceleration.
|
double |
getMaxDeceleration()
Get the maximum deceleration.
|
double |
getMaxSteeringAngle()
Get the maximum steering angle.
|
double |
getMaxTurnPerCycle()
Get the maximum turn per cycle.
|
double |
getMaxTurnPerSecond()
Get the maximum turn per second.
|
double |
getMaxVelocity()
Get the maximum velocity.
|
double |
getMinVelocity()
Get the minimum velocity.
|
String |
getName()
Get the name of this vehicle specification
|
Point2D |
getPointAtRear(Point2D pos,
double heading)
Get the point at the rear center of the Vehicle.
|
Point2D |
getPointBetweenAllWheels(Point2D pos,
double heading)
Get the point between all the wheels.
|
Point2D |
getPointBetweenFrontWheels(Point2D pos,
double heading)
Get the point between the front wheels.
|
Point2D |
getPointBetweenRearWheels(Point2D pos,
double heading)
Get the point between the rear wheels.
|
Point2D |
getPointLeftSideFrontAxle(Point2D pos,
double heading)
Get the point on the left side of the Vehicle, aligned with the front
axle.
|
Point2D |
getPointRightSideFrontAxle(Point2D pos,
double heading)
Get the point on the right side of the Vehicle, aligned with the front
axle.
|
double |
getRadius()
Get the radius.
|
double |
getRearAxleDisplacement()
Get the rear axle displacement.
|
Point2D |
getRearLeftCornerPoint(Point2D pos,
double heading)
Get the current global coordinate of the rear-left corner of this
Vehicle.
|
Point2D |
getRearRightCornerPoint(Point2D pos,
double heading)
Get the current global coordinate of the rear-right corner of this
Vehicle.
|
double |
getWheelbase()
Get the wheelbase of this Vehicle.
|
Point2D[] |
getWheelCenters(Point2D pos,
double heading)
Get the points where each of the wheels is presumably touching the road.
|
double |
getWheelRadius()
Get the wheel radius.
|
Shape[] |
getWheelShapes(Point2D pos,
double heading,
double steeringAngle)
Get the Shapes of each of the wheels.
|
double |
getWheelSpan()
Get the wheel span.
|
double |
getWheelWidth()
Get the wheel width.
|
double |
getWidth()
Get the width of the vehicle.
|
public VehicleSpec(String name, double maxAcceleration, double maxDeceleration, double maxVelocity, double minVelocity, double length, double width, double frontAxleDisplacement, double rearAxleDisplacement, double wheelSpan, double wheelRadius, double wheelWidth, double maxSteeringAngle, double maxTurnPerSecond)
name
- the name of this specificationmaxAcceleration
- the Vehicle's maximum acceleration, in
meters per second squaredmaxDeceleration
- the Vehicle's maximum decceleration, in
meters per second squaredmaxVelocity
- the Vehicle's maximum velocity, in meters
per secondminVelocity
- the Vehicle's minimum velocity, in meters
per secondlength
- the Vehicle's length, in meterswidth
- the Vehicle's width, in metersfrontAxleDisplacement
- the distance in meters from the front of the
Vehicle
to its front axlerearAxleDisplacement
- the distance in meters from the front of the
Vehicle
to its rear axlewheelSpan
- the distance from the center of an axle to
the wheels on that axle, in meterswheelRadius
- the radius, in meters, of the wheelswheelWidth
- the width of the wheels, in metersmaxSteeringAngle
- the maximum angle away from center to which
the front wheels can be turned, in radiansmaxTurnPerSecond
- the maximum angle through which the front
wheels can be turned in one second, in
radianspublic void assign(VehicleSpec spec)
spec
- the value of the new specification.public String getName()
public double getMaxAcceleration()
public double getMaxDeceleration()
public double getMaxVelocity()
public double getMinVelocity()
public double getLength()
public double getWidth()
public double getFrontAxleDisplacement()
public double getRearAxleDisplacement()
public double getWheelSpan()
public double getWheelRadius()
public double getWheelWidth()
public double getMaxSteeringAngle()
public double getMaxTurnPerSecond()
public double getMaxTurnPerCycle()
public double getRadius()
public double getHalfWidth()
public double getHalfLength()
public double getWheelbase()
public Point2D getCenterPoint(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D getPointBetweenFrontWheels(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D[] getCornerPoints(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D[] getCornerPoints(double extra, Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehicleextra
- the fixed amount to add to each dimension of the Vehicle.public Point2D getPointBetweenRearWheels(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D getPointBetweenAllWheels(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D getPointAtRear(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D getPointLeftSideFrontAxle(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D getPointRightSideFrontAxle(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D getRearLeftCornerPoint(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D getRearRightCornerPoint(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Point2D[] getWheelCenters(Point2D pos, double heading)
pos
- the position of the vehicleheading
- the heading of the vehiclepublic Shape[] getWheelShapes(Point2D pos, double heading, double steeringAngle)
pos
- the position of the vehicleheading
- the heading of the vehiclesteeringAngle
- the steering angleCopyright © 2013. All rights reserved.