Click or drag to resize

AxesFromBankAngle Class

An Axes defining a first order representation for an aircraft in steady flight with the bank angles specified by changes in the horizontal acceleration vector. The bank angle is determined by assuming steady flight and calculating the angle necessary to provide the corresponding horizontal acceleration. The axes will examine the acceleration around the special times of interest and determine how much time is needed before and after that point in order to transition between the two bank angles based on the given roll rate. When no horizontal acceleration is present, this is the same as an axes aligned with the x axis along the velocity and the z axis constrained toward nadir.

Note that while this will attempt to use the TargetRollRate, if there is a sequence of banking maneuvers in quick succession the TargetRollRate will not be feasible. In this case, the roll rate will exceed the target as necessary.

Inheritance Hierarchy

Namespace:  AGI.Foundation.Geometry
Assembly:  AGI.Foundation.RouteDesign (in AGI.Foundation.RouteDesign.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public class AxesFromBankAngle : Axes

The AxesFromBankAngle type exposes the following members.

Constructors
  NameDescription
Public methodAxesFromBankAngle
Create a new instance.
Protected methodAxesFromBankAngle(AxesFromBankAngle, CopyContext)
Initializes a new instance as a copy of an existing instance.
Public methodAxesFromBankAngle(PropagatedRoute, Double, Double)
Create a new instance based on the given route, banking around turns, and transitioning smoothly from one bank condition to another around transition points in the route.
Public methodAxesFromBankAngle(Point, CentralBody, Double, IListJulianDate, Double)
Create a new instance based on the given point and special times of interest.
Top
Properties
  NameDescription
Public propertyCentralBody
Gets or sets the CentralBody with respect to which these Axes are defined.
Public propertyIsFrozen
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an ObjectFrozenException will be thrown if an attempt is made to do so.
(Inherited from DefinitionalObject.)
Public propertyMaximumRollRate
Gets or sets the maximum roll rate to allow during the trajectory before throwing an exception. By default, the value is positive infinity, indicating that the axes will violate the TargetRollRate if there are several SpecialTimes in close proximity preventing a feasible transition with the TargetRollRate. If the resulting roll rate is greater than the maximum the call to GetEvaluator(EvaluatorGroup) will throw an InvalidOperationException.
Public propertyPosition
Gets or sets the Point representing the position of the platform and its derivatives.
Public propertySpecialTimes
Gets or sets the list of special times of interest at which to transition from one bank angle to the next. These axes will consider each of the times to determine if there is a discontinuity and then attempt to create a smooth transition from the previous bank angle to the next using the specified TargetRollRate.
Public propertySurfaceGravity
Gets or sets the value of the surface gravity corresponding to the CentralBody, in meters per second squared. By default, this value corresponds to EarthSurfaceGravity.
Public propertyTargetRollRate
Gets or sets the desired roll rate at which to transition from one bank angle to the next, in radians per second.
Top
Methods
  NameDescription
Protected methodCheckForSameDefinition(Axes)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Overrides AxesCheckForSameDefinition(Axes).)
Protected methodCheckForSameDefinition(AxesFromBankAngle)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
Protected methodCheckForSameDefinition(DefinitionalObject)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Inherited from Axes.)
Public methodClone
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).)
Protected methodComputeCurrentDefinitionHashCode
Computes a hash code based on the current properties of this object. Derived classes MUST override this method and compute a hash code that combines: a unique hash code seed, the base implementation result, and the hash codes of all new fields introduced by the derived class which are used in the CheckForSameDefinition(DefinitionalObject) method.
(Overrides AxesComputeCurrentDefinitionHashCode.)
Public methodEnumerateDependencies
Enumerates the dependencies of this object by calling EnumerateT(T) for each object that this object directly depends upon. Derived classes which contain additional dependencies MUST override this method, call the base implementation, and enumerate dependencies introduced by the derived class.
(Overrides DefinitionalObjectEnumerateDependencies(DependencyEnumerator).)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFreeze
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.
(Inherited from DefinitionalObject.)
Protected methodFreezeAggregatedObjects
Called by Freeze to also freeze any objects that are considered to be a part of this object. Derived classes which contain additional aggregated objects MUST override this method, call the base implementation, and freeze aggregated objects introduced by the derived class. The objects that need to be frozen in this method are frequently created in this object's constructor and are not settable via properties.
(Inherited from DefinitionalObject.)
Public methodGetDefinitionHashCode
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.)
Public methodGetEvaluator
Gets an evaluator that can be used to find the transformation from this axes' parent axes to this axes at a given date. Consider using the methods of GeometryTransformer instead of calling this method directly. See GetEvaluator(EvaluatorGroup) for details.
(Inherited from Axes.)
Public methodGetEvaluator(EvaluatorGroup)
Gets an evaluator that can be used to find the transformation from this axes' parent axes to this axes represented by a Motion<UnitQuaternion, Cartesian> at a given JulianDate. Consider using the methods of GeometryTransformer instead of calling this method directly.
(Overrides AxesGetEvaluator(EvaluatorGroup).)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetService
Gets the service object of the specified type.
(Inherited from Axes.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetVectorElement(CartesianElement)
Creates a Vector representing the X, Y or Z of this axes. Note that the vector returned will return trivial answers unless observed in some other axes. Use the GeometryTransformer to properly observe the vector instead of getting an evaluator directly.
(Inherited from Axes.)
Public methodGetVectorElement(CartesianElement, Int32)
Creates a Vector representing the X, Y or Z of this axes. Note that the vector returned will return trivial answers unless observed in some other axes. Use the GeometryTransformer to properly observe the vector instead of getting an evaluator directly.
(Inherited from Axes.)
Public methodIsSameDefinition
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodThrowIfFrozen
Throws ObjectFrozenException if this object IsFrozen. This method should be called from any method or property that modifies this object.
(Inherited from DefinitionalObject.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also