AttitudeSequence and FieldOfViewDetector Question


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 :slight_smile:

Thank you very much for your help. I hope I was clear in the problem description.

Hello @Aaron,

Welcome back to the Orekit forum!

It is already working this way indeed :wink:

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.

Does that answer your question ?


Hello Maxime,

Ok Thank you I will give it a try :).
I did notice that a few types I was using before got deprecated in v10 as well.

Thanks again :slight_smile:

You’re very welcome Aaron.

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.