Click or drag to resize

AGI.Foundation.RouteDesign Namespace

Contains types for creating simple routes by specifying procedures at points of interest, how to connect them, and what height and speed to use along the route.
Classes
  ClassDescription
Public classCircularHoldProcedure
A procedure that places the position into a circular path around a given center point at a given turn radius in a given direction. The procedure indicates the minimum number of revolutions or the minimum time that the position should spend in the hold before leaving. The position will enter and leave the hold on tangents to the circular path.
Public classConstantHeightProfile
A profile that simply represents a constant height and constant speed with respect to the reference surface of the corresponding surface path.
Public classDefaultConnectionBehavior
This is a RouteConnection used by the RoutePropagator to define the default settings for creating RouteConnection objects in between RouteProcedures in the event the user did not specify a specific connection to use.
Public classFollowPathProcedure
A procedure that follows a path specified by a set of vertices, with turns inscribed at each vertex. This is useful for ground vehicles traversing map data or when specifying a sequence of waypoints with a common RouteProfile. The position will move in rhumb lines of constant heading between vertices and turn toward the next vertex just prior to reaching each vertex (see InscribedTurnProcedure). If there isn't enough room to inscribe a turn, it will turn after the vertex.
Public classHeadingAtWaypointProcedure
A procedure that defines a required heading at a waypoint. This can be used as an initial or final state for a route, which can be used to smoothly concatenate multiple routes together or create a route based on another ephemeris. It can also be used to ensure the platform's position is pointing in a particular direction at the given waypoint in order to avoid an obstacle or turn into the wind direction. The platform will turn before and after the waypoint to satisfy the heading. In order to have the platform follow a particular heading over a given distance, use a SurfaceCurveProcedure with an EllipsoidRhumbLine.
Public classHeightTransitionProcedure

A procedure that will transition from one height to another based on the given Dynamics. The surface procedure behaves like a TurnBeforeWaypointProcedure. The platform will enter into a spiral prior to reaching the given waypoint in order to adjust its current height. This is useful in cases where the maximum ascent or descent velocity would otherwise be violated while trying to transition from one procedure to another.

Public classInscribedTurnProcedure

Represents a simple turn at a position specified by a waypoint. However, the path will never reach the given waypoint unless the change in heading is negligible. Instead, the turn will be inscribed between the lines connecting the previous procedure to the given waypoint and the waypoint to the next procedure. The position will arrive along the line from the previous procedure toward the given waypoint and leave along the line from the given waypoint toward the next procedure.

If the distance between waypoints and the turning radius are such that the turn is infeasible, the InscribedTurnProcedureConfigurationData in the resulting Data will be InsufficientSpaceForTurn.

Public classLandingProcedure
Represents a landing trajectory with respect to a runway surface specified by the underlying terrain. The platform will execute a level turn on the approach toward the runway before descending along the glide slope. The platform then rolls to a stop over a given distance. Lastly, if there are any taxi procedures after the landing, the platform will turn toward the next procedure.
Public classPrescribedAccelerationTransitionProfile

A profile defined by a simple incline used to connect two other profiles at different heights. Unlike the StandardTransitionProfile which includes cruising behavior, this profile has a predefined thrust acceleration which defines the change in speeds along the route. The profile will attempt to find an incline which connects the initial and final heights and then will accelerate along the incline according to the prescribed acceleration. It will then update the next profile's initial speed. If the next profile's speed is not configurable, this will produce the error status: FinalSpeedUnmatched in the ConnectionConfigurationResults. For more information about error cases, see the remarks section.

To add this as a connection between two procedures, use a ProfileRouteConnection with this profile and simply add the connection between your procedures in the RoutePropagator. The propagator will override the default connection behavior to use this one only between the surrounding segments.

