Compute Signed Distance Function For Point Cloud

Disclaimer: I have never worked with OCC before and want to asses if what I want to do can be done with OCC. I am not asking for someone to do the work for me ;)

I am working with an in-house Finite Element code, written in Fortran (with existing interfaces to other C/C++ libs). I am looking for a tool to compute signed distance functions (and a bit more) for a cloud of points in 3D space to a 3D surface, described by some kind of continuous CAD geometry (i.e., *not* STL, but something like STEP or iges, etc.)

Here is what I want to do in detail:
1. for a number of points in 3D space, compute the shortest distance to the CAD surface
2. figure out if the points of the point cloud lie inside or outside the CAD surface (i.e., sign the distance function)
3. for a different set of points in 3D space, find the closest point on the CAD surface
4. for that closest point on the CAD surface, compute the outward surface normal

I am currently using a different library that can handle STL files and I am doing all this, though I would like to handle CAD geometry directly without converting them to a discretised format like STL.

Is it possible to do the things that I want to do with OCC?
What would be a good way to start? Ultimately I want to do this from within my Fortran Finite Element code but I think to prototype everything and get started with OCC, the pythonOCC interface is most convenient, right?

Thank you