Click or drag to resize

AxesPropagationParameter Class

Represents an Axes which in turns represents the attitude and angular velocity in an integration state. The attitude and angular velocity are in body-fixed coordinates. This is used to define various geometries that depend on the state during integration.
Inheritance Hierarchy

Namespace:  AGI.Foundation.Geometry
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.1.418.0 (24.1.418.0)
Syntax
public sealed class AxesPropagationParameter : Axes

The AxesPropagationParameter type exposes the following members.

Constructors
  NameDescription
Public methodAxesPropagationParameter
Initializes a new instance.
Public methodAxesPropagationParameter(ReferenceFrame)
Initializes a new instance with the given frame of integration.
Top
Properties
  NameDescription
Public propertyIntegrationFrame
Gets or sets the ReferenceFrame used to define the state during integration.
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 propertyStateParameter
Gets or sets a parameter which represents the state during propagation. In general, users should never need to explicitly set this property. It should only be set in cases where elements of a state require additional instances of a NumericalPropagator inside their implementation in order to produce their values. In such cases, it may be necessary to distinguish between the state of the exterior propagator and the state of the interior propagator. In these cases, it is up to the user to ensure that both the state and all of its elements are configured with the same parameter. Otherwise, the state will throw an exception when creating its propagator.
Top
Methods
  NameDescription
Public methodClone
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).)
Public methodStatic memberConfigureIndicesOnEvaluator

This is called by PropagationStateElement instances using AxesPropagationParameter so that the element can update the indices used to identify the individual values corresponding to this axes in the state during evaluation. In general, this should only be called from within the GetConverter(EvaluatorGroup, MotionInt32) method when configuring the indices provided by the NumericalPropagatorDefinition.

The EvaluatorGroup will create an evaluator based on the StateParameter and the IntegrationFrame and cache it for future calls. This method updates the instance variables for the indices so that it will reflect the axes' elements within the state during evaluation. In general, this breaks the "Evaluator Pattern" by altering data on an evaluator after construction. However, so long as it is done once and only once prior to any evaluation this is deemed as following the "Evaluator Pattern" which stipulates that an evaluator should always return the same value for a given time.

Public methodCreateVectorAngularVelocity
Constructs a vector which represents the angular velocity of this axes with respect to another axes.
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.)
Public methodFreeze
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.
(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 motion of this axes in its parent reference frame based on the state provided by evaluating the evaluator produced by the StateParameter.

Consider using the methods of GeometryTransformer instead of calling this method directly. See GetEvaluator(EvaluatorGroup) for more details.

This type will usually not be used directly. It is instead used by PropagationEulerianAxes behind the scenes. If this type is used, such as during the implementation of a type similar to or deriving from PropagationEulerianAxes, always call ConfigureIndicesOnEvaluator(EvaluatorGroup, AxesPropagationParameter, MotionInt32) prior to this method.

(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.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also