
Wed, 07/10/2013 - 21:46
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?
Thanks.
Mauro
Thu, 07/11/2013 - 13:24
Hello Mauro,
Thank you very much for the revealed mistake. It is fixed in the issue 0024062 (http://tracker.dev.opencascade.org/view.php?id=24062).