I have used the FieldOfViewDetector before but only with a constant NadirPointing attitude. I would like to be able to change the attitude now with a AttitudeSequence for instance and add in later on custom attitude.
I just have a question regarding the behaviour of the FieldOfViewDetector if I switch for example from a NadirPointing attitude to another one.
Would the boresight defined still be consistent with the new attitude? As far as I know the boresight is defined when the FieldOfView object is initialize (center argument). I think that center is relative to the attitude at time of registration, can you confirm that behaviour? If so then what happens after the attitude switch?
The behaviour I would like to get is basically just to get a fixed boresight with respect to a reference LOF (Nadir for example) and have that boresight changing with Spacecraft Pitch/Roll/Yaw introduced by the attitude switch.
If this is already working this way then, perfect
Thank you very much for your help. I hope I was clear in the problem description.
The FieldOfViewDetector entry/exit calculations are done in “spacecraft frame”.
See the method FieldOfViewDetector#g.
And “the spacecraft frame origin is at the point defined by the orbit (or absolute position-velocity-acceleration), and its orientation is defined by the attitude.” (source SpacecraftState#toTransform method).
So yes the central line of sight of your field of view will follow the attitude switch.
Yes since 10.1 there is a whole new package geometry.fov at the root of Orekit. It was designed by Luc Maisonobe.
It can help you define your fields of view more easily, with built-in types like circular field of view, elliptical, polygonal and double dihedral.
The deprecated methods in class FieldOfViewDetecor (search for @Deprecated) refer to the old way of building the detector.
The CircularFieldOfViewDetector class was also deprecated.
The correct way to do it now is to build a FieldOfViewDetector with fow.geometry.CircularFieldOfView object.