This is called by PropagationStateElement instances using PointPropagationParameter so that the element can update the indices used to identify the individual values corresponding to this point 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 point'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 static void ConfigureIndicesOnEvaluator( EvaluatorGroup group, PointPropagationParameter point, Motion<int> stateInputIndices )
Public Shared Sub ConfigureIndicesOnEvaluator ( group As EvaluatorGroup, point As PointPropagationParameter, stateInputIndices As Motion(Of Integer()) )
public: static void ConfigureIndicesOnEvaluator( EvaluatorGroup^ group, PointPropagationParameter^ point, Motion<array<int>^> stateInputIndices )
static member ConfigureIndicesOnEvaluator : group : EvaluatorGroup * point : PointPropagationParameter * stateInputIndices : Motion<int> -> unit