Class PythonAdditionalStateProvider

    • Constructor Detail

      • PythonAdditionalStateProvider

        public PythonAdditionalStateProvider()
    • Method Detail

      • pythonExtension

        public void pythonExtension​(long pythonObject)
        Part of JCC Python interface to object
      • pythonExtension

        public long pythonExtension()
        Part of JCC Python interface to object
      • pythonDecRef

        public void pythonDecRef()
        Part of JCC Python interface to object
      • getName

        public String getName()
        Get the name of the additional state. Extension point for Python.
        Specified by:
        getName in interface AdditionalStateProvider
        Returns:
        name of the additional state
      • init

        public void init​(SpacecraftState initialState,
                         AbsoluteDate target)
        Initialize the additional state provider at the start of propagation.
        Specified by:
        init in interface AdditionalStateProvider
        Parameters:
        initialState - initial state information at the start of propagation
        target - date of propagation
        Since:
        11.2
      • yield_

        public boolean yield_​(SpacecraftState state)
        Check if this provider should yield so another provider has an opportunity to add missing parts.

        Decision to yield is often based on an additional state being already available in the provided state (but it could theoretically also depend on an additional state derivative being already available, or any other criterion). If for example a provider needs the state transition matrix, it could implement this method as:

        
         public boolean yield(final SpacecraftState state) {
             return !state.getAdditionalStates().containsKey("STM");
         }
         

        The default implementation returns false, meaning that state data can be generated immediately.

        Parameters:
        state - state to handle
        Returns:
        true if this provider should yield so another provider has an opportunity to add missing parts as the state is incrementally built up
        Since:
        11.1
      • getAdditionalState

        public double[] getAdditionalState​(SpacecraftState state)
        Get the additional state. Extension point for Python.
        Specified by:
        getAdditionalState in interface AdditionalStateProvider
        Parameters:
        state - spacecraft state to which additional state should correspond
        Returns:
        additional state corresponding to spacecraft state