+ fix ellipse problem in SVG output (j-dowsett)
+ fix wrong indentation git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5160 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
This commit is contained in:
parent
f23037936a
commit
c1bf4a6cb2
|
@ -168,8 +168,8 @@ QDockWidget* DockWindowManager::addDockWindow(const char* name, QWidget* widget,
|
||||||
QWidget* DockWindowManager::getDockWindow(const char* name) const
|
QWidget* DockWindowManager::getDockWindow(const char* name) const
|
||||||
{
|
{
|
||||||
for (QList<QDockWidget*>::ConstIterator it = d->_dockedWindows.begin(); it != d->_dockedWindows.end(); ++it) {
|
for (QList<QDockWidget*>::ConstIterator it = d->_dockedWindows.begin(); it != d->_dockedWindows.end(); ++it) {
|
||||||
if ((*it)->objectName() == QLatin1String(name))
|
if ((*it)->objectName() == QLatin1String(name))
|
||||||
return (*it)->widget();
|
return (*it)->widget();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -170,23 +170,16 @@ void SVGOutput::printEllipse(const BRepAdaptor_Curve& c, int id, std::ostream& o
|
||||||
// See also https://developer.mozilla.org/en/SVG/Tutorial/Paths
|
// See also https://developer.mozilla.org/en/SVG/Tutorial/Paths
|
||||||
gp_Dir xaxis = ellp.XAxis().Direction();
|
gp_Dir xaxis = ellp.XAxis().Direction();
|
||||||
|
|
||||||
Standard_Real angle = xaxis.Angle(gp_Dir(1,0,0));
|
Standard_Real angle = xaxis.AngleWithRef(gp_Dir(1,0,0),gp_Dir(0,0,-1));
|
||||||
Standard_Real angle2 = xaxis.Angle(gp_Dir(0,1,0));
|
|
||||||
|
|
||||||
angle = Base::toDegrees<double>(angle);
|
angle = Base::toDegrees<double>(angle);
|
||||||
angle2 = Base::toDegrees<double>(angle2);
|
|
||||||
|
|
||||||
char las = (l-f > D_PI) ? '1' : '0'; // large-arc-flag
|
char las = (l-f > D_PI) ? '1' : '0'; // large-arc-flag
|
||||||
char swp = (a < 0) ? '1' : '0'; // sweep-flag, i.e. clockwise (0) or counter-clockwise (1)
|
char swp = (a < 0) ? '1' : '0'; // sweep-flag, i.e. clockwise (0) or counter-clockwise (1)
|
||||||
|
|
||||||
if (angle2 > 90) {
|
|
||||||
angle = 180 - angle;
|
|
||||||
}
|
|
||||||
|
|
||||||
out << "<path d=\"M" << s.X() << " " << s.Y()
|
out << "<path d=\"M" << s.X() << " " << s.Y()
|
||||||
<< " A" << r1 << " " << r2 << " "
|
<< " A" << r1 << " " << r2 << " "
|
||||||
<< angle << " " << las << " " << swp << " "
|
<< angle << " " << las << " " << swp << " "
|
||||||
<< e.X() << " " << e.Y() << "\" />" << endl;
|
<< e.X() << " " << e.Y() << "\" />" << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user