All,
I’m getting a java NullPointerException
trying to use the TransformProviderUtils
to reverse a TransformProvider
defined in python.
Using orekit 11.2, installed from conda-forge on the following script:
import orekit
from org.hipparchus.geometry.euclidean.threed import Rotation, Vector3D
from org.orekit.frames import Transform, StaticTransform, TransformProviderUtils, PythonTransformProvider
from org.orekit.time import AbsoluteDate
vm = orekit.initVM()
class FixedTransformProvider(PythonTransformProvider):
def __init__(self, tx:Vector3D=None, r:Rotation=None):
self.__tx = tx
self.__r = r
def getTransform(self, date:AbsoluteDate) -> Transform:
# translation is unspecified
if self.__tx is None:
# if both are none, identity transform
if self.__r is None:
return Transform.IDENTITY
# if only rotation
else:
return StaticTransform.of(date, self.__r)
# translation is specified
else:
# both translation and rotation are specified
if not self.__r is None:
return StaticTransform.of(date, self.__tx, self.__r)
# only translation
else:
return StaticTransform.of(date, self.__tx)
def getTransform_F(self, date):
pass
t1 = FixedTransformProvider(tx=Vector3D.PLUS_I)
t2 = TransformProviderUtils.getReversedProvider(t1)
print(t2.getTransform(AbsoluteDate.ARBITRARY_EPOCH).transformPosition(Vector3D.PLUS_J))
I get the following error:
orekit.JavaError: <super: <class 'JavaError'>, <JavaError object>>
Java stacktrace:
java.lang.NullPointerException
at org.orekit.frames.TransformProviderUtils$2.getTransform(TransformProviderUtils.java:84)
I’m thinking there’s something obvious I’m missing, perhaps someone could point it out?
thanks!
–joe