offset curve direction

I can't believe it.

The documentation of Geom_OffsetCurve says:
"The Offset curve is in the direction of the normal N defined with the cross product V^T
where the vector T is given by the first derivative on the basis curve with non zero length"
(V is the reference direction).

In the code the cross product is reversed:

void Geom_OffsetCurve::D0(const Standard_Real U,
gp_Pnt& P,
gp_Pnt& Pbasis,
gp_Vec& V1basis)const
basisCurve->D1 (U, Pbasis, V1basis);
// ...
XYZ Ndir = (V1basis.XYZ()).Crossed (direction.XYZ()); // this is T^V !

So for a planar curve (with V = (0,0,1)) the offset is positive on the right and negative on the left, contrary to what the documentation says.

Can anyone confirm this?

Forum supervisor's picture

Hello Mauro,
Thank you very much for the revealed mistake. It is fixed in the issue 0024062 (