cylindrical projection of a point on a face (or a surface)

How would you compute the cylindrical projection of a point on a face (or a surface), aka pierce projection?

I have found just BRepProj_Projection, which projects an edge or wire on a shape (it is implemented be extruding the edge and sectioning the shape with it).

I am afraid I will have to create a line and call some curve/face intersection algorithm.

Ciao from Italy.
Mauro

jelle's picture

There are a couple of threads on the topic Mario, have you seen these?
[ sorry no html mark up here... using the "site" argument with google works wonders... ]
https://www.google.nl/webhp?sourceid=chrome-instant&ie=UTF-8&ion=1#hl=nl...

-jelle

Mauro Mariotti's picture

Thank you, jelle!

I had not seen them all.

Now I have searched more, either with "cylindrical" or "parallel".
Some more posts talk about "axis intersection", either with "face" or "shape".
I wish there was a keyword system to search the forum, but I understand it would be a big work to assign keywords to the every old post.

My present task is to project a point, not a curve, edge, or wire.
On http://www.opencascade.org/org/forum/thread_5436/ they suggest IntCurvesFace_ShapeIntersector.
As I have a just a face, I will try with its sub-algorithm IntCurvesFace_Intersector, passing an infinite gp_Lin.

Cheers.
Mauro

jelle's picture

Dear Mario,

I think I just saw what you are looking for:

BRepProj_Projection (const TopoDS_Shape &Wire, const TopoDS_Shape &Shape, const gp_Dir &D)
Makes a Cylindrical projection of Wire om Shape

[ doxygens docs: doc/ReferenceDocumentation/html/classBRepProj__Projection.html ]

-jelle