This is concerned with the Drawing Projection Code /src/mod/App/DrawingExport.cpp under printEllipse (I don't know if the SVG implementation guarantees to work, there hasn't been any reported problems)
I have reduced the code so that the start and engle angle equal the first and last parameter for a trimmed curve, just to see the result of what OpenCascade Returns.
- Code: Select all
startAngle = c.FirstParameter()
endAngle = c.LastParameter();
xAxisAngle = ellp.XAxis().Direction().AngleWithyRef(gpDir(1,0,0), gpDir(0.0,-1))
Two simple test cases I try, I find one correct and the other incorrect. For both cases the angles are correct but the second is the wrong orientation. The case that fails, the parameters should be 0, -135 - I cannot see how this could be acheved by maniupulating the angles in any case.
The only difference being that the angle of the x-axis is greater. To me it seems that Opencascade isn't playing nice but I am obviously not doing something correct.
Ultimatly I cannot work this out and I would appreciate someone to help point out a solution.
Hope you can help!