Public classProfileDynamics
Represents a set of common properties describing the dynamical capabilities of a platform traversing a route profile.
Public classProfileRouteConnection
A simple route connection that defines a straight connection between two procedures with a user specified profile defining the vertical and temporal behavior along the connection.
Public classProfileSpeed
A specified target speed provided as either the total horizontal and vertical speed or only the horizontal speed along the surface.
Public classPropagatedRoute
An instance of a propagated route produced by the RoutePropagator. The propagated route indicates whether there were any configuration errors and can produce the Point representing the position along the route.
Public classRacetrackHoldProcedure
A procedure defined by two circular turns connected by straight segments with entry and exit occurring at either circle or at additional turns occurring at the beginning or ends of the straight segments. The RoutePropagator will attempt to connect the previous procedure with the nearest entry arc on the racetrack and leave at the exit arc nearest to the next procedure.
Public classRasterSearchProcedure
A procedure that defines a route which follows a regular pattern over a given rectangular search area. The user specifies the heading, length, width, and turn radius. Then, the raster search centers a search pattern over the area of interest such that the "legs" of the search lie along the length and the route turns back 180 degrees before continuing the next leg in the opposite direction. The turns occur outside of the given search region. The search will place the first turn into the search area at the corner closest to the previous procedure. The location of the final turn depends on the placement of the entry and how many "legs" are required to cover the entire area.
Public classRouteConnection
The base class for all the different ways in which to connect one RouteProcedure with another.
Public classRouteProcedure
The abstract base class for all route procedure definitions used in conjunction with the RoutePropagator.
Public classRouteProfile
Definition for all types that provide a way to configure the height and speed for a given RouteSegment.
Public classRoutePropagator
A route propagator that takes a sequential list of procedures and connections in order to create a PropagatedRoute. This can be used to either produce a route given a start time or to produce a route given a final rendezvous time.
Public classRouteSegment
The base class for the procedures and connections which define segments of the geometry along the route. The segments are used with the RoutePropagator to create a PropagatedRoute.
Public classStandardTransitionProfile
A profile defined by a set of simple inclines, used to connect two other profiles at different heights or to change the target height for the route. When used as a connection profile, this will attempt to level off at the final target height of the previous profile, based on the given dynamics for ascending and descending. If the surface distance is too short, it will attempt to connect directly or will attempt to reconfigure the surrounding profiles to ensure it does not violate its Dynamics.
Public classStationaryHoldProcedure
A procedure that represents a point along the route where a vehicle slows to a stop, waits at the specified location for a specified amount of time, and then speeds up to continue toward the next procedure. Note that this will represent a discontinuity in the geometry of the route and may cause difficulties for other types which require a smooth path and a non-zero velocity vector. Examples include Axes types which use velocity information to orient the vehicle but do not have additional logic to handle stationary objects.
Public classSurfaceCurveProcedure
A procedure which follows an EllipsoidSurfaceCurve. This is useful for defining long traversals over a surface arc. To use this to create custom procedures for which the Cartographic vertices are available, consider using EllipsoidComplexSurfaceCurve. However, note that there will be no intermediate turns as with the FollowPathProcedure.
Public classTakeoffProcedure
Represents a takeoff trajectory with respect to a runway surface specified by the underlying terrain. If there is a taxi prior to the runway, the platform will turn onto the runway's heading. Then, the platform rolls a given distance before taking off to reach the target height. Lastly, the platform will execute a level turn toward the next procedure.
Public classTerrainAvoidanceProfile

A profile that defines the height and speed necessary to transition from an initial height and speed to a final height and speed while attempting to maintain a minimum height above intervening terrain. This is useful when modeling low altitude aircraft trajectories in areas where the terrain varies significantly between waypoints.

Public classTurnAfterWaypointProcedure
Represents a simple turn at a specific position such that the platform will arrive at the waypoint on the heading from the previous procedure before turning toward the next procedure.
Public classTurnBeforeWaypointProcedure
Represents a simple turn at a specific position such that the platform will turn prior to the waypoint in order to arrive on the heading toward the next waypoint.
Enumerations
  EnumerationDescription
Public enumerationCircularHoldProcedureConfigurationData
An enumeration indicating whether the configuration of the hold was successful or whether there was an error.
Public enumerationClosedTurnDirection
An enumeration that indicates which direction to turn during a closed turn such as a circular or racetrack hold.
Public enumerationDefaultProfileBehavior
An enumeration indicating which type of connection to use for a given RoutePropagator. Options include the ability to follow the terrain at a constant height offset, fly above the terrain at a minimum height, or ignore terrain and simply connect the heights between RouteProcedures with either a flat or inclined line segment.
Public enumerationInscribedTurnProcedureConfigurationData
An enumeration indicating the status of configuring the surface procedure.
Public enumerationKindOfSurfaceConnection
An enumeration indicating the kind of behavior to use when connecting surface procedures.
Public enumerationLandingProcedureConfigurationData
An enumeration indicating the status of configuring the surface procedure.
Public enumerationRacetrackHoldProcedureConfigurationData
An enumeration indicating the status of configuring the surface procedure.
Public enumerationRouteHeightReference
An enumeration indicating the reference surface to use when representing a height.
Public enumerationSpeedReference
An enumeration indicating whether the speed represents the total combined speed accounting for the surface speed and the vertical rate or whether the speed represents the speed along the surface path.
Public enumerationStationaryHoldProcedureConfigurationData
An enumeration indicating the status of configuring the surface procedure.
Public enumerationTakeoffProcedureConfigurationData
An enumeration indicating the status of configuring the surface procedure.
Public enumerationTerrainAvoidanceProfileConfigurationData
An enumeration indicating the result of configuring the TerrainAvoidanceProfile.
Public enumerationTurnAfterWaypointProcedureConfigurationData
An enumeration indicating the status of configuring the surface procedure.
Public enumerationTurnBeforeWaypointProcedureConfigurationData
An enumeration indicating the status of configuring the surface procedure.
Public enumerationWaypointTurnDirection
An enumeration indicating the turn direction at a waypoint or whether to let the propagator specify the best direction based on the connection geometry.