Click or drag to resize

VectorPropagationParameter Class

Represents a Vector which in turn represents the value and derivatives of a coordinate vector in an integration state. 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 VectorPropagationParameter : Vector, 
	IPartialDifferentiable, IEquatableDefinition

The VectorPropagationParameter type exposes the following members.

Constructors
  NameDescription
Public methodVectorPropagationParameter
Initializes a new instance.
Public methodVectorPropagationParameter(Axes)
Initializes a new instance with the given axes of integration.
Top
Properties
  NameDescription
Public propertyDimension
Gets the dimension of the values produced by the object. For example, Vectors would have a dimension of three, and Scalars of one. A PartialDerivativesEvaluator created by this type will have a "RowDimension" equal to this property, and a "ColumnDimension equal to the summation of the dimensions of the independent variables that this object is dependent on.
Public propertyIntegrationAxes
Gets or sets the Axes 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 methodAdd
Add a vector to this one.
(Inherited from Vector.)
Public methodClone
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).)
Public methodStatic memberConfigureIndicesOnEvaluator

This is called by PropagationStateElement instances using VectorPropagationParameter so that the element can update the indices used to identify the individual values corresponding to this vector 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 IntegrationAxes and cache it for future calls. This method updates the instance variables for the indices so that it will reflect the vector's 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 methodCreateVectorDerivative
Constructs a vector which represents a derivative of this vector.
(Inherited from Vector.)
Public methodCross
Produce the vector cross product between this vector and another one.
(Inherited from Vector.)
Public methodDivide(Double)
Divide this vector by a scale factor.
(Inherited from Vector.)
Public methodDivide(Scalar)
Divide this vector by a scale factor.
(Inherited from Vector.)
Public methodDot
Produce the vector dot product between this vector and another one.
(Inherited from Vector.)
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 Motion<Cartesian> of this vector at a given date with respect to the axes in which it is defined. See GetEvaluator(EvaluatorGroup) for details.
(Inherited from Vector.)
Public methodGetEvaluator(EvaluatorGroup)

Gets an evaluator that can be used to find the Motion<Cartesian> of this vector at a given date with respect to the axes in which it is defined. See GetEvaluator(EvaluatorGroup) for details.

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

(Overrides VectorGetEvaluator(EvaluatorGroup).)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetPartialDerivativesEvaluator
This type does not have derivatives or partial derivatives with respect to any object with the exception of itself. Because of that the created PartialDerivativesEvaluator has a ColumnDimension of zero if this PointPropagationParameter is not in the generalized state, and if it is in the generalized state it returns a 3x3 identity matrix.
Public methodGetScalarElement(CartesianElement, Axes)
Gets a Scalar representing the X, Y, Z, or Magnitude of this vector.
(Inherited from Vector.)
Public methodGetScalarElement(CartesianElement, Axes, Int32)
Gets a Scalar representing the X, Y, Z, or Magnitude of this vector, or any derivative of those elements.
(Inherited from Vector.)
Public methodGetService
Gets the service object of the specified type.
(Inherited from Vector.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSameDefinition
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.)
Public methodMultiply(Double)
Multiply this vector by a scale factor.
(Inherited from Vector.)
Public methodMultiply(Scalar)
Multiply this vector by a scale factor.
(Inherited from Vector.)
Public methodSubtract
Subtract a vector from this one.
(Inherited from Vector.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also