C# Class TrianglesInSpace.Motion.Path

Inheritance: IPath
Mostra file Open project: anthony-martin/Triangles-in-space Class Usage Examples

Public Methods

Method Description
CalcRadius ( double velocity, double accel ) : double
CreatePathTo ( Vector destination, Vector initialVelocity, Vector initialPosition, ulong startTime ) : List
DetermineDurationOfTurn ( TrianglesInSpace.Primitives.Angle start, TrianglesInSpace.Primitives.Angle end, TrianglesInSpace.Primitives.Angle turnRate, TurnDirection turnDirection ) : ulong
DetermineTurnDirection ( Vector velocity, Vector turiningCircleOffset ) : TurnDirection

Determines if a turn is clockwise or anti clockwise

DetermineTurnEnd ( Vector destination, double radius, TurnDirection turnDirection ) : TrianglesInSpace.Primitives.Angle

DetermineTurnRate ( double speed, double radius, TurnDirection turnDirection ) : TrianglesInSpace.Primitives.Angle
DetermineTurningCircles ( Vector initialVelocity, double radius, Vector &circleOne, Vector &circleTwo ) : void

Determines the positions of the two possible turning circles Relative to the initial position which is not passed into the function

GetCurrentMotion ( ulong currentTime ) : IMotion
MoveToDestination ( Vector destination, ulong currentTime ) : void
Path ( ) : System
Path ( double maximumAcceleration, IMotion startingMotion ) : System
SelectTuriningCircle ( Vector circleCentreOne, Vector circleCentreTwo, Vector targetPosition, double turningRadius ) : Vector

Select the closest turning circle to the desitnation unless the closest circle is within the radius of the turning circle. All positions need to be in the same reference frame

Method Details

CalcRadius() public static method

public static CalcRadius ( double velocity, double accel ) : double
velocity double
accel double
return double

CreatePathTo() public method

public CreatePathTo ( Vector destination, Vector initialVelocity, Vector initialPosition, ulong startTime ) : List
destination TrianglesInSpace.Primitives.Vector
initialVelocity TrianglesInSpace.Primitives.Vector
initialPosition TrianglesInSpace.Primitives.Vector
startTime ulong
return List

DetermineDurationOfTurn() public method

public DetermineDurationOfTurn ( TrianglesInSpace.Primitives.Angle start, TrianglesInSpace.Primitives.Angle end, TrianglesInSpace.Primitives.Angle turnRate, TurnDirection turnDirection ) : ulong
start TrianglesInSpace.Primitives.Angle
end TrianglesInSpace.Primitives.Angle
turnRate TrianglesInSpace.Primitives.Angle
turnDirection TurnDirection
return ulong

DetermineTurnDirection() public method

Determines if a turn is clockwise or anti clockwise
public DetermineTurnDirection ( Vector velocity, Vector turiningCircleOffset ) : TurnDirection
velocity TrianglesInSpace.Primitives.Vector The current velocity of the object
turiningCircleOffset TrianglesInSpace.Primitives.Vector The position of the turning circle relative to the initial position
return TurnDirection

DetermineTurnEnd() public method

public DetermineTurnEnd ( Vector destination, double radius, TurnDirection turnDirection ) : TrianglesInSpace.Primitives.Angle
destination TrianglesInSpace.Primitives.Vector The position of the destination relative to the turning point
radius double The radius of the turning circle
turnDirection TurnDirection If the turn is clockwise or anti clockwise
return TrianglesInSpace.Primitives.Angle

DetermineTurnRate() public method

public DetermineTurnRate ( double speed, double radius, TurnDirection turnDirection ) : TrianglesInSpace.Primitives.Angle
speed double
radius double
turnDirection TurnDirection
return TrianglesInSpace.Primitives.Angle

DetermineTurningCircles() public method

Determines the positions of the two possible turning circles Relative to the initial position which is not passed into the function
public DetermineTurningCircles ( Vector initialVelocity, double radius, Vector &circleOne, Vector &circleTwo ) : void
initialVelocity TrianglesInSpace.Primitives.Vector The current velocity of the object
radius double The desired radius of the object
circleOne TrianglesInSpace.Primitives.Vector The first of the two possible turning circles
circleTwo TrianglesInSpace.Primitives.Vector The second of the two possible turning circles
return void

GetCurrentMotion() public method

public GetCurrentMotion ( ulong currentTime ) : IMotion
currentTime ulong
return IMotion

MoveToDestination() public method

public MoveToDestination ( Vector destination, ulong currentTime ) : void
destination TrianglesInSpace.Primitives.Vector
currentTime ulong
return void

Path() public method

public Path ( ) : System
return System

Path() public method

public Path ( double maximumAcceleration, IMotion startingMotion ) : System
maximumAcceleration double
startingMotion IMotion
return System

SelectTuriningCircle() public method

Select the closest turning circle to the desitnation unless the closest circle is within the radius of the turning circle. All positions need to be in the same reference frame
public SelectTuriningCircle ( Vector circleCentreOne, Vector circleCentreTwo, Vector targetPosition, double turningRadius ) : Vector
circleCentreOne TrianglesInSpace.Primitives.Vector
circleCentreTwo TrianglesInSpace.Primitives.Vector
targetPosition TrianglesInSpace.Primitives.Vector The destination
turningRadius double The radius of the circles
return TrianglesInSpace.Primitives.Vector